CMAKE_MAKE_PROGRAM¶
可以启动本机生成系统的工具。其值可以是可执行文件的完整路径或工具名称(如果它预计在 PATH
中)。
所选择的工具取决于用于配置项目的 CMAKE_GENERATOR
Makefile 生成器 将其设置为
make
、gmake
或生成器特定的工具(如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.exe
或devenv.com
的完整路径。(另请参见变量CMAKE_VS_MSBUILD_COMMAND
和CMAKE_VS_DEVENV_COMMAND
)。构建工具的这些生成器更倾向在构建时查找,而不是提前将
CMAKE_MAKE_PROGRAM
存储在 CMake 缓存中。这是因为工具是特定于版本的,并且可以使用 Visual Studio Installer 定位这些工具。此外,这是必要的,因为适当的构建工具可能取决于项目内容(例如,Visual Studio 的 Intel Fortran 插件需要使用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 --build
和 ctest --build-and-test
工具也使用此值来启动本机构建进程。