Система сборки
Система сборки NIKA основана на принципах системы сборки sc-machine. Чтобы узнать больше о них, прочитайте документацию по системе сборки sc-machine.
Этапы компиляции
Этот проект использует пресеты CMake. Эти пресеты помогают управлять различными конфигурациями сборки, упрощая работу с зависимостями и оптимизируя процесс сборки.
Если вы хотите использовать CLI, вы можете перечислить все доступные конфигурации в файле CMakePresets.json
и выбрать один из пресетов:
Конфигурационные пресеты
Конфигурационные пресеты определяют, как проект настраивается перед сборкой. Они задают различные параметры, включая включение тестов и используемые зависимости.
Имя | Отображаемое имя | Описание | Расположение сборки |
---|---|---|---|
debug-conan |
Конфигурация Debug (Conan) | Конфигурация Debug с тестами (используются зависимости Conan) | build/Debug |
release-conan |
Конфигурация Release (Conan) | Конфигурация Release (используются зависимости Conan) | build/Release |
release-with-tests-conan |
Конфигурация Release с тестами (Conan) | Конфигурация Release с тестами (используются зависимости Conan) | build/Release |
Пресеты сборки
Пресеты сборки связаны с конфигурационными пресетами и определяют, как собирать проект. Они задают выходные каталоги в зависимости от выбранной конфигурации.
Имя | Конфигурационный пресет | Расположение сборки |
---|---|---|
debug |
debug-conan |
build/Debug |
release |
release-conan , release-with-tests-conan |
build/Release |
Рекомендации
- Для разработки и отладки используйте пресет Конфигурация Debug (Conan) (
debug-conan
). Эта конфигурация включает опции для тестирования и бенчмаркинга. - Для сборки в production используйте пресет Конфигурация Release (Conan) (
release-conan
), чтобы создать оптимизированные сборки без отладочной информации. - Если вам нужно запустить тесты в production сборке, выберите пресет Конфигурация Release с тестами (Conan) (
release-with-tests-conan
).
Пример использования
Чтобы собрать ваш проект с использованием этих пресетов, вы можете использовать следующие команды:
# Установите зависимости с использованием Conan с типом сборки Debug
conan install . -s build_type=Debug --build=missing
# Настройте с использованием пересета debug-conan
cmake --preset debug-conan
# Соберите с использованием пересета debug
cmake --build --preset debug
Чтобы собрать проект для release, вы можете собрать с тестами, чтобы убедиться, что все работает как ожидается:
# Установите зависимости с использованием Conan с типом сборки Release
conan install . -s build_type=Release --build=missing
# Настройте с использованием пресета release-with-tests
cmake --preset release-with-tests-conan
# Соберите с использованием пресета release
cmake --build --preset release
Мы также определяем инструкции INSTALL
в нашем CMake. Эта процедура может быть запущена путем добавления --target install
к команде cmake --build --preset <preset>
. Результат этой команды будет находиться в build/<Release|Debug>/install
(наша папка установки по умолчанию). Папка установки представляет собой набор переносимых исполняемых файлов и общих библиотек, необходимых для запуска NIKA. Эта команда предназначена для создания архивов/папок с нашим кодом, которые вы можете использовать в своих проектах.