CMAKE_NINJA_OUTPUT_PATH_PREFIX¶
在 3.6 版本中加入。
告诉 Ninja Generators 在 build.ninja
中为每个输出路径添加前缀。如果缺少,则在前缀后附加一个尾部斜杠。
当生成的 ninja 文件旨在作为 subninja
文件嵌入到 super ninja 项目中时,这非常有用。例如,命令
cd super-build-dir &&
cmake -G Ninja -S /path/to/src -B sub -DCMAKE_NINJA_OUTPUT_PATH_PREFIX=sub/
# ^^^---------- these match -----------^^^
在 super-build-dir/sub
中生成一个包含顶层目录的构建目录 (CMAKE_BINARY_DIR
)。构建目录的路径以输出路径前缀结尾。这使其适用于在单独编写的 super-build-dir/build.ninja
文件中使用,并带有如下指令
subninja sub/build.ninja
super-build-dir/build.ninja
中的 auto-regeneration
规则必须具有对 sub/build.ninja
的仅顺序依赖。
在 3.27 版本中加入:Ninja Multi-Config
生成器支持此变量。
注意
当设置 CMAKE_NINJA_OUTPUT_PATH_PREFIX
时,CMake 生成的项目不能用作独立项目。没有指定默认目标。
CMAKE_NINJA_OUTPUT_PATH_PREFIX
的值必须与 CMAKE_BINARY_DIR
末尾 的一个或多个路径组件匹配,否则行为是未定义的。但是,此要求不会自动检查。