Mercurial > irccd
comparison CMakeLists.txt @ 818:49fa22f0b4b9
windows: support for VS2017
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 23 Nov 2018 21:50:20 +0100 |
parents | 8460b4a34191 |
children | d76699e13156 |
comparison
equal
deleted
inserted
replaced
817:ebe561276c33 | 818:49fa22f0b4b9 |
---|---|
50 # | 50 # |
51 | 51 |
52 cmake_minimum_required(VERSION 3.10) | 52 cmake_minimum_required(VERSION 3.10) |
53 project(irccd) | 53 project(irccd) |
54 | 54 |
55 include(GNUInstallDirs) | |
56 | |
55 # Helper to set global internal variables. | 57 # Helper to set global internal variables. |
56 function(setg var value) | 58 function(setg var value) |
57 set("${var}" "${value}" CACHE INTERNAL "") | 59 set("${var}" "${value}" CACHE INTERNAL "") |
58 endfunction () | 60 endfunction () |
59 | 61 |
62 set_property(GLOBAL PROPERTY USE_FOLDERS On) | |
63 | |
64 set(CMAKE_CXX_STANDARD 17) | |
65 set(CMAKE_CXX_STANDARD_REQUIRED On) | |
60 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${irccd_SOURCE_DIR}/cmake/packages) | 66 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${irccd_SOURCE_DIR}/cmake/packages) |
61 set(CMAKE_POSITION_INDEPENDENT_CODE On) | 67 set(CMAKE_POSITION_INDEPENDENT_CODE On) |
62 set(CMAKE_CXX_STANDARD 17) | |
63 set(CMAKE_CXX_STANDARD_REQUIRED On) | |
64 set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS On) | 68 set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS On) |
65 | 69 |
66 set_property(GLOBAL PROPERTY USE_FOLDERS On) | 70 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) |
67 | 71 |
68 include(CMakeParseArguments) | 72 foreach (cfg ${CMAKE_CONFIGURATION_TYPES}) |
69 include(GNUInstallDirs) | 73 string(TOUPPER CFG ${cfg}) |
74 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG} ${CMAKE_BINARY_DIR}/bin/${cfg}) | |
75 endforeach () | |
70 | 76 |
71 include(cmake/function/IrccdBuildHtml.cmake) | 77 include(cmake/function/IrccdBuildHtml.cmake) |
72 include(cmake/function/IrccdDefineExecutable.cmake) | 78 include(cmake/function/IrccdDefineExecutable.cmake) |
73 include(cmake/function/IrccdDefineLibrary.cmake) | 79 include(cmake/function/IrccdDefineLibrary.cmake) |
74 include(cmake/function/IrccdDefineMan.cmake) | 80 include(cmake/function/IrccdDefineMan.cmake) |
97 | 103 |
98 add_subdirectory(irccd) | 104 add_subdirectory(irccd) |
99 add_subdirectory(irccdctl) | 105 add_subdirectory(irccdctl) |
100 add_subdirectory(irccd-test) | 106 add_subdirectory(irccd-test) |
101 add_subdirectory(systemd) | 107 add_subdirectory(systemd) |
108 add_subdirectory(plugins) | |
102 | 109 |
103 if (IRCCD_HAVE_JS) | |
104 add_subdirectory(plugins) | |
105 endif () | |
106 | |
107 # Tests. | |
108 if (IRCCD_WITH_TESTS) | 110 if (IRCCD_WITH_TESTS) |
109 include(CTest) | 111 include(CTest) |
110 add_subdirectory(tests) | 112 add_subdirectory(tests) |
111 endif () | 113 endif () |
112 | 114 |
155 endif () | 157 endif () |
156 endif () | 158 endif () |
157 | 159 |
158 include(cmake/IrccdPackage.cmake) | 160 include(cmake/IrccdPackage.cmake) |
159 include(CPack) | 161 include(CPack) |
160 | |
161 # Metadata files | |
162 add_custom_target( | |
163 metadata | |
164 SOURCES | |
165 ${CMAKE_SOURCE_DIR}/CHANGES.md | |
166 ${CMAKE_SOURCE_DIR}/CONTRIBUTE.md | |
167 ${CMAKE_SOURCE_DIR}/CREDITS.md | |
168 ${CMAKE_SOURCE_DIR}/INSTALL.md | |
169 ${CMAKE_SOURCE_DIR}/MIGRATING.md | |
170 ${CMAKE_SOURCE_DIR}/README.md | |
171 ${CMAKE_SOURCE_DIR}/STYLE.md | |
172 ) |