Документация
Docs/ru/reference/cmake/stages.md
Стадии и hooks проекта CMake
Сгенерированный справочник. Не редактируйте эту страницу напрямую. Обновите
BuildTools/cmake/ProjectInterface.json, затем выполнитеpython BuildTools/docs_cmake.py --write.
| Индекс справочника | Каноническая JSON-модель | Контракт генерации |
Подключающие проекты должны вызвать каждую точку входа ровно один раз в указанном ниже порядке. Повторный вызов стадии, нарушение порядка или пропуск предшественника прерывают настройку CMake.
Регистрируйте hooks через AddStageHook(<stage> <Pre|Post> <macro-name>) до выполнения целевой стадии. Hooks выполняются в порядке регистрации.
| Порядок | Стабильный ID | Стадия | Точка входа | Hooks | Источник | Ответственность |
|---|---|---|---|---|---|---|
| 1 | cmake.stage.Init |
Init |
StartProjectGeneration |
Pre, Post |
BuildTools/cmake/stages/Init.cmake | Объявляет параметры, определяет платформу и toolchain и создаёт общее состояние сборки. |
| 2 | cmake.stage.ProjectOptions |
ProjectOptions |
RegisterProjectOptions |
Pre, Post |
BuildTools/cmake/stages/ProjectOptions.cmake | Нормализует комбинации параметров проекта и отклоняет несовместимые режимы сборки. |
| 3 | cmake.stage.ThirdParty |
ThirdParty |
AddThirdPartyLibraries |
Pre, Post |
BuildTools/cmake/stages/ThirdParty.cmake | Регистрирует встроенные сторонние зависимости и изоляцию поиска пакетов. |
| 4 | cmake.stage.EngineSources |
EngineSources |
RegisterEngineSources |
Pre, Post |
BuildTools/cmake/stages/EngineSources.cmake | Собирает списки исходников движка и подключающего проекта, а также входы сгенерированных ресурсов. |
| 5 | cmake.stage.Codegen |
Codegen |
SetupCodeGeneration |
Pre, Post |
BuildTools/cmake/stages/Codegen.cmake | Определяет выходы сгенерированных метаданных и исходников и цели генерации кода. |
| 6 | cmake.stage.CoreLibs |
CoreLibs |
BuildCoreLibraries |
Pre, Post |
BuildTools/cmake/stages/CoreLibs.cmake | Создаёт переиспользуемые библиотеки движка из зарегистрированных групп исходников. |
| 7 | cmake.stage.Applications |
Applications |
BuildApplications |
Pre, Post |
BuildTools/cmake/stages/Applications.cmake | Создаёт включённые приложения клиента, сервера, Mapper, компилятора, baker, viewer и тестов. |
| 8 | cmake.stage.ScriptsAndBaking |
ScriptsAndBaking |
SetupScriptsAndBaking |
Pre, Post |
BuildTools/cmake/stages/ScriptsAndBaking.cmake | Создаёт цели компиляции скриптов и запекания ресурсов. |
| 9 | cmake.stage.Packages |
Packages |
BuildPackages |
Pre, Post |
BuildTools/cmake/stages/Packages.cmake | Создаёт цели пакетов из объявлений пакетов подключающего проекта. |
| 10 | cmake.stage.Finalize |
Finalize |
FinalizeProjectGeneration |
Pre, Post |
BuildTools/cmake/stages/Finalize.cmake | Завершает организацию целей и проверяет, что каждая стадия выполнена ровно один раз. |