Mercurial > irccd
comparison CMakeLists.txt @ 858:6af323b76970
cmake: install macros and reduce IrccdOptions.cmake, closes #951 @1h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 25 Jul 2019 20:15:00 +0000 |
parents | 00a4720c4874 |
children | 5e25439fe98d |
comparison
equal
deleted
inserted
replaced
857:8b4becff9fbb | 858:6af323b76970 |
---|---|
54 project(irccd) | 54 project(irccd) |
55 | 55 |
56 include(GNUInstallDirs) | 56 include(GNUInstallDirs) |
57 include(InstallRequiredSystemLibraries) | 57 include(InstallRequiredSystemLibraries) |
58 | 58 |
59 # Helper to set global internal variables. | |
60 function(setg var value) | |
61 set("${var}" "${value}" CACHE INTERNAL "") | |
62 endfunction () | |
63 | |
64 set_property(GLOBAL PROPERTY USE_FOLDERS On) | 59 set_property(GLOBAL PROPERTY USE_FOLDERS On) |
65 | 60 |
66 set(CMAKE_CXX_STANDARD 17) | 61 set(CMAKE_CXX_STANDARD 17) |
67 set(CMAKE_CXX_STANDARD_REQUIRED On) | 62 set(CMAKE_CXX_STANDARD_REQUIRED On) |
68 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${irccd_SOURCE_DIR}/cmake/packages) | 63 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${irccd_SOURCE_DIR}/cmake/packages) |
73 foreach (cfg ${CMAKE_CONFIGURATION_TYPES}) | 68 foreach (cfg ${CMAKE_CONFIGURATION_TYPES}) |
74 string(TOUPPER CFG ${cfg}) | 69 string(TOUPPER CFG ${cfg}) |
75 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG} ${CMAKE_BINARY_DIR}/bin/${cfg}) | 70 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG} ${CMAKE_BINARY_DIR}/bin/${cfg}) |
76 endforeach () | 71 endforeach () |
77 | 72 |
73 include(cmake/check/PutTime.cmake) | |
74 | |
75 include(cmake/function/IrccdSetGlobal.cmake) | |
78 include(cmake/function/IrccdDefineExecutable.cmake) | 76 include(cmake/function/IrccdDefineExecutable.cmake) |
79 include(cmake/function/IrccdDefineLibrary.cmake) | 77 include(cmake/function/IrccdDefineLibrary.cmake) |
80 include(cmake/function/IrccdDefineMan.cmake) | 78 include(cmake/function/IrccdDefineMan.cmake) |
81 include(cmake/function/IrccdDefinePlugin.cmake) | 79 include(cmake/function/IrccdDefinePlugin.cmake) |
82 include(cmake/function/IrccdDefineTest.cmake) | 80 include(cmake/function/IrccdDefineTest.cmake) |
83 include(cmake/function/IrccdIndentMessage.cmake) | 81 include(cmake/function/IrccdIndentMessage.cmake) |
84 | 82 |
85 include(cmake/check/PutTime.cmake) | |
86 | |
87 include(cmake/IrccdVersion.cmake) | 83 include(cmake/IrccdVersion.cmake) |
88 include(cmake/IrccdOptions.cmake) | 84 include(cmake/IrccdOptions.cmake) |
89 include(cmake/IrccdSystem.cmake) | 85 include(cmake/IrccdSystem.cmake) |
90 | 86 |
91 find_package(Threads REQUIRED) | 87 find_package(Threads REQUIRED) |
92 | 88 |
89 add_subdirectory(cmake) | |
93 add_subdirectory(extern/json) | 90 add_subdirectory(extern/json) |
94 add_subdirectory(doc) | 91 add_subdirectory(doc) |
95 add_subdirectory(libirccd) | 92 add_subdirectory(libirccd) |
96 add_subdirectory(libirccd-daemon) | 93 add_subdirectory(libirccd-daemon) |
97 add_subdirectory(libirccd-ctl) | 94 add_subdirectory(libirccd-ctl) |
126 message(" OpenSSL: ${IRCCD_WITH_SSL_MSG}") | 123 message(" OpenSSL: ${IRCCD_WITH_SSL_MSG}") |
127 message(" Javascript: ${IRCCD_WITH_JS_MSG}") | 124 message(" Javascript: ${IRCCD_WITH_JS_MSG}") |
128 message(" Tests: ${IRCCD_WITH_TESTS_MSG}") | 125 message(" Tests: ${IRCCD_WITH_TESTS_MSG}") |
129 message(" Man pages: ${IRCCD_WITH_MAN_MSG}") | 126 message(" Man pages: ${IRCCD_WITH_MAN_MSG}") |
130 message(" Doxygen: ${IRCCD_WITH_DOXYGEN_MSG}") | 127 message(" Doxygen: ${IRCCD_WITH_DOXYGEN_MSG}") |
131 message(" Package: ${IRCCD_PACKAGE_MSG}") | |
132 message(" Systemd: ${IRCCD_WITH_SYSTEMD_MSG}") | 128 message(" Systemd: ${IRCCD_WITH_SYSTEMD_MSG}") |
133 message("") | 129 message("") |
134 | 130 |
135 message("Installing plugins:") | 131 message("Installing plugins:") |
136 foreach (plugin ${IRCCD_PLUGINS}) | 132 foreach (plugin ${IRCCD_PLUGINS}) |