summaryrefslogtreecommitdiff
path: root/cmake/DemoOptions.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/DemoOptions.cmake')
-rw-r--r--cmake/DemoOptions.cmake19
1 files changed, 19 insertions, 0 deletions
diff --git a/cmake/DemoOptions.cmake b/cmake/DemoOptions.cmake
new file mode 100644
index 0000000..9215119
--- /dev/null
+++ b/cmake/DemoOptions.cmake
@@ -0,0 +1,19 @@
+# Build Option Declarations
+# All build configuration options for demo64k
+
+# Size optimization flags
+option(DEMO_SIZE_OPT "Enable size optimization flags" OFF)
+option(DEMO_STRIP_ALL "Strip all unnecessary code for final build" OFF)
+option(DEMO_FINAL_STRIP "Strip ALL error checking for final-final build" OFF)
+option(DEMO_STRIP_EXTERNAL_LIBS "Stub external libs for size measurement (binary won't run)" OFF)
+
+# Feature toggles
+option(DEMO_BUILD_TESTS "Build tests" OFF)
+option(DEMO_BUILD_TOOLS "Build tools" OFF)
+option(DEMO_ENABLE_COVERAGE "Enable code coverage generation (macOS only)" OFF)
+option(DEMO_ENABLE_DEBUG_LOGS "Enable all debug logging (for pre-commit checks)" OFF)
+option(DEMO_HEADLESS "Build headless mode (functional stubs for testing)" OFF)
+option(DEMO_ALL_OPTIONS "Activate all options at once" OFF)
+
+# Workspace selection
+set(DEMO_WORKSPACE "main" CACHE STRING "Active workspace (main, test, etc.)")