Ninja

Generates a build.ninja file into the build tree.

Builtin Targets

all

Depends on all targets required by the project, except those with EXCLUDE_FROM_ALL set to true.

install

Runs the install step.

install/strip

New in version 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

New in version 3.30: Created only if the INSTALL_PARALLEL global property is ON. Runs the install step for each subdirectory independently and in parallel.

For each subdirectory sub/dir of the project, additional targets are generated:

sub/dir/all

New in version 3.6: Depends on all targets required by the subdirectory.

sub/dir/install

New in version 3.7: Runs the install step in the subdirectory, if any.

sub/dir/install/strip

New in version 3.7: Runs the install step in the subdirectory followed by a CMAKE_STRIP command, if any.

sub/dir/test

New in version 3.7: Runs the test step in the subdirectory, if any.

sub/dir/package

New in version 3.7: Runs the package step in the subdirectory, if any.

Fortran Support

New in version 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

New in version 3.15.

The Swift support is experimental, not considered stable, and may change in future releases of CMake.

See Also

New in version 3.17: The Ninja Multi-Config generator is similar to the Ninja generator, but generates multiple configurations at once.