comparison CMakeLists.txt @ 165:3e3040d085b5

Misc: reset to a new target Malikania is no longer a MMORPG engine but only a game. Creating an engine is too feature specific and hard to provide customizations without complex code. We also don't ship any Javascript bindings anymore and will use Qt 5 and QML for client side to avoid reinventing a UI toolkit. The server side is less impacted and will only take modifications in the database code which now has explicit PostgreSQL runtime dependency instead of writing a complex generic database backend.
author David Demelier <markand@malikania.fr>
date Tue, 19 Jun 2018 21:01:01 +0200
parents 4b292c20124c
children 450d884456c4
comparison
equal deleted inserted replaced
164:a3ba00cdaa7c 165:3e3040d085b5
17 # 17 #
18 18
19 cmake_minimum_required(VERSION 3.0) 19 cmake_minimum_required(VERSION 3.0)
20 project(malikania) 20 project(malikania)
21 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 set(CMAKE_CXX_STANDARD 14) 22 set(CMAKE_CXX_STANDARD 14)
30 set(CMAKE_CXX_STANDARD_REQUIRED TRUE) 23 set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
31 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) 24 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
32 25
33 include(cmake/function/MalikaniaBuildAssets.cmake)
34 include(cmake/function/MalikaniaDefineDatabase.cmake)
35 include(cmake/function/MalikaniaDefineLibrary.cmake) 26 include(cmake/function/MalikaniaDefineLibrary.cmake)
36 include(cmake/function/MalikaniaDefineExample.cmake)
37 include(cmake/function/MalikaniaDefineExecutable.cmake) 27 include(cmake/function/MalikaniaDefineExecutable.cmake)
38 include(cmake/function/MalikaniaDefineTest.cmake) 28 include(cmake/function/MalikaniaDefineTest.cmake)
39 include(cmake/function/MalikaniaSetg.cmake) 29 include(cmake/function/MalikaniaSetg.cmake)
40 include(cmake/function/MalikaniaVeraCheck.cmake) 30 include(cmake/function/MalikaniaVeraCheck.cmake)
31
41 include(cmake/MalikaniaVersion.cmake) 32 include(cmake/MalikaniaVersion.cmake)
42 include(cmake/MalikaniaOptions.cmake) 33 include(cmake/MalikaniaOptions.cmake)
43 include(cmake/MalikaniaSystem.cmake) 34 include(cmake/MalikaniaSystem.cmake)
44 35
45 configure_file( 36 configure_file(
46 ${malikania_SOURCE_DIR}/cmake/internal/sysconfig.hpp.in 37 ${malikania_SOURCE_DIR}/cmake/internal/sysconfig.hpp.in
47 ${malikania_BINARY_DIR}/sysconfig.hpp 38 ${malikania_BINARY_DIR}/sysconfig.hpp
48 ) 39 )
49 40 include_directories(${malikania_BINARY_DIR})
50 include_directories(${CMAKE_BINARY_DIR})
51 41
52 find_package(Boost REQUIRED QUIET COMPONENTS filesystem system timer unit_test_framework) 42 find_package(Boost REQUIRED QUIET COMPONENTS filesystem system timer unit_test_framework)
53 find_package(OpenSSL REQUIRED) 43 find_package(OpenSSL REQUIRED)
54 find_package(ZIP REQUIRED)
55 44
56 add_subdirectory(tools) 45 add_subdirectory(tools)
57 add_subdirectory(examples)
58 add_subdirectory(extern) 46 add_subdirectory(extern)
59 add_subdirectory(docs)
60 add_subdirectory(libcommon) 47 add_subdirectory(libcommon)
61 add_subdirectory(libcommon-js)
62 add_subdirectory(libclient)
63 add_subdirectory(libclient-js)
64 add_subdirectory(libserver) 48 add_subdirectory(libserver)
65 add_subdirectory(libdb-sqlite)
66 add_subdirectory(libserver-test)
67 add_subdirectory(client)
68 add_subdirectory(server) 49 add_subdirectory(server)
69 50
70 if (WITH_TESTS) 51 if (WITH_TESTS)
71 enable_testing() 52 enable_testing()
72 add_subdirectory(tests) 53 add_subdirectory(tests)
75 message("Building information:") 56 message("Building information:")
76 message(" General flags: ${CMAKE_CXX_FLAGS}") 57 message(" General flags: ${CMAKE_CXX_FLAGS}")
77 message(" Debug flags: ${CMAKE_CXX_FLAGS_DEBUG}") 58 message(" Debug flags: ${CMAKE_CXX_FLAGS_DEBUG}")
78 message(" Release flags: ${CMAKE_CXX_FLAGS_RELEASE}") 59 message(" Release flags: ${CMAKE_CXX_FLAGS_RELEASE}")
79 message("") 60 message("")
80 message("Documentation:")
81 message(" Doxygen: ${WITH_DOXYGEN_MSG}")
82 message("Additional options:") 61 message("Additional options:")
83 message(" Vera: ${WITH_VERA_MSG}") 62 message(" Vera: ${WITH_VERA_MSG}")
84 message(" Tests: ${WITH_TESTS_MSG}") 63 message(" Tests: ${WITH_TESTS_MSG}")