-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
114 lines (92 loc) · 3.89 KB
/
CMakeLists.txt
File metadata and controls
114 lines (92 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
cmake_minimum_required(VERSION 3.0)
project(squarez VERSION 3.0)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")
if(${CMAKE_SYSTEM_NAME} STREQUAL Emscripten)
set(BUILD_TEST OFF CACHE BOOL "Build the test bot" FORCE)
set(BUILD_QML_CLIENT OFF CACHE BOOL "Build the QML client" FORCE)
set(BUILD_WEB_CLIENT ON CACHE BOOL "Build the Web client")
set(BUILD_SERVER OFF CACHE BOOL "Build the server" FORCE)
else()
set(BUILD_TEST ON CACHE BOOL "Build the test bot")
set(BUILD_QML_CLIENT ON CACHE BOOL "Build the QML client")
set(BUILD_WEB_CLIENT OFF CACHE BOOL "Build the Web client" FORCE)
set(BUILD_SERVER ON CACHE BOOL "Build the server")
endif()
set(ENABLE_CLOSURE ON CACHE BOOL "Use the closure compiler for the web client")
if(${CMAKE_SYSTEM_NAME} STREQUAL Linux)
set(ENABLE_SYSTEMD ON CACHE BOOL "Enable systemd socket activation")
else()
set(ENABLE_SYSTEMD OFF CACHE BOOL "Enable systemd socket activation" FORCE)
endif()
find_package(PkgConfig REQUIRED)
add_definitions(-std=c++11 -g -Wall -Wextra -Werror -DPACKAGE="squarez" -DPACKAGE_VERSION="${PROJECT_VERSION}")
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/shared ${CMAKE_CURRENT_SOURCE_DIR}/clients)
include(CheckIncludeFileCXX)
check_include_file_cxx(cxxabi.h HAVE_CXXABI_H)
check_include_file_cxx(execinfo.h HAVE_EXECINFO_H)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/shared/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
set(shared_sources
${CMAKE_CURRENT_SOURCE_DIR}/shared/game/score.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/game/cell.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/game/constants.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/game/gameboard.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/game/selection.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/game/transition.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/network/methods.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/network/urltools.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/rules/timer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/rules/rules.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/rules/singleplayerrules.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/utils/serializer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/shared/utils/unicode.cpp)
set(client_sources
${CMAKE_CURRENT_SOURCE_DIR}/clients/tutorialrules.cpp
)
set(CPACK_COMPONENTS_ALL)
if(BUILD_QML_CLIENT OR BUILD_WEB_CLIENT)
add_subdirectory(data)
endif()
if(BUILD_QML_CLIENT)
add_subdirectory(clients/qml)
set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} qt-client)
endif()
if(BUILD_WEB_CLIENT)
add_subdirectory(clients/web)
set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} html)
endif()
if(BUILD_SERVER)
add_subdirectory(server)
set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} server)
endif()
if(BUILD_TEST)
add_subdirectory(test)
endif()
set(CPACK_PACKAGE_NAME "squarez")
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${PROJECT_VERSION})
set(CPACK_TGZ_COMPONENT_INSTALL ON)
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "squarez puzzle game")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Squarez puzzle game
.
This is a remake of the Squarez game by Eric Burgess
.
You are presented a 8x8 grid of 3 different symbols and a timer,
Selecting 4 identical elements forming the edges of the square
remove the edges, refill the timer and give you points. The bigger
the square is, the more time and points you will get. Squares that
are not horizontal or 45° have bonus point and time.")
set(CPACK_PACKAGE_CONTACT "Guillaume Meunier <>")
if(${CMAKE_SYSTEM_NAME} STREQUAL Emscripten)
set(CPACK_STRIP_FILES OFF)
else()
set(CPACK_STRIP_FILES ON)
endif()
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
set(CPACK_DEBIAN_PACKAGE_SECTION "games")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_SET_DESTDIR ON)
set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
include(CPack)