1set(mockcpp_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2") 2set(mockcpp_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") 3 4set(CMAKE_OPTION 5 -DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON 6 -DCMAKE_MACOSX_RPATH=TRUE) 7if(BUILD_LITE) 8 if(PLATFORM_ARM64 AND CMAKE_SYSTEM_NAME MATCHES "Android") 9 set(CMAKE_OPTION -DCMAKE_TOOLCHAIN_FILE=$ENV{ANDROID_NDK}/build/cmake/android.toolchain.cmake 10 -DANDROID_NATIVE_API_LEVEL=19 11 -DANDROID_NDK=$ENV{ANDROID_NDK} 12 -DANDROID_ABI=arm64-v8a 13 -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang 14 -DANDROID_STL=${ANDROID_STL} 15 ${CMAKE_OPTION}) 16 endif() 17 if(PLATFORM_ARM32 AND CMAKE_SYSTEM_NAME MATCHES "Android") 18 set(CMAKE_OPTION -DCMAKE_TOOLCHAIN_FILE=$ENV{ANDROID_NDK}/build/cmake/android.toolchain.cmake 19 -DANDROID_NATIVE_API_LEVEL=19 20 -DANDROID_NDK=$ENV{ANDROID_NDK} 21 -DANDROID_ABI=armeabi-v7a 22 -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang 23 -DANDROID_STL=${ANDROID_STL} 24 ${CMAKE_OPTION}) 25 endif() 26endif() 27 28if(NOT ENABLE_GLIBCXX) 29 set(mockcpp_CXXFLAGS "${mockcpp_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") 30endif() 31 32if(BUILD_LITE) 33 set(MOCKCPP_PATCH_ROOT ${TOP_DIR}/third_party/patch/mockcpp) 34else() 35 set(MOCKCPP_PATCH_ROOT ${CMAKE_SOURCE_DIR}/third_party/patch/mockcpp) 36endif() 37 38# No Gitee mirror repo yet. just use Github repo 39set(REQ_URL "https://github.com/sinojelly/mockcpp/archive/refs/tags/v2.7.tar.gz") 40set(SHA256 "73ab0a8b6d1052361c2cebd85e022c0396f928d2e077bf132790ae3be766f603") 41 42mindspore_add_pkg(mockcpp 43 VER 2.7 44 LIBS mockcpp 45 URL ${REQ_URL} 46 SHA256 ${SHA256} 47 CMAKE_OPTION ${CMAKE_OPTION} 48 PATCHES ${MOCKCPP_PATCH_ROOT}/mockcpp_support_arm64.patch) 49 50include_directories(${mockcpp_INC}) 51add_library(mindspore::mockcpp ALIAS mockcpp::mockcpp) 52if(CMAKE_SYSTEM_NAME MATCHES "Windows") 53 file(COPY ${mockcpp_DIRPATH}/lib/libmockcpp${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION 54 ${CMAKE_BINARY_DIR}/mockcpp/ FOLLOW_SYMLINK_CHAIN) 55else() 56 file(COPY ${mockcpp_DIRPATH}/lib/libmockcpp${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION 57 ${CMAKE_BINARY_DIR}/mockcpp/ FOLLOW_SYMLINK_CHAIN) 58endif()