annotate CMakeLists.txt @ 182:3107ce017c3a

Misc: switch back to SDL Qt Quick and QML was an exciting experiment but it's definitely not enough flexible and easy to use for game development. Using SDL2 will let us focusing on our own drawing functions without any kind of overhead. While here, start massive cleanup.
author David Demelier <markand@malikania.fr>
date Fri, 19 Oct 2018 20:18:19 +0200
parents ffe8ac5c35c0
children 387f6b0a5420
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
1 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
2 # CMakeLists.txt -- CMake build system for malikania
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
3 #
158
4b292c20124c Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 149
diff changeset
4 # Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
5 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
8 # copyright notice and this permission notice appear in all copies.
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
9 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
17 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
18
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
19 cmake_minimum_required(VERSION 3.0)
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
20 project(malikania)
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
21
169
450d884456c4 Server: initial re-support of PostgreSQL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
22 set(CMAKE_CXX_STANDARD 17)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
23 set(CMAKE_CXX_STANDARD_REQUIRED On)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
24 set(CMAKE_POSITION_INDEPENDENT_CODE On)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
25 set(CMAKE_MODULE_PATH ${malikania_SOURCE_DIR}/cmake/packages)
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
26
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
27 include(cmake/function/MalikaniaBuildAssets.cmake)
49
2804ae55c70f CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents: 47
diff changeset
28 include(cmake/function/MalikaniaDefineLibrary.cmake)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
29 include(cmake/function/MalikaniaDefineExample.cmake)
49
2804ae55c70f CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents: 47
diff changeset
30 include(cmake/function/MalikaniaDefineExecutable.cmake)
2804ae55c70f CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents: 47
diff changeset
31 include(cmake/function/MalikaniaDefineTest.cmake)
2804ae55c70f CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents: 47
diff changeset
32 include(cmake/function/MalikaniaSetg.cmake)
54
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 49
diff changeset
33 include(cmake/function/MalikaniaVeraCheck.cmake)
165
3e3040d085b5 Misc: reset to a new target
David Demelier <markand@malikania.fr>
parents: 158
diff changeset
34
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
35 include(cmake/MalikaniaVersion.cmake)
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
36 include(cmake/MalikaniaOptions.cmake)
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
37 include(cmake/MalikaniaSystem.cmake)
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
38
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
39 configure_file(
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
40 ${malikania_SOURCE_DIR}/cmake/internal/sysconfig.hpp.in
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
41 ${malikania_BINARY_DIR}/sysconfig.hpp
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
42 )
165
3e3040d085b5 Misc: reset to a new target
David Demelier <markand@malikania.fr>
parents: 158
diff changeset
43 include_directories(${malikania_BINARY_DIR})
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
44
149
dece83c24c64 CMake: put find_package(Boost) quiet
David Demelier <markand@malikania.fr>
parents: 127
diff changeset
45 find_package(Boost REQUIRED QUIET COMPONENTS filesystem system timer unit_test_framework)
40
1e206fdc7021 Server: switch to Boost.DLL, closes #583
David Demelier <markand@malikania.fr>
parents: 37
diff changeset
46 find_package(OpenSSL REQUIRED)
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
47
47
7097a91b08a8 Tools: add mlk-bcc tool, closes #596
David Demelier <markand@malikania.fr>
parents: 44
diff changeset
48 add_subdirectory(tools)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
49 add_subdirectory(examples)
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
50 add_subdirectory(extern)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
51 add_subdirectory(docs)
179
ffe8ac5c35c0 Database: implement as a separate library, closes #906 @1h
David Demelier <markand@malikania.fr>
parents: 169
diff changeset
52 add_subdirectory(libdb)
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
53 add_subdirectory(libcommon)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
54 add_subdirectory(libcommon-js)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
55 add_subdirectory(libclient)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
56 add_subdirectory(libclient-js)
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
57 add_subdirectory(libserver)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
58 add_subdirectory(client)
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
59 add_subdirectory(server)
69
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 66
diff changeset
60
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 66
diff changeset
61 if (WITH_TESTS)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
62 enable_testing()
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
63 add_subdirectory(tests)
69
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 66
diff changeset
64 endif ()
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
65
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
66 # TODO: replace with FeatureSummary
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
67 message("Building information:")
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
68 message(" General flags: ${CMAKE_CXX_FLAGS}")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
69 message(" Debug flags: ${CMAKE_CXX_FLAGS_DEBUG}")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
70 message(" Release flags: ${CMAKE_CXX_FLAGS_RELEASE}")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
71 message("")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
72 message("Documentation:")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
73 message(" Doxygen: ${WITH_DOXYGEN_MSG}")
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
74 message("")
69
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 66
diff changeset
75 message("Additional options:")
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
76 message(" Vera: ${WITH_VERA_MSG}")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 179
diff changeset
77 message(" Tests: ${WITH_TESTS_MSG}")