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``(VS >= 10)、``devenv.com``(VS 7、8、9)或 ``VCExpress 的完整路径.exe``(VS Express 8,9)。 (另请参阅变量
CMAKE_VS_MSBUILD_COMMAND和CMAKE_VS_DEVENV_COMMAND。这些生成器更喜欢在构建时查找构建工具,而不是提前将 CMAKE_MAKE_PROGRAM 存储在 CMake 缓存中。这是因为这些工具是特定于版本的,并且可以使用 Windows 注册表进行定位。这也是必要的,因为正确的构建工具可能取决于项目内容(例如,VS 10 和 11 的 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 工具也使用该值来启动本机构建过程。