-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
41 lines (31 loc) · 1.15 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
cmake_minimum_required(VERSION 3.17)
project(arcade)
set(CMAKE_CXX_STANDARD 20)
add_compile_options(-Wall -Wextra -Weffc++)
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
${PROJECT_SOURCE_DIR}/arcade
${PROJECT_SOURCE_DIR}/lib/arcade_ncurses.so
${PROJECT_SOURCE_DIR}/lib/arcade_sdl2.so
${PROJECT_SOURCE_DIR}/lib/arcade_sfml.so
${PROJECT_SOURCE_DIR}/lib/arcade_nibbler.so
${PROJECT_SOURCE_DIR}/lib/arcade_pacman.so
${PROJECT_SOURCE_DIR}/lib/arcade_menu.so)
add_executable(arcade
src/main.cpp
src/Core.cpp
src/Parsing.cpp
lib/Game/src/HighScore.cpp)
target_link_libraries(arcade PUBLIC dl)
target_include_directories(arcade PUBLIC
include
lib/Display/include
lib/Game/include)
add_subdirectory(lib/Display/Ncurses)
add_subdirectory(lib/Display/SDL)
add_subdirectory(lib/Display/SFML)
add_subdirectory(lib/Game/Pacman)
add_subdirectory(lib/Game/Snake)
add_subdirectory(lib/Game/Menu)
add_dependencies(arcade ncurses sdl2 sfml pacman nibbler menu)
add_custom_command(TARGET arcade POST_BUILD
COMMAND cp arcade ${PROJECT_SOURCE_DIR})