diff options
| author | skal <pascal.massimino@gmail.com> | 2026-01-27 18:56:59 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-01-27 18:58:50 +0100 |
| commit | 2f68b86ba403fdae97c00569b6bb9b58ad1f33a6 (patch) | |
| tree | cd38e2aa13c26fdcfcf3555050a46db63c936efb /CMakeLists.txt | |
initial commit
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..b5ac51e --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.16) +project(demo64k LANGUAGES C CXX) + +option(DEMO_SIZE_OPT "Enable size optimization flags" OFF) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +add_executable(demo64k + src/main.cpp + src/platform.cpp + src/gpu/gpu.cpp + src/audio/audio.cpp +) + +target_include_directories(demo64k PRIVATE + src + third_party +) + +find_package(glfw3 REQUIRED) +target_link_libraries(demo64k PRIVATE glfw) + +if (DEMO_SIZE_OPT) + if (MSVC) + target_compile_options(demo64k PRIVATE /Os /GS-) + target_link_options(demo64k PRIVATE /OPT:REF /OPT:ICF /INCREMENTAL:NO) + else() + target_compile_options(demo64k PRIVATE -Os -ffunction-sections -fdata-sections) + target_link_options(demo64k PRIVATE -Wl,--gc-sections -s) + endif() +endif() |
