summaryrefslogtreecommitdiffstats
path: root/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
blob: a8c40359a5ea505addc4e6b747c47edb3a45b732 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CMAKE_NINJA_OUTPUT_PATH_PREFIX
------------------------------

.. versionadded:: 3.6

Set output files path prefix for the :generator:`Ninja` generator.

Every output files listed in the generated ``build.ninja`` will be
prefixed by the contents of this variable (a trailing slash is
appended if missing).  This is useful when the generated ninja file is
meant to be embedded as a ``subninja`` file into a *super* ninja
project.  For example, a ninja build file generated with a command
like::

  cd top-build-dir/sub &&
  cmake -G Ninja -DCMAKE_NINJA_OUTPUT_PATH_PREFIX=sub/ path/to/source

can be embedded in ``top-build-dir/build.ninja`` with a directive like
this::

  subninja sub/build.ninja

The ``auto-regeneration`` rule in ``top-build-dir/build.ninja`` must have an
order-only dependency on ``sub/build.ninja``.

.. note::
  When ``CMAKE_NINJA_OUTPUT_PATH_PREFIX`` is set, the project generated
  by CMake cannot be used as a standalone project.  No default targets
  are specified.