Generated CMake Project Interface
Generated reference. Do not edit this page directly. Update
BuildTools/cmake/ProjectInterface.json, then runpython BuildTools/docs_cmake.py --write.
| Reference index | Canonical JSON model | Generation contract |
This reference describes the project-facing CMake surface consumed by an embedding game repository. The manifest is a checked documentation model of the current CMake declarations; the implementation in BuildTools/Init.cmake and the stage/helper files remains authoritative at configure time.
Contract status
| Field | Value |
|---|---|
| Stability | experimental |
| Since | Not declared |
| Support policy | No versioned support line is declared yet; embedding projects should pin an engine revision. |
| Source manifest | BuildTools/cmake/ProjectInterface.json |
Coverage
| Reference | Entries | Purpose |
|---|---|---|
| Project options | 45 | Required inputs, defaults, and override precedence. |
| Stages and hooks | 10 | Strict project-generation order and extension boundaries. |
| Project helpers | 6 | Selected commands intended for embedding projects. |
Option override precedence
- matching FO_ environment variable
- existing CMake cache or -D value
- SetOption value supplied by the embedding project
- declared interface default
The first defined source wins. Required options have no interface default and must be supplied by the project.
Boundary
Included:
- project cache options declared during the Init stage
- ordered project-generation stage entrypoints and hooks
- selected embedding-project helper commands
Excluded from this slice:
- internal CMake implementation helpers
- package declaration grammar and payload layouts
- BuildTools command-line interfaces
- toolchain files and platform preset policy
Package declarations and payloads are documented by the separate package interface reference. The main BuildTools command line is documented by the separate parser-backed CLI reference.