annotate cmake/MalikaniaOptions.cmake @ 2:2418900a1cc5

Client: switch to bridge pattern (PIMPL) with clean headers Task: #431
author David Demelier <markand@malikania.fr>
date Tue, 22 Mar 2016 22:35:33 +0100
parents 8991989c4708
children c12262a01559
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- CMake build system for malikania
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Copyright (c) 2013-2016 Malikania Authors
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 # Backend selection.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 # -------------------------------------------------------------------
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 # The following options are available:
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 # WITH_BACKEND - Type of backend to use. (Default: SDL)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 set(WITH_BACKEND "SDL"
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 CACHE STRING "Which backend to use")
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 # Documentation and technical references
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 # -------------------------------------------------------------------
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 # The following options are available:
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 # WITH_DOCS - Disable or enable all docs, if set to Off, disable all documentation.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 # WITH_DOCS_UML - Enable UML diagram generation.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 # WITH_DOCS_DOXYGEN - Enable doxygen
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 # WITH_DOCS_BOOKS - Enable build of books
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 option(WITH_DOCS "Build all documentation" On)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 option(WITH_DOCS_UML "Enable UML diagrams generation" On)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 option(WITH_DOCS_DOXYGEN "Enable doxygen generation" On)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 option(WITH_DOCS_BOOKS "Enable build of books" On)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 if (NOT WITH_DOCS)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 set(WITH_DOCS_UML Off)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 set(WITH_DOCS_DOXYGEN Off)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 set(WITH_DOCS_BOOKS Off)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 endif ()
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 # Targets to build
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 # -------------------------------------------------------------------
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 # The following options are available:
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 # WITH_LIBCLIENT - Build the client library.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 # WITH_LIBSERVER - Build the server library.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 #
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
60
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 option(WITH_LIBCLIENT "Build libclient" On)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 option(WITH_LIBSERVER "Build libserver" On)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 if (WITH_BACKEND MATCHES "SDL")
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 set(WITH_BACKEND_SDL TRUE)
2
2418900a1cc5 Client: switch to bridge pattern (PIMPL) with clean headers
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
66 set(WITH_BACKEND_DIRECTORY "backend/sdl")
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 else ()
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 message(FATAL_ERROR "Unknown backend selected: ${WITH_BACKEND}")
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 endif ()