• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()