• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if(BUILD_LITE)
2    if(MSVC)
3        set(glog_CXXFLAGS "${CMAKE_CXX_FLAGS} -Dgoogle=mindspore_private")
4        set(glog_CFLAGS "${CMAKE_C_FLAGS}")
5        set(glog_LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
6        if(DEBUG_MODE)
7            set(glog_Debug ON)
8        endif()
9    else()
10        set(glog_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 ${SECURE_CXX_FLAGS} -Dgoogle=mindspore_private")
11        set(glog_CFLAGS "-D_FORTIFY_SOURCE=2 -O2 ${SECURE_C_FLAGS}")
12        set(glog_LDFLAGS "${SECURE_SHARED_LINKER_FLAGS}")
13    endif()
14    set(glog_patch ${TOP_DIR}/third_party/patch/glog/glog.patch001)
15    set(glog_lib mindspore_glog)
16else()
17    if(MSVC)
18        # add "/EHsc", for vs2019 warning C4530 about glog
19        set(glog_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 ${SECURE_CXX_FLAGS} -Dgoogle=mindspore_private /EHsc")
20        if(DEBUG_MODE)
21            set(glog_Debug ON)
22        endif()
23    else()
24        set(glog_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 ${SECURE_CXX_FLAGS} -Dgoogle=mindspore_private")
25    endif()
26    set(glog_CFLAGS "-D_FORTIFY_SOURCE=2 -O2")
27    set(glog_patch ${CMAKE_SOURCE_DIR}/third_party/patch/glog/glog.patch001)
28    set(glog_lib mindspore_glog)
29endif()
30
31if(NOT ENABLE_GLIBCXX)
32    set(glog_CXXFLAGS "${glog_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
33endif()
34
35if(ENABLE_GITEE OR ENABLE_GITEE_EULER) # Channel GITEE_EULER is NOT supported now, use GITEE instead.
36    set(REQ_URL "https://gitee.com/mirrors/glog/repository/archive/v0.4.0.tar.gz")
37    set(SHA256 "e17cd4bb7c06951a12fc9db5130ec63a9f090b84340b8556fa0d530f73c6b634")
38else()
39    set(REQ_URL "https://github.com/google/glog/archive/v0.4.0.tar.gz")
40    set(SHA256 "f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c")
41endif()
42
43set(glog_option -DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_GFLAGS=OFF
44        -DCMAKE_BUILD_TYPE=Release)
45
46if(WIN32 AND NOT MSVC)
47    if(CMAKE_SIZEOF_VOID_P EQUAL 4)
48        set(glog_option ${glog_option} -DHAVE_DBGHELP=ON)
49    endif()
50endif()
51
52if(ANDROID_NDK)
53    if(PLATFORM_ARM64)
54        set(glog_option -DCMAKE_TOOLCHAIN_FILE=$ENV{ANDROID_NDK}/build/cmake/android.toolchain.cmake
55                -DANDROID_NATIVE_API_LEVEL=19
56                -DANDROID_NDK=$ENV{ANDROID_NDK}
57                -DANDROID_ABI=arm64-v8a
58                -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang
59                -DANDROID_STL=${ANDROID_STR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${glog_option})
60    elseif(PLATFORM_ARM32)
61        set(glog_option -DCMAKE_TOOLCHAIN_FILE=$ENV{ANDROID_NDK}/build/cmake/android.toolchain.cmake
62                -DANDROID_NATIVE_API_LEVEL=19
63                -DANDROID_NDK=$ENV{ANDROID_NDK}
64                -DANDROID_ABI=armeabi-v7a
65                -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang
66                -DANDROID_STL=${ANDROID_STR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${glog_option})
67    endif()
68endif()
69
70mindspore_add_pkg(glog
71        VER 0.4.0
72        LIBS ${glog_lib}
73        URL ${REQ_URL}
74        SHA256 ${SHA256}
75        PATCHES ${glog_patch}
76        CMAKE_OPTION ${glog_option})
77include_directories(${glog_INC})
78add_library(mindspore::glog ALIAS glog::${glog_lib})
79