mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-05 23:30:25 +00:00
Add `test_prep/<test_name>` convenience targets to the ninja generator to build dependencies of tests, and `test_prep/all` to build the dependencies of all tests. Build dependencies of a test include: - Executables directly invoked by test `COMMAND`. - Targets mentioned in generator expressionf os test `COMMAND`. - Anything explicitly listed with the new `BUILD_DEPENDS` argument of `add_test`. Issue: #27613
110 lines
2.6 KiB
ReStructuredText
110 lines
2.6 KiB
ReStructuredText
Ninja
|
|
-----
|
|
|
|
Generates a ``build.ninja`` file into the build tree.
|
|
|
|
Builtin Targets
|
|
^^^^^^^^^^^^^^^
|
|
|
|
``all``
|
|
|
|
Depends on all targets required by the project, except those with
|
|
:prop_tgt:`EXCLUDE_FROM_ALL` set to true.
|
|
|
|
``install``
|
|
|
|
Runs the install step.
|
|
|
|
``install/strip``
|
|
|
|
.. versionadded:: 3.7
|
|
|
|
Runs the install followed by a ``CMAKE_STRIP`` command, if any.
|
|
|
|
The ``CMAKE_STRIP`` variable will contain the platform's ``strip`` utility, which
|
|
removes symbols information from generated binaries.
|
|
|
|
``install/parallel``
|
|
|
|
.. versionadded:: 3.30
|
|
|
|
Created only if the :prop_gbl:`INSTALL_PARALLEL` global property is ``ON``.
|
|
Runs the install step for each subdirectory independently and in parallel.
|
|
|
|
``test_prep/<test-name>``
|
|
|
|
.. versionadded:: 4.4
|
|
|
|
Created only if the :variable:`CMAKE_TEST_BUILD_DEPENDS` variable is
|
|
enabled. Builds all known build dependencies for the named test, including
|
|
the executable target invoked by the test, targets referenced by generator
|
|
expressions in the test command, and explicit ``BUILD_DEPENDS`` entries.
|
|
|
|
Tests with names that are not valid target names are excluded. If multiple
|
|
tests in different directories share the same name, their dependencies are
|
|
merged into one ``test_prep/<test-name>`` target.
|
|
|
|
``test_prep/all``
|
|
|
|
.. versionadded:: 4.4
|
|
|
|
Created only if the :variable:`CMAKE_TEST_BUILD_DEPENDS` variable is
|
|
enabled. Depends on every generated ``test_prep/<test-name>`` target.
|
|
|
|
For each subdirectory ``sub/dir`` of the project, additional targets
|
|
are generated:
|
|
|
|
``sub/dir/all``
|
|
|
|
.. versionadded:: 3.6
|
|
|
|
Depends on all targets required by the subdirectory.
|
|
|
|
``sub/dir/install``
|
|
|
|
.. versionadded:: 3.7
|
|
|
|
Runs the install step in the subdirectory, if any.
|
|
|
|
``sub/dir/install/strip``
|
|
|
|
.. versionadded:: 3.7
|
|
|
|
Runs the install step in the subdirectory followed by a ``CMAKE_STRIP`` command,
|
|
if any.
|
|
|
|
``sub/dir/test``
|
|
|
|
.. versionadded:: 3.7
|
|
|
|
Runs the test step in the subdirectory, if any.
|
|
|
|
``sub/dir/package``
|
|
|
|
.. versionadded:: 3.7
|
|
|
|
Runs the package step in the subdirectory, if any.
|
|
|
|
Fortran Support
|
|
^^^^^^^^^^^^^^^
|
|
|
|
.. versionadded:: 3.7
|
|
|
|
The ``Ninja`` generator conditionally supports Fortran when the ``ninja``
|
|
tool is at least version 1.10 (which has the required features).
|
|
|
|
Swift Support
|
|
^^^^^^^^^^^^^
|
|
|
|
.. versionadded:: 3.15
|
|
|
|
The Swift support is experimental, not considered stable, and may change
|
|
in future releases of CMake.
|
|
|
|
See Also
|
|
^^^^^^^^
|
|
|
|
.. versionadded:: 3.17
|
|
The :generator:`Ninja Multi-Config` generator is similar to the ``Ninja``
|
|
generator, but generates multiple configurations at once.
|