From 3574d2181e8b5fb022f5820a8d167bc386c4db5c Mon Sep 17 00:00:00 2001 From: bergmann Date: Tue, 25 Sep 2018 21:33:53 +0200 Subject: [PATCH] * refactored cmake files --- cmake/options.cmake | 7 ++++++- src/CMakeLists.txt | 20 ++++++++++++++++---- test/CMakeLists.txt | 14 ++++++-------- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/cmake/options.cmake b/cmake/options.cmake index 451956c..b994e2d 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -1 +1,6 @@ -Option ( CPPUTILS_BUILD_SHARED "Build cpputils shared library" OFF ) \ No newline at end of file +Option ( CPPUTILS_BUILD_SHARED + "Build cpputils shared library" + ON ) +Option ( CPPUTILS_INSTALL_DEV_FILES + "Install development files of cpputils" + ON ) \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 212d041..9141b96 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,13 +13,25 @@ Set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PEDANTIC_CXX # Project: cpputils ############################################################################### +# Build Project ( cpputils VERSION 1.0.0.0 LANGUAGES CXX ) +Set ( CPPUTILS_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../include ) File ( GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ) Add_Library ( cpputils ${SOURCE_FILES} ) -Target_Include_Directories ( - cpputils - PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include - ) +Target_Include_Directories ( cpputils + PUBLIC ${CPPUTILS_INCLUDE_DIR} ) + +# Install +If ( BUILD_SHARED_LIBS OR CPPUTILS_INSTALL_DEV_FILES ) + Install ( TARGETS cpputils DESTINATION lib ) +EndIf ( ) + +If ( CPPUTILS_INSTALL_DEV_FILES ) + Install ( DIRECTORY ${CPPUTILS_INCLUDE_DIR}/cpputils DESTINATION include ) + Install ( DIRECTORY ${CPPUTILS_INCLUDE_DIR}/nlohmann DESTINATION include ) +EndIf ( ) + +# Optimize If ( __COTIRE_INCLUDED ) Cotire ( cpputils ) EndIf ( ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 289d5d0..6677a67 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -15,14 +15,12 @@ Set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PEDANTIC_CXX Project ( test_cpputils ) File ( GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ) Add_Executable ( test_cpputils EXCLUDE_FROM_ALL ${SOURCE_FILES} ) -Target_Link_Libraries ( - test_cpputils - cpputils - gtest - gmock - gmock_main - pthread - ) +Target_Link_Libraries ( test_cpputils + cpputils + gtest + gmock + gmock_main + pthread ) If ( __COTIRE_INCLUDED ) Cotire ( test_cpputils ) EndIf ( )