CMAKE_NINJA_OUTPUT_PATH_PREFIX

添加于 3.6 版本。

告诉 Ninja 发生器build.ninja 中的每个输出路径添加一个前缀。如果缺少前缀,则追加尾随斜杠。

当生成的 ninja 文件被导入为一个 super ninja 项目的 subninja 文件时,此功能非常有用。例如,命令

cd super-build-dir &&
cmake -G Ninja -S /path/to/src -B sub -DCMAKE_NINJA_OUTPUT_PATH_PREFIX=sub/
#                                 ^^^---------- these match -----------^^^

在顶级 (CMAKE_BINARY_DIR) 为 super-build-dir/sub 的构建目录中生成一个构建目录。构建目录的路径以输出路径前缀结尾。这使其适合在单独书写的 super-build-dir/build.ninja 文件中使用类似于以下内容的指令

subninja sub/build.ninja

super-build-dir/build.ninja 中的 auto-regeneration 规则必须按顺序依赖于 sub/build.ninja

在 3.27 版本中添加: Ninja 多配置 发生器支持此变量。

注意

CMAKE_NINJA_OUTPUT_PATH_PREFIX 被设置后,由 CMake 生成的项目不能被用作独立项目。没有指定默认目标。

CMAKE_NINJA_OUTPUT_PATH_PREFIX 的值必须匹配 CMAKE_BINARY_DIR结尾的一个或多个路径组件,否则行为未定义。但是,不会自动检查此要求。