annotate cmake/MalikaniaOptions.cmake @ 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 3e3040d085b5
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: 30
diff changeset
1 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
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: 30
diff changeset
3 #
158
4b292c20124c Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 111
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: 30
diff changeset
5 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
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: 30
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: 30
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: 30
diff changeset
9 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
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: 30
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: 30
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: 30
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: 30
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: 30
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: 30
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: 30
diff changeset
17 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
18
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
19 #
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
20 # Backend selection.
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
21 # -------------------------------------------------------------------
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
22 #
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
23 # The following options are available:
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
24 # WITH_BACKEND - Type of backend to use. (Default: SDL)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
25 #
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
26
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
27 set(WITH_BACKEND "SDL"
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
28 CACHE STRING "Which backend to use")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
29
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
30 #
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
31 # Documentation and technical references
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
32 # -------------------------------------------------------------------
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
33 #
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
34 # The following options are available:
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
35 # WITH_DOCS - Disable or enable all docs, if set to Off, disable all documentation.
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
36 # WITH_DOXYGEN - Enable doxygen
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
37 #
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
38
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
39 option(WITH_DOCS "Build all documentation" On)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
40 option(WITH_DOXYGEN "Enable doxygen generation" On)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
41
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
42 if (NOT WITH_DOCS)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
43 set(WITH_DOXYGEN Off)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
44 endif ()
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
45
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
46 set(WITH_DRIVERDIR "lib/malikania/${MALIKANIA_VERSION}"
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
47 CACHE STRING "Database driver directory")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
48 set(WITH_BINDIR "libexec/malikania/${MALIKANIA_VERSION}"
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
49 CACHE STRING "Front end directory")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
50
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
51 if (IS_ABSOLUTE ${WITH_DRIVERDIR})
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
52 message(FATAL_ERROR "WITH_DRIVERDIR must not be absolute")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
53 elseif (IS_ABSOLUTE ${WITH_BINDIR})
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
54 message(FATAL_ERROR "WITH_BINDIR must not be absolute")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
55 endif ()
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
56
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
57 #
54
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
58 # Options for development.
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
59 # -------------------------------------------------------------------
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
60 #
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
61
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
62 option(WITH_VERA "Enable vera++ analyzer" On)
69
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 54
diff changeset
63 option(WITH_TESTS "Enable unit tests" On)
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
64 option(WITH_EXAMPLES "Enable examples" On)
54
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
65
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
66 find_program(VERA_EXECUTABLE vera++)
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
67
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
68 if (VERA_EXECUTABLE)
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
69 if (WITH_VERA)
96
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
70 execute_process(
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
71 COMMAND ${VERA_EXECUTABLE} --version
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
72 OUTPUT_VARIABLE VERA_VERSION
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
73 )
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
74
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
75 if (${VERA_VERSION} VERSION_LESS "1.3.0")
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
76 malikania_setg(WITH_VERA Off)
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
77 malikania_setg(WITH_VERA_MSG "No (1.3.0 or greater required)")
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
78 else ()
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
79 malikania_setg(WITH_VERA_MSG "Yes")
55300686bd78 CMake: check that vera++ is at least 1.3.0, closes #656
David Demelier <markand@malikania.fr>
parents: 79
diff changeset
80 endif ()
54
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
81 else ()
79
8b41e9a2e095 CMake: fix vera conditional
Alexis Dörr <nanahara@malikania.fr>
parents: 76
diff changeset
82 malikania_setg(WITH_VERA Off)
8b41e9a2e095 CMake: fix vera conditional
Alexis Dörr <nanahara@malikania.fr>
parents: 76
diff changeset
83 malikania_setg(WITH_VERA_MSG "No (disabled by user)")
54
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
84 endif ()
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
85 else ()
79
8b41e9a2e095 CMake: fix vera conditional
Alexis Dörr <nanahara@malikania.fr>
parents: 76
diff changeset
86 malikania_setg(WITH_VERA Off)
8b41e9a2e095 CMake: fix vera conditional
Alexis Dörr <nanahara@malikania.fr>
parents: 76
diff changeset
87 malikania_setg(WITH_VERA_MSG "No (vera++ not found)")
54
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
88 endif ()
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
89
69
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 54
diff changeset
90 if (NOT WITH_TESTS)
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 54
diff changeset
91 malikania_setg(WITH_TESTS_MSG "No (disabled by user)")
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 54
diff changeset
92 else ()
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 54
diff changeset
93 malikania_setg(WITH_TESTS_MSG "Yes")
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 54
diff changeset
94 endif ()
fce7e41875db CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents: 54
diff changeset
95
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
96 if (NOT WITH_EXAMPLES)
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
97 malikania_setg(WITH_EXAMPLES_MSG "No (disabled by user)")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
98 else ()
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
99 malikania_setg(WITH_EXAMPLES_MSG "Yes")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
100 endif ()
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
101
54
0edaba9986ba CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents: 50
diff changeset
102 #
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
103 # Options for unit tests
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
104 # -------------------------------------------------------------------
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
105 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
106
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
107 set(WITH_TEST_PGSQL_HOST "localhost"
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
108 CACHE STRING "Hostname for PostgreSQL driver")
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
109 set(WITH_TEST_PGSQL_PORT "5432"
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
110 CACHE STRING "Port for PostgreSQL driver")
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
111 set(WITH_TEST_PGSQL_DATABASE "malikaniadb"
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
112 CACHE STRING "Database for PostgreSQL driver")
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
113 set(WITH_TEST_PGSQL_USER "malikania"
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
114 CACHE STRING "Username for PostgreSQL driver")
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
115
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
116 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
117 # Targets to build
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
118 # -------------------------------------------------------------------
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
119 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
120 # The following options are available:
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
121 # WITH_LIBCLIENT - Build the client library.
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
122 # WITH_LIBSERVER - Build the server library.
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
123 #
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
124
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
125 option(WITH_LIBCLIENT "Build libclient" On)
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
126 option(WITH_LIBSERVER "Build libserver" On)
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
127
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
128 if (WITH_BACKEND MATCHES "SDL")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
129 set(WITH_BACKEND_DIR "backend/sdl")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
130 else ()
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
131 message(FATAL_ERROR "Unknown backend selected: ${WITH_BACKEND}")
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
132 endif ()
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
133
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
134 configure_file(
182
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
135 ${malikania_SOURCE_DIR}/cmake/internal/sysconfig-tests.h
3107ce017c3a Misc: switch back to SDL
David Demelier <markand@malikania.fr>
parents: 165
diff changeset
136 ${malikania_BINARY_DIR}/sysconfig-tests.h
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
137 )