CMake option index

CNA snapshot c1c316b9  ·  Development › Generated References  ·  source links pinned to c1c316b9

✓

Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit c1c316b9; unless a sentence says otherwise, nothing here was built or executed. A syntactic scan; conditional defaults are not evaluated.

ℹ

Generated page. Produced by python3 scripts/generate_dev_reference.py from the Git objects of CNA commit c1c316b9; do not edit it by hand. It is a syntactic inventory: it locates declarations and files, and does not establish behaviour, build success or test results.

141 cache options / variables found108 with a CNA_ or SHARP_ prefix148 CMake files scanned

Options

Every option(), cmake_dependent_option() and set(… CACHE …) declaration found by a quote- and parenthesis-aware scan of the CMake files (names that start with an underscore or contain a variable reference are internal and skipped). Read the linked CMake logic before relying on a value: conditional defaults can depend on host or toolchain and can be rewritten after declaration, and a declaration says nothing about which combinations are valid (see selection axes and the CMake architecture page).

NameKindDefault / valueDescriptionDeclared in
BUILD_SHARED_LIBScache boolOFFcmake/ThirdPartyFNA3D.cmake
CMAKE_EXPORT_COMPILE_COMMANDScache boolONExport compilation commands for toolingcmake/BuildPerformance.cmake
CMAKE_OSX_DEPLOYMENT_TARGETcache string${CNA_IOS_DEPLOYMENT_TARGET}Minimum Apple OS versioncmake/ApplePlatform.cmake
CNA_APPLE_ALLOW_UNVALIDATED_RENDERERoptionOFFAllow selecting a renderer outside the iOS allow-list (experimentation only; expect build failures)cmake/ApplePlatform.cmake
CNA_APPLE_BUNDLE_IDENTIFIER_PREFIXcache stringcom.openeggbert.cnaReverse-DNS prefix for generated CFBundleIdentifier values (<prefix>.<target>)cmake/ApplePlatform.cmake
CNA_APPLE_BUNDLE_MACOS_EXECUTABLESoptionOFFEmit macOS executables as .app bundles instead of plain command-line binariescmake/ApplePlatform.cmake
CNA_APPLE_BUNDLE_VERSIONcache string${PROJECT_VERSION}CFBundleShortVersionString/CFBundleVersion written into generated Info.plist filescmake/ApplePlatform.cmake
CNA_APPLE_DEVELOPMENT_TEAMcache stringApple Developer Team ID used to codesign iOS products; empty disables signing (simulator, CI)cmake/ApplePlatform.cmake
CNA_APPLE_IOS_RENDERERScache internalSDL_RENDERER METALRenderers CNA wires up for an iOS buildcmake/ApplePlatform.cmake
CNA_AUDIO_PLATFORMcache stringSDL3Audio platform implementation (SDL3 | NULL | ALSA)cmake/AudioPlatformSelection.cmake
CNA_BUILD_APPLE_SMOKE_APPoption${CNA_APPLE_IOS}Build the minimal SDL_main/Game application used to validate an Apple final linkcmake/AppleSmoke.cmake
CNA_BUILD_BENCHMARKSoptionOFFBuild CNA microbenchmarksCMakeLists.txt
CNA_BUILD_C_APIoptionOFFBuild the experimental native CNA C API shared libraryCMakeLists.txt
CNA_BUILD_EXAMPLESoptionONBuild CNA example applications (house3d demo, demo_2d, ...)CMakeLists.txt
CNA_BUILD_INSPECTORoptionOFFBuild the optional CNA Inspector agent, bridge executable, and local browser UICMakeLists.txt
CNA_BUILD_RENDERER_DESCRIPTOR_GATEoptionONCompile every registered renderer family's descriptor, not only the selected families'cmake/RendererDescriptorGate.cmake
CNA_BUILD_TESTSoptionONBuild CNA testsCMakeLists.txt
CNA_CCACHE_BASEDIRcache path${_cna_ccache_basedir_default}Stable source parent supplied to ccache for path normalizationCMakeLists.txt
CNA_CNAEXToptionOFFEnable standalone ASCII, CRT, colour-depth and DebugDraw graphics extensionsCMakeLists.txt
CNA_CNB_ZSTDcache stringAUTOZstandard support for .cnb chunk compression (AUTO/ON/OFF)modules/CMakeLists.txt
CNA_CONFIGURE_AUDIT_CACHEoptionONCache successful configure-time audits by a content fingerprint of their inputscmake/ConfigureAuditCache.cmake
CNA_C_API_BUILD_STATICoptionONBuild and install the static C API archivemodules/c-api/CMakeLists.txt
CNA_C_API_DOXYGENcache filepathDoxygen 1.9.x for the C API coverage gates (empty: the doxygen on PATH)cmake/Tests/ModuleProbes.cmake
CNA_DEBUG_INFOcache stringFULLDebug information for CNA-owned Debug targets (FULL, LINE_TABLES, or SPLIT)cmake/BuildPerformance.cmake
CNA_DEVICESoptionOFFEnable CNA-specific device/sensor extensions beyond XNA 4.0 (battery, camera, clipboard, ...)CMakeLists.txt
CNA_DIAGNOSTICScache stringOFFProfiler/diagnostics support: OFF, STATS, or FULLCMakeLists.txt
CNA_DIRECTX11_COMPILED_EFFECTSoptionOFFBuild DirectX 11 support for compiled XNA Effect bytecode (plans/plan_fx.md FX-063)cmake/RendererSelection.cmake
CNA_DIRECTX9_COMPILED_EFFECTSoptionOFFBuild DirectX 9 support for compiled XNA Effect bytecode (plans/plan_fx.md FX-070)cmake/RendererSelection.cmake
CNA_EASYGL_COMPILED_EFFECTSoptionOFFBuild EasyGL support for compiled XNA Effect bytecode (plans/plan_fx.md FX-062)cmake/RendererSelection.cmake
CNA_EASYGL_ROOTcache path${CMAKE_CURRENT_SOURCE_DIR}/../easy-glPath to the easy-gl checkout consumed by the GL renderers (sibling by default)cmake/RendererSelection.cmake
CNA_EMSCRIPTEN_USE_WASMFSoptionONUse WasmFS for threaded Emscripten builds (legacy FS is required for IDBFS persistence)CMakeLists.txt
CNA_ENABLE_DRACOoptionOFFEnable KHR_draco_mesh_compression decodingmodules/CMakeLists.txt
CNA_ENABLE_EMSCRIPTEN_THREADSoptionOFFBuild CNA's Emscripten ABI with shared-memory pthread supportCMakeLists.txt
CNA_ENABLE_FONT_PIPELINEcache stringAUTOSpriteFont source pipeline: OFF, AUTO or ON (requires FreeType)CMakeLists.txt
CNA_ENABLE_IPOoptionOFFEnable IPO/LTO for CNA-owned release artifacts (not compatible with the static C API package)cmake/BuildPerformance.cmake
CNA_ENABLE_MEDIA_PIPELINEcache stringAUTOBuild-time MP3/WMA/WMV support for the XNA media importers: OFF, AUTO or ONmodules/content-pipeline/CMakeLists.txt
CNA_ENABLE_NEToptionONBuild CNA networking (GamerServices + Net, requires ENet)CMakeLists.txt
CNA_ENABLE_PCHoptionOFFEnable the measured precompiled-header pilot for the content unit-test object targetcmake/UnitTests.cmake
CNA_ENABLE_SDLcache stringAUTOConfigure the vendored SDL3 dependency (OFF, AUTO, or ON)cmake/SdlAvailability.cmake
CNA_ENABLE_UNITY_BUILDoptionOFFEnable the measured clean-CI unity-build pilot for the core and math modulescmake/BuildPerformance.cmake
CNA_ENABLE_VIDEOcache stringAUTOEnable FFmpeg video playback (OFF, AUTO, or ON)CMakeLists.txt
CNA_ENABLE_VOICEcache stringAUTONetwork voice through libopus: AUTO, ON or OFFmodules/net/CMakeLists.txt
CNA_EXPORT_COMPILE_COMMANDSoptionONGenerate compile_commands.json with Ninja and Makefile generatorscmake/BuildPerformance.cmake
CNA_FNA3D_GIT_REPOSITORYcache stringhttps://github.com/FNA-XNA/FNA3D.gitUpstream FNA3D repository fetched for the FNA3D graphics renderercmake/ThirdPartyFNA3D.cmake
CNA_FNA3D_GIT_TAGcache string3240147Pinned FNA3D revision used by the FNA3D graphics renderercmake/ThirdPartyFNA3D.cmake
CNA_FNA3D_TEST_DRIVERcache string${_cna_fna3d_default_test_driver}FNA3D runtime driver used by the registered FNA3D renderer testsmodules/renderers/fna3d/examples/CMakeLists.txt
CNA_FXC_EXECUTABLEcache stringPath to an fxc-compatible effect compiler, baked in as the .fx route's configure-time defaultmodules/content-pipeline/CMakeLists.txt
CNA_FXC_LAUNCHERcache stringProgram to run the effect compiler through (typically 'wine'), as the configure-time defaultmodules/content-pipeline/CMakeLists.txt
CNA_FX_FUZZER_ENTRY_POINToptionOFFBuild the compiled-effect fuzz harness for libFuzzer/AFL++ instead of standalone replaycmake/Harnesses.cmake
CNA_GAMER_SERVICES_SERVER_ROOTcache path${CMAKE_SOURCE_DIR}/../../cna-gamer-services-serverCanonical service checkout for optional protocol and E2E validationcmake/Harnesses.cmake
CNA_GRAPHICS_RENDERERcache string${_cna_default_renderer}Graphics renderer to use (${_cna_public_renderer_text})cmake/RendererSelection.cmake
CNA_GRAPHICS_RENDERERScache stringSemicolon-separated list of graphics renderers to compile in (opt-in multi-renderer mode). Empty means single-renderer mode using CNA_GRAPHICS_RENDERER.cmake/RendererDefaultSelection.cmake
CNA_IOS_DEPLOYMENT_TARGETcache string16.3Minimum iOS version CNA products are built for (CMAKE_OSX_DEPLOYMENT_TARGET default)cmake/ApplePlatform.cmake
CNA_IOS_SIMULATORoptionOFFTarget the iOS simulator SDK instead of a physical devicecmake/toolchains/ios.cmake
CNA_LINKERcache stringAUTOLinker for supported native builds (AUTO, DEFAULT, LLD, or MOLD)cmake/BuildPerformance.cmake
CNA_MACOS_DEPLOYMENT_TARGETcache string13.3Minimum macOS version CNA products are built for (CMAKE_OSX_DEPLOYMENT_TARGET default)cmake/ApplePlatform.cmake
CNA_MAX_VENDORED_BUILD_JOBScache string2Maximum parallel jobs for configure-time vendored dependency buildscmake/ThirdPartySDL.cmake
CNA_METAL_COMPILED_EFFECTSoptionOFFBuild Metal support for compiled XNA Effect bytecode (plans/plan_apple_m4.md AM4-144)cmake/RendererSelection.cmake
CNA_METAL_TEST_SHADER_VALIDATIONoptionONRun the Metal tests that ask for validation under GPU shader validation as wellmodules/renderers/metal/examples/CMakeLists.txt
CNA_PLATFORMcache stringSDL3Platform implementation (SDL3 | HEADLESS | TERMINAL)cmake/PlatformSelection.cmake
CNA_PLATFORM_CTEST_BINARYcache stringCnaTestsTest executable the CnaPlatform* ctest entries run (CnaTests or CnaPlatformModuleTests)cmake/UnitTests.cmake
CNA_PLATFORM_HOT_PATH_LINToptionONReject platform calls inside hot loops at configure time (PLAT-9)cmake/PlatformHotPathLint.cmake
CNA_PLATFORM_RATCHEToptionONReport remaining direct SDL coupling at configure time (PLAT-8)cmake/PlatformRatchet.cmake
CNA_PLATFORM_RATCHET_STRICToptionONMake the platform ratchet a hard error instead of a warning (PLAT-121)cmake/PlatformRatchet.cmake
CNA_RENDERER_DIRECTX11optionOFFEnable Direct3D 11 graphics renderer (Windows only)cmake/RendererSelection.cmake
CNA_RENDERER_DIRECTX9optionOFFEnable Direct3D 9 graphics renderer (Windows only)cmake/RendererSelection.cmake
CNA_RENDERER_FNA3DoptionOFFEnable FNA3D graphics renderer (FNA-XNA/FNA3D + MojoShader)cmake/RendererSelection.cmake
CNA_RENDERER_HEADLESSoptionOFFEnable Headless (no GPU/window) graphics renderercmake/RendererSelection.cmake
CNA_RENDERER_METALoptionOFFEnable native Apple Metal graphics renderer (macOS only)cmake/RendererSelection.cmake
CNA_RENDERER_OPENGL33optionOFFEnable desktop OpenGL 3.3 core graphics renderer (internally: EasyGL)cmake/RendererSelection.cmake
CNA_RENDERER_OPENGLES3optionOFFEnable OpenGL ES graphics renderer (internally: EasyGL)cmake/RendererSelection.cmake
CNA_RENDERER_SDL_GPUoptionOFFEnable SDL_gpu graphics renderercmake/RendererSelection.cmake
CNA_RENDERER_SDL_RENDERERoptionOFFEnable SDL_Renderer graphics renderercmake/RendererSelection.cmake
CNA_RENDERER_SOFTWAREoptionOFFEnable Software (CPU rasterizer) graphics renderercmake/RendererSelection.cmake
CNA_RENDERER_STUBoptionOFFEnable Stub (no-op) graphics renderercmake/RendererSelection.cmake
CNA_RENDERER_VULKANoptionOFFEnable Vulkan graphics renderercmake/RendererSelection.cmake
CNA_RENDERER_WEBGL2optionOFFEnable WebGL 2 graphics renderer, Emscripten only (internally: EasyGL)cmake/RendererSelection.cmake
CNA_RENDERER_WEBGPUoptionOFFEnable WebGPU graphics renderer (wgpu-native)cmake/RendererSelection.cmake
CNA_ROOTcache path${CMAKE_CURRENT_SOURCE_DIR}/../../..Path to the main CNA repository checkout (modules/ physical layout)tools/media/arithmetic32bit/CMakeLists.txt
CNA_SANITIZEcache stringComma-separated sanitizers to enable (for example address,undefined); empty disablescmake/BuildPerformance.cmake
CNA_SANITIZE_OPTIMIZATIONcache stringDEFAULTOptimization override for sanitizer builds (DEFAULT, O0, O1, O2, or O3)cmake/BuildPerformance.cmake
CNA_SDLGPU_TEST_VIDEO_DRIVERcache string${_cna_sdlgpu_default_test_video_driver}SDL video driver used by SDL_GPU renderer integration testsmodules/renderers/sdl-gpu/examples/CMakeLists.txt
CNA_SDL_GPU_COMPILED_EFFECTSoptionOFFBuild SDL_GPU support for compiled XNA Effect bytecode (plans/plan_fx.md FX-061)cmake/RendererSelection.cmake
CNA_SDL_GPU_SHADERCROSSoption${_cna_sdl_gpu_shadercross_default}Enable portable SPIR-V stock shaders through SDL_shadercrosscmake/RendererSelection.cmake
CNA_SDL_PREBUILT_ROOTcache path${_cna_sdl_prebuilt_default}Persistent SDL3 install root (survives cmake --clean and build-tree deletion)cmake/ThirdPartySDL.cmake
CNA_SDL_RUNTIME_LIBRARIEScache internal${RUNTIME_DIRECTORY}/SDL3.dll;${RUNTIME_DIRECTORY}/SDL3_image.dll;${RUNTIME_DIRECTORY}/SDL3_mixer.dllcmake/Tests/SdlRuntimeProbe/CMakeLists.txt
CNA_SDL_SHADERCROSS_GIT_REPOSITORYcache stringhttps://github.com/libsdl-org/SDL_shadercross.gitOfficial SDL_shadercross repository used by the SDL_GPU renderercmake/ThirdPartySDLShaderCross.cmake
CNA_SDL_SHADERCROSS_GIT_TAGcache string1ff05bec573988a98ef9e0260b4da44f512b8367Pinned SDL_shadercross revision used by the SDL_GPU renderercmake/ThirdPartySDLShaderCross.cmake
CNA_SHARED_LIBRARYoption${_cna_shared_library_supported}Link the CNA runtime into one shared library (libcna.so) instead of statically into every executableCMakeLists.txt
CNA_SHARP_RUNTIME_ROOTcache path${CMAKE_CURRENT_SOURCE_DIR}/../sharp-runtimePath to the sharp-runtime checkout consumed by this build (sibling by default)CMakeLists.txt
CNA_SOFTWARE_COMPILED_EFFECTSoptionOFFBuild Software support for compiled XNA Effect bytecodecmake/RendererSelection.cmake
CNA_SPIRV_CROSS_GIT_REPOSITORYcache stringhttps://github.com/KhronosGroup/SPIRV-Cross.gitSPIRV-Cross repository used by SDL_shadercrosscmake/ThirdPartySDLShaderCross.cmake
CNA_SPIRV_CROSS_GIT_TAGcache stringvulkan-sdk-1.4.350.0Pinned SPIRV-Cross revision used by SDL_shadercrosscmake/ThirdPartySDLShaderCross.cmake
CNA_TEST_ALLOW_LIVE_DISPLAYoptionOFFAllow CNA_TEST_DISPLAY to name the live desktop display (:0): tests will open windows on itcmake/TestDisplayPolicy.cmake
CNA_TEST_DISPLAYcache stringDISPLAY forced on GPU/window-creating tests; empty (default) = inherit the caller's. :0 also needs CNA_TEST_ALLOW_LIVE_DISPLAY=ONcmake/TestDisplayPolicy.cmake
CNA_USE_CCACHEoptionONUse ccache for CNA and sharp-runtime builds when availableCMakeLists.txt
CNA_USE_SYSTEM_DRACOoptionOFFUse a system Draco package instead of CNA's pinned submodulemodules/CMakeLists.txt
CNA_USE_SYSTEM_SDLoptionOFFUse system SDL packages instead of vendored submodulescmake/ThirdPartySDL.cmake
CNA_VULKAN_COMPILED_EFFECTSoptionOFFBuild Vulkan support for compiled XNA Effect bytecode (plans/plan_fx.md FX-065)cmake/RendererSelection.cmake
CNA_VULKAN_VALIDATION_GATE_EXEMPTcache internalplan_vulkan.md VULKAN-393: CTests exempt from the Vulkan validation gatecmake/TestHelpers.cmake
CNA_WEBGPU_AUTO_DOWNLOADoptionONDownload the pinned wgpu-native binary release when CNA_WEBGPU_ROOT is emptycmake/ThirdPartyWebGPU.cmake
CNA_WEBGPU_COMPILED_EFFECTSoptionOFFBuild WebGPU support for compiled XNA Effect bytecode (plans/plan_webgpu.md WEBGPU-167)cmake/RendererSelection.cmake
CNA_WEBGPU_RESOLVED_ROOTcache internal${_root}Resolved wgpu-native rootcmake/ThirdPartyWebGPU.cmake
CNA_WEBGPU_ROOTcache pathRoot of an extracted official wgpu-native releasecmake/ThirdPartyWebGPU.cmake
CNA_WEBGPU_RUNTIME_LIBRARYcache internal${_webgpu_runtime_library}wgpu-native runtime librarycmake/ThirdPartyWebGPU.cmake
CNA_WEBGPU_VERSIONcache stringv29.0.1.1Pinned wgpu-native release used by CNAcmake/ThirdPartyWebGPU.cmake
CNA_XNA_INTERMEDIATE_FUZZER_ENTRY_POINToptionOFFBuild the intermediate-XML fuzz harness for libFuzzer/AFL++ instead of standalone replaycmake/Harnesses.cmake
CNA_XNA_MODEL_FUZZER_ENTRY_POINToptionOFFBuild the .x/FBX fuzz harness for libFuzzer/AFL++ instead of standalone replaycmake/Harnesses.cmake
DRACO_GLTF_BITSTREAMcache boolONBuild only Draco's glTF bitstream featuresmodules/CMakeLists.txt
DRACO_INSTALLcache boolOFFDisable vendored Draco install rulesmodules/CMakeLists.txt
DRACO_JS_GLUEcache boolOFFDisable vendored Draco JavaScript gluemodules/CMakeLists.txt
DRACO_MAYA_PLUGINcache boolOFFDisable vendored Draco Maya pluginmodules/CMakeLists.txt
DRACO_TESTScache boolOFFDisable vendored Draco testsmodules/CMakeLists.txt
DRACO_TRANSCODER_SUPPORTEDcache boolOFFDisable vendored Draco transcodermodules/CMakeLists.txt
DRACO_UNITY_PLUGINcache boolOFFDisable vendored Draco Unity pluginmodules/CMakeLists.txt
DRACO_WASMcache boolOFFDisable vendored Draco WASM targetsmodules/CMakeLists.txt
EASYGL_EMSCRIPTEN_EXCEPTION_MODELcache stringJSException ABI used by easy-gl when embedded in CNAcmake/RendererSelection.cmake
SDLSHADERCROSS_CLIcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SDLSHADERCROSS_DXCcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SDLSHADERCROSS_INSTALLcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SDLSHADERCROSS_SHAREDcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SDLSHADERCROSS_SPIRVCROSS_SHAREDcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SDLSHADERCROSS_STATICcache boolONcmake/ThirdPartySDLShaderCross.cmake
SDLSHADERCROSS_TESTScache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SDLSHADERCROSS_VENDOREDcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SHARP_RUNTIME_BUILD_TESTScache boolOFFBuild sharp-runtime testsCMakeLists.txt
SHARP_RUNTIME_COMPONENTScache string${CNA_SHARP_RUNTIME_DEFAULT_COMPONENTS}Sharp Runtime components required by CNACMakeLists.txt
SHARP_RUNTIME_ENABLE_EMSCRIPTEN_THREADScache boolONBuild Emscripten targets with shared-memory pthread supportCMakeLists.txt
SPIRV_CROSS_CLIcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_CPPcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_C_APIcache boolONcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_GLSLcache boolONcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_HLSLcache boolONcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_MSLcache boolONcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_REFLECTcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_TESTScache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_ENABLE_UTILcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_FORCE_PICcache boolONcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_SHAREDcache boolOFFcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_SKIP_INSTALLcache boolONcmake/ThirdPartySDLShaderCross.cmake
SPIRV_CROSS_STATICcache boolONcmake/ThirdPartySDLShaderCross.cmake

The same subsystem is explained at four altitudes. These are the neighbouring pages at each one.

User guide
Building CNA
Maintainer workflow
Change build configuration