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})