Ninja¶
Generates a build.ninja file into the build tree.
Built-In Targets¶
all
Depends on all targets required by the project, except those with
EXCLUDE_FROM_ALLset to true.
install
Runs the install step.
install/strip
Добавлено в версии 3.7: Runs the install followed by a
CMAKE_STRIPcommand, if any.The
CMAKE_STRIPvariable will contain the platform'sstriputility, which removes symbols information from generated binaries.
install/parallel
Добавлено в версии 3.30: Created only if the
INSTALL_PARALLELglobal property isON. Runs the install step for each subdirectory independently and in parallel.
install_prep/<component>
Добавлено в версии 4.5: Created if the project has install rules, unless the
CMAKE_SKIP_INSTALL_PREP_TARGETSorCMAKE_SKIP_INSTALL_RULESvariable is enabled. Builds all known build dependencies for the named install component. Components whose names cannot be represented safely are excluded. See Install Preparation Targets and Target Names.
install_prep/all
Добавлено в версии 4.5: Created if the project has install rules, unless the
CMAKE_SKIP_INSTALL_PREP_TARGETSorCMAKE_SKIP_INSTALL_RULESvariable is enabled. Builds all known build dependencies for an installation that does not select a component. See Install Preparation Targets.
test_prep/<test-name>
Добавлено в версии 4.4: Created unless the
CMAKE_SKIP_TEST_PREP_TARGETSvariable 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 explicitBUILD_DEPENDSentries.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. See thecmake-buildsystem(7)manual for more details on Target Names.Individual
test_prep/<test-name>targets are not created for tests discovered at test time, because their names are not known during generation.Изменено в версии 4.5: These targets are created by default. In CMake 4.4, they were created only if the
CMAKE_TEST_BUILD_DEPENDSvariable was enabled.
test_prep/all
Добавлено в версии 4.4: Created unless the
CMAKE_SKIP_TEST_PREP_TARGETSvariable is enabled. Depends on every generatedtest_prep/<test-name>target. Also builds dependencies recorded by theCMAKE_TEST_BUILD_DEPENDSdirectory property.Изменено в версии 4.5: This target is created by default. In CMake 4.4, it was created only if the
CMAKE_TEST_BUILD_DEPENDSvariable was enabled.
For each subdirectory sub/dir of the project, additional targets
are generated:
sub/dir/all
Добавлено в версии 3.6: Depends on all targets required by the subdirectory.
sub/dir/install
Добавлено в версии 3.7: Runs the install step in the subdirectory, if any.
sub/dir/install/strip
Добавлено в версии 3.7: Runs the install step in the subdirectory followed by a
CMAKE_STRIPcommand, if any.
sub/dir/test
Добавлено в версии 3.7: Runs the test step in the subdirectory, if any.
sub/dir/package
Добавлено в версии 3.7: Runs the package step in the subdirectory, if any.
Fortran Support¶
Добавлено в версии 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¶
Добавлено в версии 3.15.
The Swift support is experimental, not considered stable, and may change in future releases of CMake.
See Also¶
Добавлено в версии 3.17: The Ninja Multi-Config generator is similar to the Ninja
generator, but generates multiple configurations at once.