1 | # CMake info |
2 | cmake_minimum_required(VERSION 3.22) |
3 |
|
4 | project("zydeco") |
5 |
|
6 |
|
7 | # Locations |
8 | set(SOURCE_DIR "src") |
9 | set(INCLUDE_DIR "include") |
10 |
|
11 |
|
12 | # Compile settings |
13 | set(CMAKE_CXX_STANDARD 20) |
14 | set(COMPILE_OPTIONS "-O3 -Wall -Wextra -pedantic") |
15 |
|
16 | if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") |
17 | add_compile_options (-fdiagnostics-color=always) |
18 | elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") |
19 | add_compile_options (-fcolor-diagnostics) |
20 | endif () |
21 |
|
22 | # Add source files |
23 | include_directories(${INCLUDE_DIR}) |
24 | set(PROGRAM_SOURCES |
25 | "${SOURCE_DIR}/main.cpp" |
26 | "${SOURCE_DIR}/util/Logger.cpp" |
27 | "${SOURCE_DIR}/util/Fault.cpp" |
28 | "${SOURCE_DIR}/game/Engine.cpp" |
29 | "${SOURCE_DIR}/game/Window.cpp" |
30 | ) |
31 |
|
32 |
|
33 | # Link libraries |
34 | find_package(cpptrace REQUIRED) |
35 | link_libraries("fmt" "cpptrace::cpptrace" "SDL2" "GL") |
36 |
|
37 |
|
38 | # Output |
39 | add_executable("zydeco" ${PROGRAM_SOURCES}) |
40 |
|