-
Notifications
You must be signed in to change notification settings - Fork 27
/
CMakeLists.txt
44 lines (36 loc) · 1.37 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
cmake_minimum_required(VERSION 3.16)
project(smb)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
find_package(SDL2_mixer REQUIRED)
find_package(SDL2 REQUIRED)
find_package(SDL2_image REQUIRED)
find_package(SDL2_ttf REQUIRED)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin")
add_executable(smb
src/Main.cpp
src/Game.cpp
src/ecs/ecs.cpp
src/systems/RenderSystem.cpp
src/systems/MapSystem.cpp
src/systems/EditorSystem.cpp
src/TextureManager.cpp
src/systems/PhysicsSystem.cpp
src/systems/AnimationSystem.cpp
src/systems/PlayerSystem.cpp
src/systems/TileSystem.cpp
src/systems/CallbackSystem.cpp
src/systems/EnemySystem.cpp
src/systems/FlagSystem.cpp
src/AABB.cpp
src/SoundManager.cpp
src/systems/SoundSystem.cpp
src/systems/ScoreSystem.cpp
src/scenes/GameScene.cpp
src/scenes/EditorScene.cpp
src/scenes/IntroScene.cpp
)
file(COPY assets DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
set_property(TARGET smb PROPERTY CXX_STANDARD 17)
set_target_properties(smb PROPERTIES OUTPUT_NAME smb-${CMAKE_BUILD_TYPE})
target_include_directories(smb PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_link_libraries(smb PRIVATE ${SDL2_MIXER_LIBRARY} ${SDL2} ${SDL2_IMAGE} ${SDL2_TTF})