-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
53 lines (37 loc) · 1.42 KB
/
CMakeLists.txt
File metadata and controls
53 lines (37 loc) · 1.42 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
cmake_minimum_required(VERSION 3.0)
project(cpp-engine)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")
# C++17
set(CMAKE_CXX_STANDARD 17)
set(SOURCES
# Game Loop
src/Main.cpp
# Scenes
src/Scenes/GameScene.cpp
# Resources
src/Resources/TileManager.cpp
src/Resources/MapLoader.cpp
src/Resources/TextureLoader.cpp
src/Resources/DialogueScript.cpp
# World
src/World/Map.cpp
src/World/DijkstraMap.cpp
# UI
src/UI/ControllableView.cpp
src/UI/DialogueWindow.cpp
src/UI/InventoryWindow.cpp
# Systems
src/System/ControllerSystem.cpp
src/System/ChemistrySystem.cpp
src/System/EnemySystem.cpp
)
# find_package(ImGui-SFML) # debug
find_package(SFML 2.5 REQUIRED audio graphics window system)
add_subdirectory(libs/tinyxml2)
add_subdirectory(libs/json)
add_subdirectory(libs/sol2)
set(ENTT_INCLUDE "${CMAKE_SOURCE_DIR}/libs/entt-master/src" CACHE PATH "Path to include directory of EnTT")
add_executable(cpp-engine ${SOURCES})
#TODO this needs tyding
include_directories(cpp-engine PRIVATE ${CMAKE_SOURCE_DIR}/include ${ENTT_INCLUDE} ${CMAKE_SOURCE_DIR}/libs/tinyxml2 ${CMAKE_SOURCE_DIR}/libs/lua/include ${CMAKE_SOURCE_DIR}/libs/sol2/include)
target_link_libraries(cpp-engine PRIVATE ${CMAKE_SOURCE_DIR}/libs/lua/lua54.lib sol2 tinyxml2 nlohmann_json sfml-audio sfml-graphics sfml-window sfml-system sfml-network)