From 2f68b86ba403fdae97c00569b6bb9b58ad1f33a6 Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 27 Jan 2026 18:56:59 +0100 Subject: initial commit --- CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') 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() -- cgit v1.2.3