From 085c858c44ecc9d7c2e8fd8d093ffbc12eb90244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 9 Nov 2016 18:11:37 +0100 Subject: Start version 5.0 --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 2301123..4b51b87 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,9 +2,9 @@ cmake_minimum_required(VERSION 3.0) project(biboumi) -set(${PROJECT_NAME}_VERSION_MAJOR 4) +set(${PROJECT_NAME}_VERSION_MAJOR 5) set(${PROJECT_NAME}_VERSION_MINOR 0) -set(${PROJECT_NAME}_VERSION_SUFFIX "") +set(${PROJECT_NAME}_VERSION_SUFFIX "~dev") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pedantic -Wall -Wextra") if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") -- cgit v1.2.3 From d872c2b49214c0a4db40a9e2d860802d9eedc563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 15 Nov 2016 00:23:19 +0100 Subject: Support the ident protocol fix #3211 --- CMakeLists.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b51b87..10815b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,6 +154,19 @@ if(USE_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) + +if(USE_DATABASE) + target_link_libraries(xmpp database) + target_link_libraries(irc database) +endif() + # ## bridge # @@ -172,6 +185,7 @@ target_link_libraries(${PROJECT_NAME} bridge utils src_utils + identd config) if(SYSTEMD_FOUND) target_link_libraries(xmpp ${SYSTEMD_LIBRARIES}) -- cgit v1.2.3 From 4ab3cd653f3eb19ff82838f777984c9d16e64a80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 15 Nov 2016 00:49:55 +0100 Subject: Fix some little compilation errors with some configs, from last commit --- CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 10815b7..0faaf12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -162,11 +162,6 @@ file(GLOB source_identd add_library(identd STATIC ${source_identd}) target_link_libraries(identd bridge network utils src_utils logger) -if(USE_DATABASE) - target_link_libraries(xmpp database) - target_link_libraries(irc database) -endif() - # ## bridge # -- cgit v1.2.3 From 807ac95e798185aca35d6b2f3bf425a9c8b03744 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Thu, 8 Dec 2016 02:32:49 +0100 Subject: Use a portable way to get the relative paths into __FILENAME__ --- CMakeLists.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 0faaf12..6a3c3e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,10 +11,6 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage --coverage") endif() -# Define a __FILENAME__ macro to get the filename of each file, instead of -# the full path as in __FILE__ -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'") - # ## Look for external libraries # @@ -207,6 +203,14 @@ if(USE_DATABASE) database) endif() +# Define a __FILENAME__ macro with the relative path (from the base project directory) +# of each source file +file(GLOB_RECURSE source_all src/*.[hc]pp tests/*.[hc]pp) +foreach(file ${source_all}) + file(RELATIVE_PATH shorter_file ${CMAKE_CURRENT_SOURCE_DIR} ${file}) + set_property(SOURCE ${file} APPEND PROPERTY COMPILE_DEFINITIONS __FILENAME__="${shorter_file}") +endforeach() + include(ExternalProject) ExternalProject_Add(catch GIT_REPOSITORY "https://lab.louiz.org/louiz/Catch.git" -- cgit v1.2.3 From 4860201d8c1429073e009945f42745269daa31a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sat, 10 Dec 2016 19:03:11 +0100 Subject: Add a make coverage target to merge all other coverages, and upload to codecov --- CMakeLists.txt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a3c3e6..f25a6ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -241,14 +241,23 @@ add_custom_target(e2e_valgrind COMMAND "E2E_BIBOUMI_SUPP_DIR=${CMAKE_CURRENT_SOU # if(CMAKE_BUILD_TYPE MATCHES Debug) include(CodeCoverage) - SETUP_TARGET_FOR_COVERAGE(coverage - test_suite - coverage - ) + SETUP_TARGET_FOR_COVERAGE(coverage_check + make + coverage_test_suite + check) SETUP_TARGET_FOR_COVERAGE(coverage_e2e make coverage_e2e e2e) + + ADD_CUSTOM_TARGET(coverage + COMMAND ${LCOV_PATH} -a coverage_e2e.info -a coverage_test_suite.info -o coverage_total.info + + COMMAND ${GENHTML_PATH} -o coverage_total coverage_total.info + + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) + endif() # -- cgit v1.2.3 From 3cd0f7bbc000531411b752215469fb6ffb84b4f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 4 Jan 2017 01:44:46 +0100 Subject: Use fsanitize=address and undefined in debug builds if ubsan and asan are there --- CMakeLists.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index f25a6ff..4cc8121 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,10 +6,26 @@ set(${PROJECT_NAME}_VERSION_MAJOR 5) set(${PROJECT_NAME}_VERSION_MINOR 0) set(${PROJECT_NAME}_VERSION_SUFFIX "~dev") +find_library(LIBASAN NAMES asan libasan.so.3 libasan.so.2 libasan.so.1) +find_library(LIBUBSAN NAMES ubsan libubsan.so.0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pedantic -Wall -Wextra") if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage --coverage") endif() +if(LIBASAN) + message(STATUS "Libasan found.") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address") +else() + message(STATUS "Libasan NOT found.") +endif() +if(LIBUBSAN) + message(STATUS "Libubsan found.") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=undefined") +else() + message(STATUS "Libubsan NOT found.") +endif() + # ## Look for external libraries -- cgit v1.2.3 From 493b0d1754b8efecba6dc9ef8d0883b038c73a2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 4 Jan 2017 01:46:38 +0100 Subject: Remove the PrintBuildParameter make target --- CMakeLists.txt | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cc8121..5e06947 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -310,19 +310,6 @@ add_custom_target(rpm COMMAND rpmbuild --define "_topdir `pwd`/rpmbuild/" --define "_sourcedir `pwd`" -ba biboumi.spec ) -if(BOTAN_FOUND) - set(STR_WITH_BOTAN "Botan: yes") -else() - set(STR_WITH_BOTAN "Botan: no") -endif() -if(CARES_FOUND) - set(STR_WITH_CARES "c-ares: yes") -else() - set(STR_WITH_CARES "c-ares: no") -endif() -add_custom_target(PrintBuildParameters ALL - ${CMAKE_COMMAND} -E cmake_echo_color --cyan "Compiling ${PROJECT_NAME} with ${STR_WITH_BOTAN}, ${STR_WITH_CARES}") - configure_file(biboumi.h.cmake src/biboumi.h) set(SYSTEMD_SERVICE_TYPE_DOCSTRING "The value used as the Type= in the systemd unit file.") -- cgit v1.2.3 From 5b56007828f20c763df3f36ceed809188880663e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Fri, 6 Jan 2017 22:58:18 +0100 Subject: Use udns instead of c-ares fix #3226 --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e06947..7d934ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,8 +129,8 @@ endif() if(BOTAN_FOUND) include_directories(SYSTEM ${BOTAN_INCLUDE_DIRS}) endif() -if(CARES_FOUND) - include_directories(${CARES_INCLUDE_DIRS}) +if(UDNS_FOUND) + include_directories(${UDNS_INCLUDE_DIRS}) endif() # -- cgit v1.2.3 From 479b7189935baa4ca9c9d2a5525bdb1fbd8b9fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 1 Feb 2017 18:37:51 +0100 Subject: Only use the C.UTF-8 LANG value --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d934ef..1766e58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -331,8 +331,8 @@ if(NOT DEFINED SERVICE_GROUP) endif() configure_file(unit/biboumi.service.cmake biboumi.service) -# The date MUST be in english format -set(ENV{LANG} "en_US.utf-8") +# Force the format of the date output +set(ENV{LANG} "C.UTF-8") execute_process(COMMAND "date" "+%a %b %d %Y" OUTPUT_VARIABLE RPM_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) unset(ENV{LANG}) -- cgit v1.2.3 From 835c650ef5a7297cc8bd0d6e0799186e6a5d2126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 1 Feb 2017 20:33:16 +0100 Subject: Actually, just use the C locale for the date formats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We don’t need any UTF-8 support here, and it’s more portable --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 1766e58..da9cf37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -332,7 +332,7 @@ endif() configure_file(unit/biboumi.service.cmake biboumi.service) # Force the format of the date output -set(ENV{LANG} "C.UTF-8") +set(ENV{LANG} "C") execute_process(COMMAND "date" "+%a %b %d %Y" OUTPUT_VARIABLE RPM_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) unset(ENV{LANG}) -- cgit v1.2.3 From 03d608e9a71a05895c2d85933ad69f1701ca6105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 7 Mar 2017 01:24:17 +0100 Subject: Improve the make coverage_* commands --- CMakeLists.txt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index da9cf37..d6759c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -258,13 +258,15 @@ add_custom_target(e2e_valgrind COMMAND "E2E_BIBOUMI_SUPP_DIR=${CMAKE_CURRENT_SOU if(CMAKE_BUILD_TYPE MATCHES Debug) include(CodeCoverage) SETUP_TARGET_FOR_COVERAGE(coverage_check - make - coverage_test_suite - check) + ./test_suite + coverage_test_suite) + add_dependencies(coverage_check test_suite) + SETUP_TARGET_FOR_COVERAGE(coverage_e2e - make + python3 coverage_e2e - e2e) + ${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/) + add_dependencies(coverage_e2e biboumi) ADD_CUSTOM_TARGET(coverage COMMAND ${LCOV_PATH} -a coverage_e2e.info -a coverage_test_suite.info -o coverage_total.info -- cgit v1.2.3 From 2013ed6f98c0bffdb00fe06df5dca1d1ad422305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Fri, 10 Mar 2017 10:20:03 +0100 Subject: cmake: Remove the intermediate static libs Should compile faster (and also take less space on disk) --- CMakeLists.txt | 111 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 59 insertions(+), 52 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index d6759c3..24c6bec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,22 +106,14 @@ if(LITESQL_FOUND) "biboudb" LITESQL_GENERATED_SOURCES) - add_library(database STATIC src/database/database.cpp + add_library(database OBJECT 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(USE_DATABASE TRUE) 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 +130,100 @@ 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() +add_library(src_utils OBJECT ${source_src_utils}) # ## irclib # file(GLOB source_irc src/irc/*.[hc]pp) -add_library(irc STATIC ${source_irc}) -target_link_libraries(irc network utils logger) +add_library(irc OBJECT ${source_irc}) # ## 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() +add_library(xmpp OBJECT ${source_xmpp}) # ## 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) +add_library(identd OBJECT ${source_identd}) # ## bridge # file(GLOB source_bridge src/bridge/*.[hc]pp) -add_library(bridge STATIC ${source_bridge}) -target_link_libraries(bridge xmpp irc utils logger) +add_library(bridge OBJECT ${source_bridge}) # ## 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 + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $<$:$>) # ## 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} + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $<$:$>) + +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) -- cgit v1.2.3 From 2b6b577375cad899bcd4c00b8ea91fb5ef4c907c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Fri, 10 Mar 2017 11:11:08 +0100 Subject: cmake: do not use intermediate libraries at all (not even OBJECTS) --- CMakeLists.txt | 54 +++++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 24c6bec..a293287 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,9 +106,10 @@ if(LITESQL_FOUND) "biboudb" LITESQL_GENERATED_SOURCES) - add_library(database OBJECT src/database/database.cpp - ${LITESQL_GENERATED_SOURCES}) + set(source_database src/database/database.cpp ${LITESQL_GENERATED_SOURCES}) set(USE_DATABASE TRUE) +else() + set(source_database) endif() add_subdirectory("louloulibs") @@ -130,51 +131,46 @@ endif() # file(GLOB source_src_utils src/utils/*.[hc]pp) -add_library(src_utils OBJECT ${source_src_utils}) # ## irclib # file(GLOB source_irc src/irc/*.[hc]pp) -add_library(irc OBJECT ${source_irc}) # ## xmpp # file(GLOB source_xmpp src/xmpp/*.[hc]pp) -add_library(xmpp OBJECT ${source_xmpp}) # ## identd # file(GLOB source_identd src/identd/*.[hc]pp) -add_library(identd OBJECT ${source_identd}) # ## bridge # file(GLOB source_bridge src/bridge/*.[hc]pp) -add_library(bridge OBJECT ${source_bridge}) # ## Main executable # 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 @@ -182,17 +178,17 @@ add_executable(${PROJECT_NAME} src/main.cpp file(GLOB source_tests tests/*.cpp) 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} -- cgit v1.2.3 From a6f6e36594979a83ad16b3c4de350ed95e79daf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sun, 12 Mar 2017 16:51:19 +0100 Subject: cmake: Improve the usage of PARENT_SCOPE --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index a293287..cffda7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -193,11 +193,11 @@ add_executable(test_suite EXCLUDE_FROM_ALL ${source_tests} target_link_libraries(${PROJECT_NAME} ${EXPAT_LIBRARIES} ${LIBUUID_LIBRARIES} - ${EXPAT_LIBRARIES}) + ${EXPAT_LIBRARY}) target_link_libraries(test_suite ${EXPAT_LIBRARIES} ${LIBUUID_LIBRARIES} - ${EXPAT_LIBRARIES}) + ${EXPAT_LIBRARY}) if(SYSTEMD_FOUND) target_link_libraries(${PROJECT_NAME} ${SYSTEMD_LIBRARIES}) target_link_libraries(test_suite ${SYSTEMD_LIBRARIES}) -- cgit v1.2.3 From 7bf2402cad684e290eeef543bd219398a6ce080c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sun, 12 Mar 2017 16:51:46 +0100 Subject: cmake: Correctly use the iconv libraries instead of twice the expat one --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index cffda7b..155e995 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,11 +191,11 @@ add_executable(test_suite EXCLUDE_FROM_ALL ${source_tests} ${source_database}) target_link_libraries(${PROJECT_NAME} - ${EXPAT_LIBRARIES} + ${ICONV_LIBRARIES} ${LIBUUID_LIBRARIES} ${EXPAT_LIBRARY}) target_link_libraries(test_suite - ${EXPAT_LIBRARIES} + ${ICONV_LIBRARIES} ${LIBUUID_LIBRARIES} ${EXPAT_LIBRARY}) if(SYSTEMD_FOUND) -- cgit v1.2.3 From 0ab40dc1ab4e689921da54080b135e1d22b1c586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 14 Mar 2017 21:45:23 +0100 Subject: Refactoring louloulibs and cmake Use OBJECT libraries Remove the louloulibs directory Write FOUND variables in the cache --- CMakeLists.txt | 260 ++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 166 insertions(+), 94 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 155e995..55cee2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,34 +6,28 @@ set(${PROJECT_NAME}_VERSION_MAJOR 5) set(${PROJECT_NAME}_VERSION_MINOR 0) set(${PROJECT_NAME}_VERSION_SUFFIX "~dev") +# +## Find optional instrumentation libraries that will be used in debug only +# find_library(LIBASAN NAMES asan libasan.so.3 libasan.so.2 libasan.so.1) find_library(LIBUBSAN NAMES ubsan libubsan.so.0) +# +## Set various debug flags (instrumentation libs, coverage, …) +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pedantic -Wall -Wextra") if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage --coverage") endif() if(LIBASAN) - message(STATUS "Libasan found.") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address") -else() - message(STATUS "Libasan NOT found.") endif() if(LIBUBSAN) - message(STATUS "Libubsan found.") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=undefined") -else() - message(STATUS "Libubsan NOT found.") endif() - # -## Look for external libraries -# -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/") - -# -## Get the software version +## Set the software version, archive name, RPM name etc # set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}) set(RPM_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}) @@ -62,16 +56,8 @@ endif() set(SOFTWARE_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}${${PROJECT_NAME}_VERSION_SUFFIX}) -include(CheckFunctionExists) -check_function_exists(ppoll HAVE_PPOLL_FUNCTION) - -# To be able to include the config.h and other files generated by cmake -include_directories("${CMAKE_CURRENT_BINARY_DIR}/src/") -include_directories("${CMAKE_CURRENT_SOURCE_DIR}/src/") -include_directories("${CMAKE_CURRENT_BINARY_DIR}/") - # -## Documentation +## The rule that generates the documentation # execute_process(COMMAND "date" "+%Y-%m-%d" OUTPUT_VARIABLE DOC_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -94,28 +80,57 @@ if (NOT PANDOC_EXECUTABLE) endif() mark_as_advanced(PANDOC_EXECUTABLE) -# Look for litesql and enable the database if found -if(WITH_LITESQL) - find_package(LITESQL REQUIRED) -elseif(NOT WITHOUT_LITESQL) - find_package(LITESQL) +# +## Set this search path for cmake, to find our custom search modules +# +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/") +find_package(ICONV REQUIRED) +find_package(LIBUUID REQUIRED) +find_package(EXPAT REQUIRED) + +# +## Find all the libraries (optional or not) +# +if(WITH_LIBIDN) + find_package(LIBIDN REQUIRED) +elseif(NOT WITHOUT_LIBIDN) + find_package(LIBIDN) endif() -if(LITESQL_FOUND) - LITESQL_GENERATE_CPP("database/database.xml" - "biboudb" - LITESQL_GENERATED_SOURCES) +if(WITH_SYSTEMD) + find_package(SYSTEMD REQUIRED) +elseif(NOT WITHOUT_SYSTEMD) + find_package(SYSTEMD) +endif() - set(source_database src/database/database.cpp ${LITESQL_GENERATED_SOURCES}) - set(USE_DATABASE TRUE) -else() - set(source_database) +if(WITH_BOTAN) + find_package(BOTAN REQUIRED) +elseif(NOT WITHOUT_BOTAN) + find_package(BOTAN) endif() -add_subdirectory("louloulibs") -include_directories("louloulibs") +if(NOT BOTAN_FOUND) + find_package(GCRYPT REQUIRED) +endif() -# If they are found in louloulibs CMakeLists.txt, we inherite these values +if(WITH_UDNS) + find_package(UDNS REQUIRED) +elseif(NOT WITHOUT_UDNS) + find_package(UDNS) +endif() + +if(WITH_LITESQL) + find_package(LITESQL REQUIRED) +elseif(NOT WITHOUT_LITESQL) + find_package(LITESQL) +endif() + +# +## Set all the include directories, depending on what libraries are used +# +include_directories(${EXPAT_INCLUDE_DIRS}) +include_directories(${ICONV_INCLUDE_DIRS}) +include_directories(${LIBUUID_INCLUDE_DIRS}) if(SYSTEMD_FOUND) include_directories(${SYSTEMD_INCLUDE_DIRS}) endif() @@ -126,70 +141,92 @@ if(UDNS_FOUND) include_directories(${UDNS_INCLUDE_DIRS}) endif() -# -## utils -# -file(GLOB source_src_utils - src/utils/*.[hc]pp) +# To be able to include the config.h and other files generated by cmake +include_directories("${CMAKE_CURRENT_BINARY_DIR}/src/") +include_directories("${CMAKE_CURRENT_SOURCE_DIR}/src/") +include_directories("${CMAKE_CURRENT_BINARY_DIR}/") # -## irclib +## Define all the modules # + +file(GLOB source_utils + src/utils/*.[hc]pp) +add_library(utils OBJECT ${source_utils}) + file(GLOB source_irc - src/irc/*.[hc]pp) + src/irc/*.[hc]pp) +add_library(irc OBJECT ${source_irc}) -# -## xmpp -# file(GLOB source_xmpp - src/xmpp/*.[hc]pp) + src/xmpp/*.[hc]pp) +add_library(xmpp OBJECT ${source_xmpp}) -# -## identd -# file(GLOB source_identd - src/identd/*.[hc]pp) + src/identd/*.[hc]pp) +add_library(identd OBJECT ${source_identd}) -# -## bridge -# file(GLOB source_bridge - src/bridge/*.[hc]pp) + src/bridge/*.[hc]pp) +add_library(bridge OBJECT ${source_bridge}) -# -## Main executable -# -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}) +file(GLOB source_config + src/config/*.[hc]pp) +add_library(config OBJECT ${source_config}) + +file(GLOB source_logger + src/logger/*.[hc]pp) +add_library(logger OBJECT ${source_logger}) + +file(GLOB source_network + src/network/*.[hc]pp) +add_library(network OBJECT ${source_network}) + +if(LITESQL_FOUND) + LITESQL_GENERATE_CPP("database/database.xml" + "biboudb" + LITESQL_GENERATED_SOURCES) + + add_library(database OBJECT src/database/database.cpp + ${LITESQL_GENERATED_SOURCES}) + set(USE_DATABASE TRUE) +else() + add_library(database OBJECT "") +endif() # -## Tests +## Define the executables # + +## main +add_executable(${PROJECT_NAME} src/main.cpp + $ + $ + $ + $ + $ + $ + $ + $ + $) + +## test_suite file(GLOB source_tests tests/*.cpp) -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}) +add_executable(test_suite ${source_tests} + $ + $ + $ + $ + $ + $ + $ + $ + $) +# +## Link the executables with their libraries +# target_link_libraries(${PROJECT_NAME} ${ICONV_LIBRARIES} ${LIBUUID_LIBRARIES} @@ -230,6 +267,9 @@ foreach(file ${source_all}) set_property(SOURCE ${file} APPEND PROPERTY COMPILE_DEFINITIONS __FILENAME__="${shorter_file}") endforeach() +# +## Add a rule to download the catch unit test framework +# include(ExternalProject) ExternalProject_Add(catch GIT_REPOSITORY "https://lab.louiz.org/louiz/Catch.git" @@ -247,17 +287,16 @@ if(NOT EXISTS ${CMAKE_SOURCE_DIR}/tests/catch.hpp) ) add_dependencies(test_suite catch) endif() + +# +## Add some custom rules to launch the tests +# add_custom_target(check COMMAND "test_suite" DEPENDS test_suite biboumi) add_custom_target(e2e COMMAND "python3" "${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" DEPENDS biboumi) add_custom_target(e2e_valgrind COMMAND "E2E_BIBOUMI_SUPP_DIR=${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" "E2E_BIBOUMI_VALGRIND=1" "python3" "${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" DEPENDS biboumi) - - -# -## Code coverage -# if(CMAKE_BUILD_TYPE MATCHES Debug) include(CodeCoverage) SETUP_TARGET_FOR_COVERAGE(coverage_check @@ -278,7 +317,6 @@ if(CMAKE_BUILD_TYPE MATCHES Debug) WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) - endif() # @@ -315,8 +353,9 @@ add_custom_target(rpm COMMAND rpmbuild --define "_topdir `pwd`/rpmbuild/" --define "_sourcedir `pwd`" -ba biboumi.spec ) -configure_file(biboumi.h.cmake src/biboumi.h) - +# +## Set some variables that will be used in the cmake-generated files +# set(SYSTEMD_SERVICE_TYPE_DOCSTRING "The value used as the Type= in the systemd unit file.") set(WATCHDOG_SEC_DOCSTRING "The value used as WatchdogSec= in the systemd unit file.") if(SYSTEMD_FOUND) @@ -334,7 +373,6 @@ set(SERVICE_GROUP_DOCSTRING "The value used as the Group= in the systemd unit fi if(NOT DEFINED SERVICE_GROUP) set(SERVICE_GROUP "nobody" CACHE STRING ${SERVICE_GROUP_DOCSTRING}) endif() -configure_file(unit/biboumi.service.cmake biboumi.service) # Force the format of the date output set(ENV{LANG} "C") @@ -342,4 +380,38 @@ execute_process(COMMAND "date" "+%a %b %d %Y" OUTPUT_VARIABLE RPM_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) unset(ENV{LANG}) +set(POLLER_DOCSTRING "Choose the poller between POLL and EPOLL (Linux-only)") +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(POLLER "EPOLL" CACHE STRING ${POLLER_DOCSTRING}) +else() + set(POLLER "POLL" CACHE STRING ${POLLER_DOCSTRING}) +endif() +if((NOT ${POLLER} MATCHES "POLL") AND +(NOT ${POLLER} MATCHES "EPOLL")) + message(FATAL_ERROR "POLLER must be either POLL or EPOLL") +endif() + +# +## Check if we have std::get_time and put_time +# +include(CheckCXXSourceCompiles) + +check_cxx_source_compiles(" + #include + int main() + { std::get_time(nullptr, \"\"); }" + HAS_GET_TIME) + +mark_as_advanced(HAS_GET_TIME) + +check_cxx_source_compiles(" + #include + int main() + { std::put_time(nullptr, \"\"); }" + HAS_PUT_TIME) + +mark_as_advanced(HAS_PUT_TIME) + +configure_file(unit/biboumi.service.cmake biboumi.service) configure_file(packaging/biboumi.spec.cmake biboumi.spec) +configure_file(biboumi.h.cmake src/biboumi.h) -- cgit v1.2.3 From 2d50fec964145db0ed3c05ceb5845ea87fbb7622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 15 Mar 2017 18:31:59 +0100 Subject: cmake: Make some libraries depend on the generated files from database lib --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 55cee2b..581782e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,14 +153,17 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/") file(GLOB source_utils src/utils/*.[hc]pp) add_library(utils OBJECT ${source_utils}) +add_dependencies(utils database) file(GLOB source_irc src/irc/*.[hc]pp) add_library(irc OBJECT ${source_irc}) +add_dependencies(irc database) file(GLOB source_xmpp src/xmpp/*.[hc]pp) add_library(xmpp OBJECT ${source_xmpp}) +add_dependencies(xmpp database) file(GLOB source_identd src/identd/*.[hc]pp) @@ -169,6 +172,7 @@ add_library(identd OBJECT ${source_identd}) file(GLOB source_bridge src/bridge/*.[hc]pp) add_library(bridge OBJECT ${source_bridge}) +add_dependencies(bridge database) file(GLOB source_config src/config/*.[hc]pp) @@ -181,6 +185,7 @@ add_library(logger OBJECT ${source_logger}) file(GLOB source_network src/network/*.[hc]pp) add_library(network OBJECT ${source_network}) +add_dependencies(network database) if(LITESQL_FOUND) LITESQL_GENERATE_CPP("database/database.xml" -- cgit v1.2.3 From dc5ad49b4011bb637373c6088efaf219fed4a016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Thu, 13 Apr 2017 00:19:17 +0200 Subject: Avoid building test_suite when we make install --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 581782e..9458f00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -228,6 +228,7 @@ add_executable(test_suite ${source_tests} $ $ $) +set_target_properties(test_suite PROPERTIES EXCLUDE_FROM_ALL TRUE) # ## Link the executables with their libraries @@ -298,8 +299,10 @@ endif() # add_custom_target(check COMMAND "test_suite" DEPENDS test_suite biboumi) +set_target_properties(check PROPERTIES EXCLUDE_FROM_ALL TRUE) add_custom_target(e2e COMMAND "python3" "${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" DEPENDS biboumi) +set_target_properties(e2e PROPERTIES EXCLUDE_FROM_ALL TRUE) add_custom_target(e2e_valgrind COMMAND "E2E_BIBOUMI_SUPP_DIR=${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" "E2E_BIBOUMI_VALGRIND=1" "python3" "${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" DEPENDS biboumi) if(CMAKE_BUILD_TYPE MATCHES Debug) @@ -323,6 +326,7 @@ if(CMAKE_BUILD_TYPE MATCHES Debug) WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) endif() +add_custom_target(everything DEPENDS test_suite biboumi) # ## Install target -- cgit v1.2.3 From 4bae383c1ddb762308c99f90625e5ecc885146b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 19 Apr 2017 21:29:31 +0200 Subject: Take into account the include path found by cmake when looking for litesql lib --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 9458f00..41260aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -194,6 +194,7 @@ if(LITESQL_FOUND) add_library(database OBJECT src/database/database.cpp ${LITESQL_GENERATED_SOURCES}) + include_directories(database ${LITESQL_INCLUDE_DIRS}) set(USE_DATABASE TRUE) else() add_library(database OBJECT "") -- cgit v1.2.3 From 7b3e0e0cf3eddd3537455a3605b04a48ee663f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sun, 30 Apr 2017 15:04:40 +0200 Subject: =?UTF-8?q?Make=20botan=E2=80=99s=20policy=20configurable=20from?= =?UTF-8?q?=20a=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #3244 --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 41260aa..37e8908 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -336,6 +336,8 @@ install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) install(FILES ${MAN_PAGE} DESTINATION share/man/man1 OPTIONAL COMPONENT documentation) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/biboumi.service DESTINATION lib/systemd/system COMPONENT init) install(FILES conf/biboumi.cfg DESTINATION /etc/biboumi COMPONENT configuration) +file(GLOB policy_files conf/*policy.txt) +install(FILES ${policy_files} DESTINATION /etc/biboumi COMPONENT configuration) # ## Dist target -- cgit v1.2.3 From 2c4a47e42d6cd5202fe6333d44c47cccc15658cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 3 May 2017 16:55:33 +0200 Subject: Add -Wconversion compile flag --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 37e8908..f2ab189 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ find_library(LIBUBSAN NAMES ubsan libubsan.so.0) # ## Set various debug flags (instrumentation libs, coverage, …) # -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pedantic -Wall -Wextra") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pedantic -Wall -Wextra -Wconversion") if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage --coverage") endif() -- cgit v1.2.3 From da55060840631bb63978a67270066b009b9c9270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 10 May 2017 16:48:51 +0200 Subject: Improve the handling of the biboudb.hpp dependencies --- CMakeLists.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index f2ab189..8e7d09a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,17 +153,17 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/") file(GLOB source_utils src/utils/*.[hc]pp) add_library(utils OBJECT ${source_utils}) -add_dependencies(utils database) +add_dependencies(utils litesql_generated_sources) file(GLOB source_irc src/irc/*.[hc]pp) add_library(irc OBJECT ${source_irc}) -add_dependencies(irc database) +add_dependencies(irc litesql_generated_sources) file(GLOB source_xmpp src/xmpp/*.[hc]pp) add_library(xmpp OBJECT ${source_xmpp}) -add_dependencies(xmpp database) +add_dependencies(xmpp litesql_generated_sources) file(GLOB source_identd src/identd/*.[hc]pp) @@ -172,7 +172,7 @@ add_library(identd OBJECT ${source_identd}) file(GLOB source_bridge src/bridge/*.[hc]pp) add_library(bridge OBJECT ${source_bridge}) -add_dependencies(bridge database) +add_dependencies(bridge litesql_generated_sources) file(GLOB source_config src/config/*.[hc]pp) @@ -185,15 +185,16 @@ add_library(logger OBJECT ${source_logger}) file(GLOB source_network src/network/*.[hc]pp) add_library(network OBJECT ${source_network}) -add_dependencies(network database) if(LITESQL_FOUND) LITESQL_GENERATE_CPP("database/database.xml" "biboudb" LITESQL_GENERATED_SOURCES) + add_custom_target(litesql_generated_sources SOURCES ${LITESQL_GENERATED_SOURCES}) + + add_library(database OBJECT src/database/database.cpp ${LITESQL_GENERATED_SOURCES}) + add_dependencies(database litesql_generated_sources) - add_library(database OBJECT src/database/database.cpp - ${LITESQL_GENERATED_SOURCES}) include_directories(database ${LITESQL_INCLUDE_DIRS}) set(USE_DATABASE TRUE) else() -- cgit v1.2.3 From b98059ecdd12b822a7b523d548b6c8f27bcbfd83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 10 May 2017 17:15:32 +0200 Subject: Fix the build when litesql is not used --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e7d09a..ba20de1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,6 +199,7 @@ if(LITESQL_FOUND) set(USE_DATABASE TRUE) else() add_library(database OBJECT "") + add_custom_target(litesql_generated_sources) endif() # -- cgit v1.2.3 From 9d1dc9138fdb0377c5eb93da285893ba97e43a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 16 May 2017 14:21:03 +0200 Subject: Make the default build type Release (instead of empty string) --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index ba20de1..4cc9898 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,11 @@ set(${PROJECT_NAME}_VERSION_MAJOR 5) set(${PROJECT_NAME}_VERSION_MINOR 0) set(${PROJECT_NAME}_VERSION_SUFFIX "~dev") +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Debug" CACHE STRING + "Build type (Release/Debug/RelWithDebInfo/MinSizeRel)" FORCE) +endif() + # ## Find optional instrumentation libraries that will be used in debug only # -- cgit v1.2.3 From 2a637bee0a903423d1e7438ec8715fc94432f511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sun, 21 May 2017 12:02:23 +0200 Subject: Do not install biboumi.cfg in /etc/biboumi/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Because it would overwrite the user file when installing a new version. And it’s basically useless anyway, because if the file doesn’t exist at all, biboumi will write an helpful message on stderr, telling the user to create the config file. --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cc9898..86c309e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -342,7 +342,6 @@ add_custom_target(everything DEPENDS test_suite biboumi) install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) install(FILES ${MAN_PAGE} DESTINATION share/man/man1 OPTIONAL COMPONENT documentation) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/biboumi.service DESTINATION lib/systemd/system COMPONENT init) -install(FILES conf/biboumi.cfg DESTINATION /etc/biboumi COMPONENT configuration) file(GLOB policy_files conf/*policy.txt) install(FILES ${policy_files} DESTINATION /etc/biboumi COMPONENT configuration) -- cgit v1.2.3 From 23a3372144215c9ba7a30d599164677284813fa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 24 May 2017 13:36:00 +0200 Subject: Release version 5.0 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 86c309e..139f85a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ project(biboumi) set(${PROJECT_NAME}_VERSION_MAJOR 5) set(${PROJECT_NAME}_VERSION_MINOR 0) -set(${PROJECT_NAME}_VERSION_SUFFIX "~dev") +set(${PROJECT_NAME}_VERSION_SUFFIX "") if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Debug" CACHE STRING -- cgit v1.2.3