#visual-studio #cmake #automation
#visual-studio #cmake #автоматизация
Вопрос:
Обычные решения MSVC (.sln) могут быть собраны (легко отлаживаются выпускаются) через MSBuild — просто файл .sln с ключом конфигурации должен быть передан в MSBuild.
Теперь у меня есть файл проекта CMake (CMakeLists.txt ) с соответствующим файлом настроек (CMakeSettings.json). Это хорошая связка при использовании MSVC в ручном режиме.
Но как вышеописанная сборка cmake (Debug Release CMakeSettings.json) может быть автоматизирована?
Комментарии:
1. Я обнаружил, что обработка CMake в Windows (и macos) недостаточно сложна для нашей системы сборки и автоматизации, поэтому мы просто удалили cmake и вернулись к файлам решений.
Ответ №1:
Вот руководство о том, как это работает в VS 2019, если вы откроете CMakeLists.txt
файл из VS, он попытается выполнить сканирование и использует его с некоторыми другими файлами в качестве файла проекта. Это не сильно отличается от стандартных решений, просто используются некоторые другие файлы.
Комментарии:
1. Описано, как создать решение вручную с помощью IDE. В моем случае я ищу способ, как собрать его из командной строки без IDE. Потому что я хочу автоматизировать все сборки без какой-либо ручной работы.
Ответ №2:
Обратите внимание, что в VS2019 правильный способ сделать это — использовать CMakePresets.json, а затем вы можете создать CI с помощью cmake из cmd.exe . CMakeSettings.json устарел. Чтобы включить их поддержку, есть опция, которую необходимо включить. Смотрите эту ссылку https://learn.microsoft.com/en-us/cpp/build/cmake-presets-vs?view=msvc-160 для получения дополнительной информации.
tl;dr Для сборки из командной строки выполните следующие действия:
cmake --preset "configurePreset-name"
cmake --build --preset "buildPreset-name"