1set(gtest_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2") 2set(gtest_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 -Dgtest_disable_pthreads=ON) 7if(BUILD_LITE) 8 if(PLATFORM_ARM64) 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) 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() 26else() 27 if(NOT ENABLE_GLIBCXX) 28 set(gtest_CXXFLAGS "${gtest_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") 29 endif() 30endif() 31 32if(ENABLE_GITEE) 33 set(REQ_URL "https://gitee.com/mirrors/googletest/repository/archive/release-1.8.1.tar.gz") 34 set(MD5 "0ec077324f27c2685635ad4cc9bdc263") 35else() 36 set(REQ_URL "https://github.com/google/googletest/archive/release-1.8.1.tar.gz") 37 set(MD5 "2e6fbeb6a91310a16efe181886c59596") 38endif() 39 40mindspore_add_pkg(gtest 41 VER 1.8.1 42 LIBS gtest gmock 43 URL ${REQ_URL} 44 MD5 ${MD5} 45 CMAKE_OPTION ${CMAKE_OPTION}) 46include_directories(${gtest_INC}) 47add_library(mindspore::gtest ALIAS gtest::gtest) 48add_library(mindspore::gmock ALIAS gtest::gmock) 49if(CMAKE_SYSTEM_NAME MATCHES "Windows") 50 file(COPY ${gtest_DIRPATH}/bin/libgtest${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 51 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest) 52 file(COPY ${gtest_DIRPATH}/bin/libgtest_main${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 53 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest) 54else() 55 file(COPY ${gtest_LIBPATH}/libgtest${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 56 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest) 57 file(COPY ${gtest_LIBPATH}/libgtest_main${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 58 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest) 59endif() 60