diff options
-rw-r--r-- | CMakeLists.txt | 109 | ||||
-rw-r--r-- | louloulibs/CMakeLists.txt | 35 |
2 files changed, 65 insertions, 79 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d6759c3..a293287 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,22 +106,15 @@ if(LITESQL_FOUND) "biboudb" LITESQL_GENERATED_SOURCES) - add_library(database STATIC src/database/database.cpp - ${LITESQL_GENERATED_SOURCES}) - target_link_libraries(database ${LITESQL_LIBRARIES} utils) - if(BOTAN_FOUND) - target_link_libraries(database ${BOTAN_LIBRARIES}) - endif() + set(source_database src/database/database.cpp ${LITESQL_GENERATED_SOURCES}) set(USE_DATABASE TRUE) +else() + set(source_database) endif() add_subdirectory("louloulibs") include_directories("louloulibs") -include_directories(${EXPAT_INCLUDE_DIRS}) -include_directories(${ICONV_INCLUDE_DIRS}) -include_directories(${LIBUUID_INCLUDE_DIRS}) - # If they are found in louloulibs CMakeLists.txt, we inherite these values if(SYSTEMD_FOUND) include_directories(${SYSTEMD_INCLUDE_DIRS}) @@ -138,85 +131,95 @@ endif() # file(GLOB source_src_utils src/utils/*.[hc]pp) -# Todo, switch to target_sources(utils) when we go cmake >=3.1 only -add_library(src_utils STATIC ${source_src_utils}) -target_link_libraries(src_utils logger config) -if(USE_DATABASE) - target_link_libraries(src_utils database) -endif() # ## irclib # file(GLOB source_irc src/irc/*.[hc]pp) -add_library(irc STATIC ${source_irc}) -target_link_libraries(irc network utils logger) # ## xmpp # file(GLOB source_xmpp src/xmpp/*.[hc]pp) -add_library(xmpp STATIC ${source_xmpp}) -target_link_libraries(xmpp xmpplib bridge network utils src_utils logger) - -if(USE_DATABASE) - target_link_libraries(xmpp database) - target_link_libraries(irc database) -endif() # ## identd # file(GLOB source_identd src/identd/*.[hc]pp) -add_library(identd STATIC ${source_identd}) -target_link_libraries(identd bridge network utils src_utils logger) # ## bridge # file(GLOB source_bridge src/bridge/*.[hc]pp) -add_library(bridge STATIC ${source_bridge}) -target_link_libraries(bridge xmpp irc utils logger) # ## Main executable # -add_executable(${PROJECT_NAME} src/main.cpp) -target_link_libraries(${PROJECT_NAME} - xmpp - irc - bridge - utils - src_utils - identd - config) -if(SYSTEMD_FOUND) - target_link_libraries(xmpp ${SYSTEMD_LIBRARIES}) -endif() +add_executable(${PROJECT_NAME} src/main.cpp + ${source_utils} + ${source_config} + ${source_logger} + ${source_network} + ${source_xmpplib} + ${source_xmpp} + ${source_src_utils} + ${source_bridge} + ${source_irc} + ${source_identd} + ${source_database}) # ## Tests # file(GLOB source_tests tests/*.cpp) -add_executable(test_suite EXCLUDE_FROM_ALL - ${source_tests}) +add_executable(test_suite EXCLUDE_FROM_ALL ${source_tests} + ${source_utils} + ${source_config} + ${source_logger} + ${source_network} + ${source_xmpplib} + ${source_xmpp} + ${source_src_utils} + ${source_bridge} + ${source_irc} + ${source_identd} + ${source_database}) + +target_link_libraries(${PROJECT_NAME} + ${EXPAT_LIBRARIES} + ${LIBUUID_LIBRARIES} + ${EXPAT_LIBRARIES}) target_link_libraries(test_suite - xmpplib - xmpp - irc - bridge - utils - config - logger - network) + ${EXPAT_LIBRARIES} + ${LIBUUID_LIBRARIES} + ${EXPAT_LIBRARIES}) +if(SYSTEMD_FOUND) + target_link_libraries(${PROJECT_NAME} ${SYSTEMD_LIBRARIES}) + target_link_libraries(test_suite ${SYSTEMD_LIBRARIES}) +endif() +if(BOTAN_FOUND) + target_link_libraries(${PROJECT_NAME} ${BOTAN_LIBRARIES}) + target_link_libraries(test_suite ${BOTAN_LIBRARIES}) +elseif(GCRYPT_FOUND) + target_link_libraries(${PROJECT_NAME} ${GCRYPT_LIBRARIES}) + target_link_libraries(test_suite ${GCRYPT_LIBRARIES}) +endif() +if(UDNS_FOUND) + target_link_libraries(${PROJECT_NAME} ${UDNS_LIBRARIES}) + target_link_libraries(test_suite ${UDNS_LIBRARIES}) +endif() +if(LIBIDN_FOUND) + target_link_libraries(${PROJECT_NAME} ${LIBIDN_LIBRARIES}) + target_link_libraries(test_suite ${LIBIDN_LIBRARIES}) +endif() if(USE_DATABASE) - target_link_libraries(test_suite - database) + target_link_libraries(${PROJECT_NAME} ${LITESQL_LIBRARIES}) + target_link_libraries(test_suite ${LITESQL_LIBRARIES}) endif() # Define a __FILENAME__ macro with the relative path (from the base project directory) diff --git a/louloulibs/CMakeLists.txt b/louloulibs/CMakeLists.txt index 2268571..e1e402f 100644 --- a/louloulibs/CMakeLists.txt +++ b/louloulibs/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.0) set(${PROJECT_NAME}_VERSION_MAJOR 1) set(${PROJECT_NAME}_VERSION_MINOR 0) @@ -51,8 +51,11 @@ include_directories(${ICONV_INCLUDE_DIRS}) include_directories(${LIBUUID_INCLUDE_DIRS}) set(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIRS} PARENT_SCOPE) +set(EXPAT_LIBRARIES ${EXPAT_LIBRARIES} PARENT_SCOPE) set(ICONV_INCLUDE_DIRS ${ICONV_INCLUDE_DIRS} PARENT_SCOPE) +set(ICONV_LIBRARIES ${ICONV_LIBRARIES} PARENT_SCOPE) set(LIBUUID_INCLUDE_DIRS ${LIBUUID_INCLUDE_DIRS} PARENT_SCOPE) +set(LIBUUID_LIBRARIES ${LIBUUID_LIBRARIES} PARENT_SCOPE) if(LIBIDN_FOUND) include_directories(${LIBIDN_INCLUDE_DIRS}) @@ -99,55 +102,35 @@ endif() # file(GLOB source_utils utils/*.[hc]pp) -add_library(utils STATIC ${source_utils}) -target_link_libraries(utils ${ICONV_LIBRARIES}) +set(source_utils ${source_utils} PARENT_SCOPE) # ## config # file(GLOB source_config config/*.[hc]pp) -add_library(config STATIC ${source_config}) +set(source_config ${source_config} PARENT_SCOPE) # ## logger # file(GLOB source_logger logger/*.[hc]pp) -add_library(logger STATIC ${source_logger}) -target_link_libraries(logger config) +set(source_logger ${source_logger} PARENT_SCOPE) # ## network # file(GLOB source_network network/*.[hc]pp) -add_library(network STATIC ${source_network}) -target_link_libraries(network logger) -if(BOTAN_FOUND) - target_link_libraries(network ${BOTAN_LIBRARIES}) -elseif(GCRYPT_FOUND) - target_link_libraries(network ${GCRYPT_LIBRARIES}) -endif() -if(UDNS_FOUND) - target_link_libraries(network ${UDNS_LIBRARIES}) -endif() +set(source_network ${source_network} PARENT_SCOPE) # ## xmpplib # file(GLOB source_xmpplib xmpp/*.[hc]pp) -add_library(xmpplib STATIC ${source_xmpplib}) -target_link_libraries(xmpplib network utils logger - ${EXPAT_LIBRARIES} - ${LIBUUID_LIBRARIES}) -if(LIBIDN_FOUND) - target_link_libraries(xmpplib ${LIBIDN_LIBRARIES}) -endif() -if(SYSTEMD_FOUND) - target_link_libraries(xmpplib ${SYSTEMD_LIBRARIES}) -endif() +set(source_xmpplib ${source_xmpplib} PARENT_SCOPE) # Define a __FILENAME__ macro with the relative path (from the base project directory) # of each source file |