CMAKE_NINJA_OUTPUT_PATH_PREFIX

版本 3.6 新增。

告訴 Ninja 產生器build.ninja 中的每個輸出路徑都加上前綴。如果缺少結尾斜線,則會將其附加到前綴。

當產生的 ninja 檔案要作為 subninja 檔案嵌入到 *超級* ninja 專案中時,這會很有用。例如,指令

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 *結尾* 的一個或多個路徑組件,否則行為未定義。但是,此要求不會自動檢查。