mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
CMake writes ConfigureCommand and MakeCommand entries into DartConfiguration.tcl when configuring a project that uses the CTest module. These values prevented users from being able to use configure/build presets in dashboard client mode from a pre-configured build directory. This commit updates ctest_configure() and ctest_build() to ignore CTEST_CONFIGURE_COMMAND / CTEST_BUILD_COMMAND when a preset is specified. This allows the requested preset to be honored.
123 lines
4.3 KiB
ReStructuredText
123 lines
4.3 KiB
ReStructuredText
ctest_build
|
|
-----------
|
|
|
|
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.
|