-
Notifications
You must be signed in to change notification settings - Fork 9
/
CMakeLists.txt
117 lines (89 loc) · 4.48 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
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
# -*-LIC_BEGIN-*-
#
# DrawSpace Rendering engine
# Emmanuel Chaumont Copyright (c) 2013-2023
#
# This file is part of DrawSpace.
#
# DrawSpace is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# DrawSpace is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with DrawSpace. If not, see <http://www.gnu.org/licenses/>.
#
# -*-LIC_END-*-
cmake_minimum_required(VERSION 3.0)
project(ds_engine)
set(CMAKE_CXX_STANDARD 17)
# disable ZERO_CHECK project generation
set(CMAKE_SUPPRESS_REGENERATION true)
add_definitions(-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS)
# 3rd-parts localisations
set(physfs_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/physfs-2.0.3/sdk/include)
set(physfs_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/physfs-2.0.3/sdk/lib/x86)
set(lua_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/lua-1.5/sdk/include)
set(lua_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/lua-1.5/sdk/lib/x86)
set(jsonjsmn_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/JSON-jsmn/sdk/include)
set(jsonjsmn_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/JSON-jsmn/sdk/lib/x86)
set(fw1fontwrapper_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/FW1FontWrapper/sdk/include)
set(fw1fontwrapper_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/FW1FontWrapper/sdk/lib/x86)
set(dx11sdk_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/dx11sdk/sdk/Include)
set(dx11sdk_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/dx11sdk/sdk/Lib/x86)
set(dx9sdk_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/dx9sdk/sdk/Include)
set(dx9sdk_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/dx9sdk/sdk/lib/x86)
set(cegui_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/CEGUI-0.8.7/sdk/include/cegui-0)
set(cegui_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/CEGUI-0.8.7/sdk/lib/x86)
set(bullet_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/bullet-2.87/sdk/include)
set(bullet_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/bullet-2.87/sdk/lib/x86)
set(assimp_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/Assimp-4.1.0/sdk/include)
set(assimp_lib_dir ${CMAKE_SOURCE_DIR}/thirdparts/Assimp-4.1.0/sdk/lib/x86)
set(md5_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/md5/sdk/include)
set(st_tree_include_dir ${CMAKE_SOURCE_DIR}/thirdparts/st_tree/sdk/include)
# core, plugins and runtimes
add_subdirectory(drawspacecore_project)
add_subdirectory(CORE_logger)
add_subdirectory(CORE_maths)
add_subdirectory(CORE_parser)
add_subdirectory(CORE_jsonparser)
add_subdirectory(CORE_filesystem)
add_subdirectory(CORE_file)
add_subdirectory(CORE_timemanager)
add_subdirectory(CORE_threads)
add_subdirectory(CEGUIWrapper_project)
add_subdirectory(Plugins/d3d11_project)
# add_subdirectory(Plugins/d3d9_project)
add_subdirectory(rt_project)
# modules
add_subdirectory(modules/gameroom_project)
# lua extensions
add_subdirectory(lua_extensions/impostors_luaext)
add_subdirectory(lua_extensions/strings_luaext)
add_subdirectory(lua_extensions/mesh_luaext)
add_subdirectory(lua_extensions/skybox_luaext)
add_subdirectory(lua_extensions/planets_luaext)
add_subdirectory(lua_extensions/revolution_luaext)
add_subdirectory(lua_extensions/orbit_luaext)
add_subdirectory(lua_extensions/freemvt_luaext)
add_subdirectory(lua_extensions/fpsmvt_luaext)
# lua_core
add_subdirectory(lua_core)
# demos
add_subdirectory(samples/cpp/impostors)
add_subdirectory(samples/lua/texture)
add_subdirectory(samples/lua/water)
add_subdirectory(samples/lua/gui)
add_subdirectory(samples/lua/planet2)
add_subdirectory(samples/lua/nebulae)
add_subdirectory(samples/lua/dummyspace)
#tools
add_subdirectory(tools/max)
add_subdirectory(tools/dgent)
# shaders
add_subdirectory(hlsl_4_0_project)