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) 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(gtest_CXXFLAGS "${gtest_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") 30endif() 31 32if(BUILD_LITE) 33 if(ENABLE_GITEE) 34 set(REQ_URL "https://gitee.com/mirrors/googletest/repository/archive/release-1.8.1.tar.gz") 35 set(SHA256 "9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c") 36 else() 37 set(REQ_URL "https://github.com/google/googletest/archive/release-1.8.1.tar.gz") 38 set(SHA256 "9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c") 39 endif() 40 41 mindspore_add_pkg(gtest 42 VER 1.8.1 43 LIBS gtest gmock 44 URL ${REQ_URL} 45 SHA256 ${SHA256} 46 CMAKE_OPTION ${CMAKE_OPTION}) 47else() 48 if(ENABLE_GITEE) 49 set(REQ_URL "https://gitee.com/mirrors/googletest/repository/archive/release-1.12.1.tar.gz") 50 set(SHA256 "81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2") 51 else() 52 set(REQ_URL "https://github.com/google/googletest/archive/release-1.12.1.tar.gz") 53 set(SHA256 "81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2") 54 endif() 55 56 mindspore_add_pkg(gtest 57 VER 1.12.1 58 LIBS gtest gmock 59 URL ${REQ_URL} 60 SHA256 ${SHA256} 61 CMAKE_OPTION ${CMAKE_OPTION}) 62endif() 63 64include_directories(${gtest_INC}) 65add_library(mindspore::gtest ALIAS gtest::gtest) 66add_library(mindspore::gmock ALIAS gtest::gmock) 67if(CMAKE_SYSTEM_NAME MATCHES "Windows") 68 file(COPY ${gtest_DIRPATH}/bin/libgtest${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 69 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 70 file(COPY ${gtest_DIRPATH}/bin/libgtest_main${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 71 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 72 file(COPY ${gtest_DIRPATH}/bin/libgmock_main${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 73 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 74 file(COPY ${gtest_DIRPATH}/bin/libgmock${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 75 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 76else() 77 file(COPY ${gtest_LIBPATH}/libgtest${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 78 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 79 file(COPY ${gtest_LIBPATH}/libgtest_main${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 80 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 81 file(COPY ${gtest_LIBPATH}/libgmock${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 82 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 83 file(COPY ${gtest_LIBPATH}/libgmock_main${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION 84 ${CMAKE_BINARY_DIR}/googletest/googlemock/gtest FOLLOW_SYMLINK_CHAIN) 85endif()