Mercurial > malikania
annotate CMakeLists.txt @ 76:858621081b95
Happy new year!
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 01 Jan 2017 13:35:37 +0100 |
parents | fce7e41875db |
children | a162f380f02e |
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 # |
76 | 4 # Copyright (c) 2013-2017 Malikania Authors |
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 |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
22 set( |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
23 CMAKE_MODULE_PATH |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
24 "${malikania_SOURCE_DIR}/cmake" |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
25 "${malikania_SOURCE_DIR}/cmake/internal" |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
26 "${malikania_SOURCE_DIR}/cmake/packages" |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
27 ) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
28 |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
29 set(CMAKE_CXX_STANDARD 14) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
30 set(CMAKE_CXX_STANDARD_REQUIRED TRUE) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
31 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
32 |
49
2804ae55c70f
CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents:
47
diff
changeset
|
33 include(cmake/function/MalikaniaBuildAssets.cmake) |
2804ae55c70f
CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents:
47
diff
changeset
|
34 include(cmake/function/MalikaniaDefineLibrary.cmake) |
2804ae55c70f
CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents:
47
diff
changeset
|
35 include(cmake/function/MalikaniaDefineExecutable.cmake) |
2804ae55c70f
CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents:
47
diff
changeset
|
36 include(cmake/function/MalikaniaDefineTest.cmake) |
2804ae55c70f
CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents:
47
diff
changeset
|
37 include(cmake/function/MalikaniaSetg.cmake) |
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
49
diff
changeset
|
38 include(cmake/function/MalikaniaVeraCheck.cmake) |
33
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
39 include(cmake/MalikaniaVersion.cmake) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
40 include(cmake/MalikaniaOptions.cmake) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
41 include(cmake/MalikaniaSystem.cmake) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
42 |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
43 configure_file( |
66
b2031b785cbc
CMake: rename Config.h to sysconfig.hpp
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
44 ${malikania_SOURCE_DIR}/cmake/internal/sysconfig.hpp.in |
b2031b785cbc
CMake: rename Config.h to sysconfig.hpp
David Demelier <markand@malikania.fr>
parents:
54
diff
changeset
|
45 ${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
|
46 ) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
47 |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
48 include_directories(${CMAKE_BINARY_DIR}) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
49 |
44
f30c84b4b9ed
Tests: switch from GoogleTest to Boost.Unit, closes #588
David Demelier <markand@malikania.fr>
parents:
41
diff
changeset
|
50 find_package(Boost REQUIRED 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
|
51 find_package(OpenSSL REQUIRED) |
33
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
52 find_package(ZIP REQUIRED) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
53 |
47
7097a91b08a8
Tools: add mlk-bcc tool, closes #596
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
54 add_subdirectory(tools) |
33
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
55 add_subdirectory(extern) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
56 add_subdirectory(database) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
57 add_subdirectory(docs) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
58 add_subdirectory(libcommon) |
37
702e0a2b9e5e
Misc: make JavaScript different libraries, Closes T3
David Demelier <markand@malikania.fr>
parents:
33
diff
changeset
|
59 add_subdirectory(libcommon-js) |
33
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
60 add_subdirectory(libclient) |
37
702e0a2b9e5e
Misc: make JavaScript different libraries, Closes T3
David Demelier <markand@malikania.fr>
parents:
33
diff
changeset
|
61 add_subdirectory(libclient-js) |
33
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
62 add_subdirectory(libserver) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
63 add_subdirectory(client) |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
64 add_subdirectory(server) |
69
fce7e41875db
CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents:
66
diff
changeset
|
65 |
fce7e41875db
CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents:
66
diff
changeset
|
66 if (WITH_TESTS) |
fce7e41875db
CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents:
66
diff
changeset
|
67 enable_testing() |
fce7e41875db
CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents:
66
diff
changeset
|
68 add_subdirectory(tests) |
fce7e41875db
CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents:
66
diff
changeset
|
69 endif () |
33
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
70 |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
71 message("Building information:") |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
72 message(" General flags: ${CMAKE_CXX_FLAGS}") |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
73 message(" Debug flags: ${CMAKE_CXX_FLAGS_DEBUG}") |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
74 message(" Release flags: ${CMAKE_CXX_FLAGS_RELEASE}") |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
75 message("") |
d4f5f7231b84
Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents:
31
diff
changeset
|
76 message("Documentation:") |
49
2804ae55c70f
CMake: big cleanup, closes #598
David Demelier <markand@malikania.fr>
parents:
47
diff
changeset
|
77 message(" Doxygen: ${WITH_DOXYGEN_MSG}") |
69
fce7e41875db
CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents:
66
diff
changeset
|
78 message("Additional options:") |
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
49
diff
changeset
|
79 message(" Vera: ${WITH_VERA_MSG}") |
69
fce7e41875db
CMake: add WITH_TESTS option
David Demelier <markand@malikania.fr>
parents:
66
diff
changeset
|
80 message(" Tests: ${WITH_TESTS_MSG}") |