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