From e46af93bcc91a1f5660c22ade7c9dedead5a772a Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 30 11月 2019 23:24:58 +0800 Subject: [PATCH] fix centos --- CMakeLists.txt | 46 +++++++++++++++++++--------------------------- 1 files changed, 19 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f3bd3e..882174e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,13 +23,14 @@ ENDIF(NOT LCC_PROJECTS_BASE_DIR) project (licensecc C CXX ) -SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") #find lcc executable or build it. find_package(lcc REQUIRED) -#Not sure about this. My system doesn't support binfmt misc +#In case the build system doesn't support binfmt misc IF( ( CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" ) AND CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR ) SET(CMAKE_CROSSCOMPILING_EMULATOR "wine") ENDIF() @@ -39,7 +40,7 @@ target_architecture( TARGET_ARCHITECTURE ) message(STATUS "architecture detected: ${TARGET_ARCHITECTURE}") - #Boost > 3.15 handle the /MD flag more nicely than this + #cmake > 3.15 handle the /MD flag more nicely than this if(${STATIC_RUNTIME}) string(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") @@ -61,22 +62,20 @@ SET ( OPENSSL_USE_STATIC_LIBS ON ) find_package(OpenSSL REQUIRED COMPONENTS Crypto) include_directories(${OPENSSL_INCLUDE_DIR}) - #list(APPEND EXTERNAL_LIBS ${OPENSSL_CRYPTO_LIBRARY}) - #find_package(Threads) - #if(THREADS_HAVE_PTHREAD_ARG) - # list(APPEND EXTERNAL_LIBS "-pthread") - #else(THREADS_HAVE_PTHREAD_ARG) - # if(CMAKE_THREAD_LIBS_INIT) - # list(APPEND EXTERNAL_LIBS "${CMAKE_THREAD_LIBS_INIT}") - # endif() - #endif(THREADS_HAVE_PTHREAD_ARG) MESSAGE(STATUS "Found openssl version ${OPENSSL_VERSION} ") - #Zlib required when openssl version < 1.0.1f - #SET ( ZLIB_USE_STATIC_LIBS ON ) - #find_package(ZLIB REQUIRED) - #MESSAGE(STATUS "Found zlib version ${ZLIB_VERSION} ") + + find_package(Threads) + if(THREADS_HAVE_PTHREAD_ARG) + list(APPEND EXTERNAL_LIBS "-pthread") + else(THREADS_HAVE_PTHREAD_ARG) + if(CMAKE_THREAD_LIBS_INIT) + list(APPEND EXTERNAL_LIBS "${CMAKE_THREAD_LIBS_INIT}") + endif() + endif(THREADS_HAVE_PTHREAD_ARG) + 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) @@ -84,12 +83,9 @@ include_directories(${DBUS_ARCH_INCLUDE_DIR}) list(APPEND EXTERNAL_LIBS ${DBUS_LIBRARIES}) endif(USE_DBUS_IDENTIFIER) - if(NOT MINGW) - list(APPEND EXTERNAL_LIBS ${CMAKE_DL_LIBS}) - endif(NOT MINGW) endif(UNIX) - +#initialize project #load the current project from files or find it from environment variables or create a default one set(LCC_INCLUDE_DIR "${LCC_PROJECTS_BASE_DIR}/${LCC_PROJECT_NAME}/include/${PROJECT_NAME}/${LCC_PROJECT_NAME}" ) set(LCC_PROJECT_PUBLIC_KEY "${LCC_INCLUDE_DIR}/public_key.h" ) @@ -101,10 +97,9 @@ COMMENT "generating ${LCC_PROJECT_PUBLIC_KEY}" USES_TERMINAL ) - add_custom_target(project_initialize DEPENDS "${LCC_PROJECT_PUBLIC_KEY}" "${LCC_PROJECT_PRIVATE_KEY}") -include_directories( ${LCC_INCLUDE_DIR} ${CMAKE_BINARY_DIR} ) +include_directories( ${LCC_INCLUDE_DIR} ${CMAKE_BINARY_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/include") message( STATUS "C compiler : " ${CMAKE_C_COMPILER}) message( STATUS "C compiler flags : " ${CMAKE_C_FLAGS}) @@ -119,6 +114,7 @@ message( STATUS "Project name : " ${LCC_PROJECT_NAME} ) message( STATUS "Project base dir : " ${LCC_PROJECTS_BASE_DIR}/${LCC_PROJECT_NAME} ) +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include) add_subdirectory(src) #boost is required only for tests @@ -133,7 +129,7 @@ message(STATUS "Compiler architecture: ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}") endif() SET( Boost_USE_STATIC_LIBS ON ) -find_package(Boost REQUIRED COMPONENTS date_time unit_test_framework program_options system filesystem) +find_package(Boost COMPONENTS unit_test_framework system filesystem) #if boost is found enable tests IF(Boost_FOUND) @@ -141,12 +137,8 @@ IF(BUILD_TESTING) SET(BUILDNAME "${BUILDNAME}" CACHE STRING "Name of build on the dashboard") MARK_AS_ADVANCED(BUILDNAME) - add_definitions(-DBOOST_ALL_NO_LIB) #Disable Boost Microsoft magic, all dependencies are handled by cmake - add_definitions(-DBOOST_LIB_DIAGNOSTIC) #Check it is really disabled - include_directories(${Boost_INCLUDE_DIRS}) add_subdirectory(test) ENDIF(BUILD_TESTING) ELSE(Boost_FOUND) message(WARNING "Boost not found, disabling tests") ENDIF(Boost_FOUND) - -- Gitblit v1.9.1