gcontini
2020-01-01 0aa8472da9b9230d61c5af53bc3da48ad70b9b61
gcc static runtime
1个文件已修改
28 ■■■■ 已修改文件
CMakeLists.txt 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CMakeLists.txt
@@ -34,23 +34,30 @@
    SET(CMAKE_CROSSCOMPILING_EMULATOR "wine")    
ENDIF()
SET (OPENSSL_USE_STATIC_LIBS ON)
SET (OPENSSL_USE_STATIC_LIBS TRUE)
IF(${STATIC_RUNTIME})
    SET(OPENSSL_MSVC_STATIC_RT TRUE)
ENDIF(${STATIC_RUNTIME})
find_package(OpenSSL COMPONENTS Crypto QUIET)
IF(OPENSSL_FOUND)
    MESSAGE(STATUS "Found openssl version ${OPENSSL_VERSION}")
ENDIF(OPENSSL_FOUND)
if(UNIX) #this is true for all the linux systems but not for cross compiling "linux->windows"
    IF(${STATIC_RUNTIME})
        set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
    ENDIF(${STATIC_RUNTIME})
    IF(NOT OPENSSL_FOUND)
        MESSAGE(SEND_ERROR "Openssl required in Linux, please install it or specify -DOPENSSL_ROOT")
    ENDIF(NOT OPENSSL_FOUND)
    
    #Zlib required when openssl version < 1.0.1f (centos 7)
    SET ( ZLIB_USE_STATIC_LIBS ON )
    find_package(ZLIB REQUIRED)
    list(APPEND EXTERNAL_LIBS ${ZLIB_LIBRARIES})
    MESSAGE(STATUS "Found zlib version ${ZLIB_VERSION} ")
    IF(OPENSSL_VERSION VERSION_LESS 1.0.2)
        SET ( ZLIB_USE_STATIC_LIBS ON )
        find_package(ZLIB REQUIRED)
        list(APPEND EXTERNAL_LIBS ${ZLIB_LIBRARIES})
        MESSAGE(STATUS "Found zlib version ${ZLIB_VERSION_STRING} ")
    ENDIF(OPENSSL_VERSION VERSION_LESS 1.0.2)
    find_package(Threads)
    if(THREADS_HAVE_PTHREAD_ARG)
          list(APPEND EXTERNAL_LIBS "-pthread")
@@ -62,14 +69,6 @@
    
    find_program( MEMORYCHECK_COMMAND valgrind )
    set( MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full" )
    if(USE_DBUS_IDENTIFIER)
        FIND_PACKAGE(Dbus REQUIRED)
        add_definitions(-DUSE_DBUS)
        include_directories(${DBUS_INCLUDE_DIR})
        include_directories(${DBUS_ARCH_INCLUDE_DIR})
        list(APPEND EXTERNAL_LIBS ${DBUS_LIBRARIES})
    endif(USE_DBUS_IDENTIFIER)
    set(main_lib_dest "lib/${PROJECT_NAME}")  
else(UNIX)
    IF(NOT OPENSSL_FOUND)
@@ -151,6 +150,7 @@
        MARK_AS_ADVANCED(BUILDNAME)
        add_subdirectory(test)
    ENDIF(BUILD_TESTING)
    add_subdirectory("src/inspector")
ELSE(Boost_FOUND)
    message(WARNING "Boost not found, disabling tests")
ENDIF(Boost_FOUND)