CMAKE_MAKE_PROGRAM

可以啟動原生建置系統的工具。該值可以是可執行檔的完整路徑,或者如果該工具預期在 PATH 中,則僅是工具名稱。

選擇的工具取決於用於設定專案的 CMAKE_GENERATOR

  • Makefile 產生器將此設定為 makegmake 或特定產生器的工具(例如,nmake 用於 NMake Makefiles)。

    這些產生器將 CMAKE_MAKE_PROGRAM 儲存在 CMake 快取中,以便使用者可以編輯它。

  • Ninja 產生器將此設定為 ninja

    此產生器將 CMAKE_MAKE_PROGRAM 儲存在 CMake 快取中,以便使用者可以編輯它。

  • Xcode 產生器將此設定為 xcodebuild

    此產生器傾向於在建置時查找建置工具,而不是提前將 CMAKE_MAKE_PROGRAM 儲存在 CMake 快取中。這是因為 xcodebuild 很容易找到。

    為了與 3.2 之前的 CMake 版本相容,如果使用者或專案明確將 CMAKE_MAKE_PROGRAM 新增到 CMake 快取中,則 CMake 將使用指定的值。

  • Visual Studio 產生器將此設定為 MSBuild.exedevenv.com 的完整路徑。(另請參閱變數 CMAKE_VS_MSBUILD_COMMANDCMAKE_VS_DEVENV_COMMAND。)

    這些產生器傾向於在建置時查找建置工具,而不是提前將 CMAKE_MAKE_PROGRAM 儲存在 CMake 快取中。這是因為這些工具是特定於版本的,並且可以使用 Visual Studio 安裝程式來定位。這也是必要的,因為正確的建置工具可能取決於專案內容(例如,Intel Fortran 外掛程式到 Visual Studio 需要 devenv.com 來建置其 .vfproj 專案檔案,即使通常優先使用 MSBuild.exe 來支援 CMAKE_GENERATOR_TOOLSET)。

    為了與 3.0 之前的 CMake 版本相容,如果使用者或專案明確將 CMAKE_MAKE_PROGRAM 新增到 CMake 快取中,則 CMake 將在可能的情況下使用指定的值。

  • Green Hills MULTI 產生器會根據所使用的工具集,將此設定為 gbuild.exe(Windows)gbuild(Linux) 的完整路徑。

    一旦產生器初始化了此變數的特定值,更改該值將導致未定義的行為。

CMAKE_MAKE_PROGRAM 變數已設定供專案程式碼使用。該值也由 cmake --buildctest --build-and-test 工具用來啟動原生建置程序。