ctest_build
Выполнить этап сборки CTest в качестве клиента панели мониторинга.
ctest_build([BUILD <build-dir>] [APPEND]
[CONFIGURATION <config>]
[PARALLEL_LEVEL <parallel>]
[FLAGS <flags>]
[PROJECT_NAME <project-name>]
[TARGET <target-name>]
[NUMBER_ERRORS <num-err-var>]
[NUMBER_WARNINGS <num-warn-var>]
[RETURN_VALUE <result-var>]
[CAPTURE_CMAKE_ERROR <result-var>]
[PRESET <preset>]
[PRESETS_FILE <file>]
)
Собрать проект и сохранить результаты в Build.xml для отправки с помощью команды ctest_submit().
Переменной CTEST_BUILD_COMMAND можно задать командную строку сборки явно, если набор предварительных настроек не выбран. В противном случае командная строка сборки вычисляется автоматически на основе указанных параметров.
Доступны следующие параметры:
-
BUILD <build-dir> -
Указать каталог сборки верхнего уровня. Если он не задан, используется переменная
CTEST_BINARY_DIRECTORY. -
APPEND -
Пометить
Build.xmlдля добавления к результатам, ранее отправленным на сервер панели мониторинга после последнего вызоваctest_start(). Семантика добавления определяется используемым сервером панели мониторинга. Это не приводит к добавлению результатов в файл.xml, созданный предыдущим вызовом этой команды. -
CONFIGURATION <config> -
Указать конфигурацию сборки (например,
Debug). Если значение не указано, будет проверена переменнаяCTEST_BUILD_CONFIGURATION. В противном случае будет использоваться параметр-C <cfg>, заданный для командыctest(1), если он есть. -
PARALLEL_LEVEL <parallel> -
Добавлено в версии 3.21.
Указать уровень параллелизма используемой системы сборки. Если значение не указано, будет проверена переменная среды
CMAKE_BUILD_PARALLEL_LEVEL. -
FLAGS <flags> -
Передать дополнительные аргументы используемой команде сборки. Если они не указаны, будет проверена переменная
CTEST_BUILD_FLAGS. Например, это можно использовать для запуска параллельной сборки с помощью параметра-jкомандыmake. Пример см. в модулеProcessorCount. -
PROJECT_NAME <project-name> -
Не учитывается начиная с CMake 3.0.
Изменено в версии 3.14: Теперь это значение не требуется.
-
TARGET <target-name> -
Указать имя собираемой цели. Если значение не указано, будет проверена переменная
CTEST_BUILD_TARGET. В противном случае будет собрана цель по умолчанию. Это цель «all» (в генераторах Visual Studio она называетсяALL_BUILD). -
NUMBER_ERRORS <num-err-var> -
Сохранить количество обнаруженных ошибок сборки в указанной переменной.
-
NUMBER_WARNINGS <num-warn-var> -
Сохранить количество обнаруженных предупреждений сборки в указанной переменной.
-
PRESET <preset> -
Добавлено в версии 4.4.
Указать
preset, используемый при сборке проекта. Любое значение, заданное в скрипте CTest, имеет приоритет над соответствующим параметром из набора предварительных настроек. Например, аргументTARGETпереопределит параметрtargetsвыбранного набора предварительных настроек.Если указан набор предварительных настроек, переменная
CTEST_BUILD_COMMANDигнорируется, чтобы выбранный набор предварительных настроек всегда применялся.См. также переменные
CTEST_BUILD_PRESETиCTEST_PRESET. -
PRESETS_FILE <file> -
Добавлено в версии 4.4.
Указать файл
presets, который следует использовать вместо файлаCMakePresets.jsonпо умолчанию в каталоге исходного кода. Относительный путь интерпретируется относительно каталога исходного кода. Не действует, если набор предварительных настроек не выбран с помощью аргументаPRESETили переменныхCTEST_BUILD_PRESETлибоCTEST_PRESET.См. также переменную
CTEST_PRESETS_FILE. -
RETURN_VALUE <result-var> -
Сохранить возвращаемое значение нативного инструмента сборки в указанной переменной.
-
CAPTURE_CMAKE_ERROR <result-var> -
Добавлено в версии 3.7.
Сохранить в переменной
<result-var>значение -1, если при выполнении команды возникли ошибки, и не позволять ctest возвращать ненулевой код завершения в случае ошибки. -
QUIET -
Добавлено в версии 3.3.
Подавлять вывод, специфичный для CTest и не связанный с ошибками, который в противном случае отображался бы в консоли. Сводка предупреждений и ошибок, а также вывод нативного инструмента сборки этим параметром не затрагиваются.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/command/ctest_build.html