gcontini
2019-12-01 8acd0089c42c24bb7d37d8250e08867e0bd72a0f
fix centos
4个文件已修改
45 ■■■■■ 已修改文件
CMakeLists.txt 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/library/locate/CMakeLists.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/library/os/CMakeLists.txt 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/library/os/openssl/signature_verifier.cpp 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CMakeLists.txt
@@ -52,17 +52,23 @@
    add_definitions("/D _CRT_SECURE_NO_WARNINGS")
else(MSVC)
    if(MINGW)
        list(APPEND EXTERNAL_LIBS "-lcrypt32 -lws2_32 -liphlpapi")
        list(APPEND EXTERNAL_LIBS "-lcrypt32 -lbcrypt -lws2_32 -liphlpapi")
        SET(CMAKE_EXE_LINKER_FLAGS "-static")
    endif(MINGW)
endif(MSVC)
if(UNIX) #this is true for all the linux systems but not for cross compiling "linux->windows"
    #find a static version of openssl crypto library
    SET ( OPENSSL_USE_STATIC_LIBS ON )
    find_package(OpenSSL REQUIRED COMPONENTS Crypto)
SET ( OPENSSL_USE_STATIC_LIBS ON )
find_package(OpenSSL COMPONENTS Crypto)
IF(OPENSSL_FOUND)
    add_definitions(-DHAS_OPENSSL)
    include_directories(${OPENSSL_INCLUDE_DIR})
    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(NOT OPENSSL_FOUND)
        MESSAGE(SEND_ERROR "Openssl not found - required in Linux")
    ENDIF(NOT OPENSSL_FOUND)
    
    find_package(Threads)
    if(THREADS_HAVE_PTHREAD_ARG)
src/library/locate/CMakeLists.txt
@@ -1,4 +1,3 @@
ADD_LIBRARY(locators STATIC
    ApplicationFolder.cpp
    EnvironmentVarLocation.cpp
src/library/os/CMakeLists.txt
@@ -1,20 +1,17 @@
IF(UNIX)
IF(UNIX OR OPENSSL_FOUND)
    ADD_LIBRARY(os STATIC
        openssl/signature_verifier.cpp
        os.c
        os-linux.c
        network_id.c)
    target_link_libraries(
         os
         base
         OpenSSL::Crypto
         ${EXTERNAL_LIBS}
         ${CMAKE_DL_LIBS}
         ##ZLIB::ZLIB
    )
ELSE(UNIX)
    if (CMAKE_VERSION VERSION_GREATER 3.5)
        target_link_libraries(os base OpenSSL::Crypto ${EXTERNAL_LIBS} ${CMAKE_DL_LIBS})
    #patch for old cmake in Centos 7
    ELSE(CMAKE_VERSION VERSION_GREATER 3.5)
        target_link_libraries(os base ${OPENSSL_CRYPTO_LIBRARY} ${EXTERNAL_LIBS} ${CMAKE_DL_LIBS})
    ENDIF(CMAKE_VERSION VERSION_GREATER 3.5)
ELSE(UNIX OR OPENSSL_FOUND)
    ADD_LIBRARY(os STATIC
        windows/signature_verifier.cpp
        os.c
@@ -23,7 +20,8 @@
    target_link_libraries(
         os
         base
         ${EXTERNAL_LIBS}
    )
ENDIF(UNIX)
ENDIF(UNIX OR OPENSSL_FOUND)
install(TARGETS os ARCHIVE DESTINATION lib/${PROJECT_NAME}/${LCC_PROJECT_NAME})
src/library/os/openssl/signature_verifier.cpp
@@ -10,6 +10,10 @@
#include <stdlib.h>
#include <errno.h>
#ifdef _WIN32
#include <windows.h>
#endif
#include <public_key.h>
#include "../signature_verifier.h"