Help/command/ctest_build.rst
Perform the :ref:CTest Build Step as a :ref:Dashboard Client.
.. code-block:: cmake
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 the project and store results in Build.xml
for submission with the :command:ctest_submit command.
The :variable:CTEST_BUILD_COMMAND variable may be set to explicitly
specify the build command line when no preset is selected. Otherwise
the build command line is computed automatically based on the options given.
The options are:
BUILD <build-dir>
Specify the top-level build directory. If not given, the
:variable:CTEST_BINARY_DIRECTORY variable is used.
APPEND
Mark Build.xml for append to results previously submitted to a
dashboard server since the last :command:ctest_start call.
Append semantics are defined by the dashboard server in use.
This does not cause results to be appended to a .xml file
produced by a previous call to this command.
CONFIGURATION <config>
Specify the build configuration (e.g. Debug). If not
specified the CTEST_BUILD_CONFIGURATION variable will be checked.
Otherwise the :option:-C \<cfg\> <ctest -C> option given to the
:manual:ctest(1) command will be used, if any.
PARALLEL_LEVEL <parallel>
.. versionadded:: 3.21
Specify the parallel level of the underlying build system. If not
specified, the :envvar:CMAKE_BUILD_PARALLEL_LEVEL environment
variable will be checked.
FLAGS <flags>
Pass additional arguments to the underlying build command.
If not specified the CTEST_BUILD_FLAGS variable will be checked.
This can, e.g., be used to trigger a parallel build using the
-j option of make. See the :module:ProcessorCount module
for an example.
PROJECT_NAME <project-name>
Ignored since CMake 3.0.
.. versionchanged:: 3.14 This value is no longer required.
TARGET <target-name>
Specify the name of a target to build. If not specified the
CTEST_BUILD_TARGET variable will be checked. Otherwise the
default target will be built. This is the "all" target
(called ALL_BUILD in :ref:Visual Studio Generators).
NUMBER_ERRORS <num-err-var>
Store the number of build errors detected in the given variable.
NUMBER_WARNINGS <num-warn-var>
Store the number of build warnings detected in the given variable.
PRESET <preset>
.. versionadded:: 4.4
Specify a :manual:preset <cmake-presets(7)> to use when building the
project. Any value set in the CTest script will take priority over a
corresponding setting from the preset. For example, the TARGET
argument will override the :preset:buildPresets.targets setting from
the chosen preset.
When a preset is specified, the :variable:CTEST_BUILD_COMMAND
variable is ignored so that the preset is always honored.
See also the :variable:CTEST_BUILD_PRESET and
:variable:CTEST_PRESET variables.
PRESETS_FILE <file>
.. versionadded:: 4.4
Specify a :manual:presets <cmake-presets(7)> file to use instead of the
default CMakePresets.json in the source directory.
A relative path is interpreted relative to the source directory.
Has no effect unless a preset is selected via the PRESET argument
or the :variable:CTEST_BUILD_PRESET or :variable:CTEST_PRESET
variables.
See also the :variable:CTEST_PRESETS_FILE variable.
RETURN_VALUE <result-var>
Store the return value of the native build tool in the given variable.
CAPTURE_CMAKE_ERROR <result-var>
.. versionadded:: 3.7
Store in the <result-var> variable -1 if there are any errors running
the command and prevent ctest from returning non-zero if an error occurs.
QUIET
.. versionadded:: 3.3
Suppress any CTest-specific non-error output that would have been printed to the console otherwise. The summary of warnings / errors, as well as the output from the native build tool is unaffected by this option.