-
Notifications
You must be signed in to change notification settings - Fork 1
/
CMakeLists.txt
78 lines (76 loc) · 1.91 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.3)
project(simple-platformer-build
LANGUAGES NONE
)
include(ExternalProject)
ExternalProject_Add(Corrade
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/corrade"
BUILD_ALWAYS 1
LIST_SEPARATOR "#"
CMAKE_ARGS
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
${CUSTOM_CORRADE_ARGS}
TEST_EXCLUDE_FROM_MAIN 1
)
ExternalProject_Add(Magnum
DEPENDS
Corrade
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/magnum"
BUILD_ALWAYS 1
LIST_SEPARATOR "#"
CMAKE_ARGS
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
"-DWITH_MESHTOOLS=ON"
"-DWITH_PRIMITIVES=ON"
"-DWITH_SCENEGRAPH=ON"
"-DWITH_SHADERS=ON"
"-DWITH_SDL2APPLICATION=ON"
"-DWITH_TEXT=ON"
${CUSTOM_MAGNUM_ARGS}
TEST_EXCLUDE_FROM_MAIN 1
)
if(NOT MSVC)
set(FREETYPE_TARGET "FreeType")
ExternalProject_Add(${FREETYPE_TARGET}
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/freetype2"
BUILD_ALWAYS 1
LIST_SEPARATOR "#"
CMAKE_ARGS
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
"-DBUILD_SHARED_LIBS=ON"
${CUSTOM_FREETYPE_ARGS}
TEST_EXCLUDE_FROM_MAIN 1
)
else()
message(WARNING "FreeType needs to be built as shared, not static - see http://stackoverflow.com/a/7387618/1959975 for help")
endif()
ExternalProject_Add(MagnumPlugins
DEPENDS
Corrade
Magnum
${FREETYPE_TARGET}
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/magnum-plugins"
BUILD_ALWAYS 1
LIST_SEPARATOR "#"
CMAKE_ARGS
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
"-DWITH_FREETYPEFONT=ON"
${CUSTOM_MAGNUMPLUGINS_ARGS}
TEST_EXCLUDE_FROM_MAIN 1
)
ExternalProject_Add(simple-platformer
DEPENDS
Corrade
Magnum
MagnumPlugins
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src"
BUILD_ALWAYS 1
LIST_SEPARATOR "#"
CMAKE_ARGS
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
"-DCMAKE_MODULE_PATH=${CMAKE_INSTALL_PREFIX}#${CMAKE_CURRENT_SOURCE_DIR}/deps/magnum/modules"
${CUSTOM_SIMPLEPLATFORMER_ARGS}
TEST_AFTER_INSTALL 1
TEST_COMMAND
ctest -VV
)