0
|
1 #
|
|
2 # CMakeLists.txt -- CMake build system for malikania
|
|
3 #
|
|
4 # Copyright (c) 2013-2016 Malikania Authors
|
|
5 #
|
|
6 # Permission to use, copy, modify, and/or distribute this software for any
|
|
7 # purpose with or without fee is hereby granted, provided that the above
|
|
8 # copyright notice and this permission notice appear in all copies.
|
|
9 #
|
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
17 #
|
|
18
|
|
19 cmake_minimum_required(VERSION 3.0)
|
|
20 project(malikania)
|
|
21
|
|
22 set(
|
|
23 CMAKE_MODULE_PATH
|
|
24 "${malikania_SOURCE_DIR}/cmake"
|
|
25 "${malikania_SOURCE_DIR}/cmake/internal"
|
|
26 "${malikania_SOURCE_DIR}/cmake/packages"
|
|
27 )
|
|
28
|
|
29 include(cmake/MalikaniaOptions.cmake)
|
|
30 include(cmake/MalikaniaFunctions.cmake)
|
|
31 include(cmake/MalikaniaVersion.cmake)
|
|
32 include(cmake/MalikaniaSystem.cmake)
|
|
33
|
|
34 configure_file(
|
|
35 ${malikania_SOURCE_DIR}/cmake/internal/Config.h.in
|
|
36 ${malikania_BINARY_DIR}/Config.h
|
|
37 )
|
|
38
|
|
39 include_directories(${CMAKE_BINARY_DIR})
|
|
40 enable_testing()
|
|
41
|
|
42 find_package(ZIP REQUIRED)
|
|
43 find_package(OpenSSL REQUIRED)
|
|
44
|
|
45 add_subdirectory(extern)
|
|
46 add_subdirectory(docs)
|
|
47 add_subdirectory(libcommon)
|
|
48 add_subdirectory(libclient)
|
|
49 add_subdirectory(libserver)
|
|
50 add_subdirectory(client)
|
|
51 add_subdirectory(server)
|
|
52 add_subdirectory(tests)
|
|
53
|
|
54 message("Building information:")
|
|
55 message(" General flags: ${CMAKE_CXX_FLAGS}")
|
|
56 message(" Debug flags: ${CMAKE_CXX_FLAGS_DEBUG}")
|
|
57 message(" Release flags: ${CMAKE_CXX_FLAGS_RELEASE}")
|
|
58 message("")
|
|
59 message("Documentation:")
|
|
60 message(" UML diagrams: ${WITH_DOCS_UML_MSG}")
|
|
61 message(" Doxygen: ${WITH_DOCS_DOXYGEN_MSG}")
|
|
62 message(" Books: ${WITH_DOCS_BOOKS_MSG}")
|