CMAKE_MAKE_PROGRAM — CMake 4.0.1 Documentation (original) (raw)
Tool that can launch the native build system. The value may be the full path to an executable or just the tool name if it is expected to be in the PATH
.
The tool selected depends on the CMAKE_GENERATOR used to configure the project:
- The Makefile Generators set this to
make
,gmake
, or a generator-specific tool (e.g.nmake
for [NMake Makefiles](../generator/NMake%20Makefiles.html#generator:NMake Makefiles "NMake Makefiles")).
These generators storeCMAKE_MAKE_PROGRAM
in the CMake cache so that it may be edited by the user. - The Ninja generator sets this to
ninja
.
This generator storesCMAKE_MAKE_PROGRAM
in the CMake cache so that it may be edited by the user. - The Xcode generator sets this to
xcodebuild
.
This generator prefers to lookup the build tool at build time rather than to storeCMAKE_MAKE_PROGRAM
in the CMake cache ahead of time. This is becausexcodebuild
is easy to find.
For compatibility with versions of CMake prior to 3.2, if a user or project explicitly addsCMAKE_MAKE_PROGRAM
to the CMake cache then CMake will use the specified value. - The Visual Studio Generators set this to the full path to
MSBuild.exe
ordevenv.com
. (See also variablesCMAKE_VS_MSBUILD_COMMAND andCMAKE_VS_DEVENV_COMMAND.
These generators prefer to lookup the build tool at build time rather than to storeCMAKE_MAKE_PROGRAM
in the CMake cache ahead of time. This is because the tools are version-specific and can be located using the Visual Studio Installer. It is also necessary because the proper build tool may depend on the project content (e.g. the Intel Fortran plugin to Visual Studio requiresdevenv.com
to build its.vfproj
project files even thoughMSBuild.exe
is normally preferred to support the CMAKE_GENERATOR_TOOLSET).
For compatibility with versions of CMake prior to 3.0, if a user or project explicitly addsCMAKE_MAKE_PROGRAM
to the CMake cache then CMake will use the specified value if possible. - The [Green Hills MULTI](../generator/Green%20Hills%20MULTI.html#generator:Green Hills MULTI "Green Hills MULTI") generator sets this to the full path to
gbuild.exe(Windows)
orgbuild(Linux)
based upon the toolset being used.
Once the generator has initialized a particular value for this variable, changing the value has undefined behavior.
The CMAKE_MAKE_PROGRAM
variable is set for use by project code. The value is also used by the cmake --build andctest --build-and-test tools to launch the native build process.