diff options
author | David Cole <david.cole@kitware.com> | 2011-01-21 18:18:06 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2011-01-21 18:18:06 (GMT) |
commit | 2ca116189f26e758a47d4737afe21853d0676235 (patch) | |
tree | 722a85eb78762fac1d14414fa4728d8af19083ff /Source/cmGlobalVisualStudio10Generator.cxx | |
parent | 73827b92059a3548406c35978d3ec05a456aced4 (diff) | |
download | CMake-2ca116189f26e758a47d4737afe21853d0676235.zip CMake-2ca116189f26e758a47d4737afe21853d0676235.tar.gz CMake-2ca116189f26e758a47d4737afe21853d0676235.tar.bz2 |
VS10: Enable using devenv as CMAKE_MAKE_PROGRAM (#11459)
If CMAKE_MAKE_PROGRAM is set to devenv, then GenerateBuildCommand
uses it just like we used to do for VS8 and VS9. Otherwise, it
still uses MSBuild.
This will let us run the CMake test suite through devenv and make
sure all the solution and project files we generate are load-able
and build-able by the VS 2010 IDE, not just MSBuild.
Inspired-By: Robert Lenhardt
Diffstat (limited to 'Source/cmGlobalVisualStudio10Generator.cxx')
-rw-r--r-- | Source/cmGlobalVisualStudio10Generator.cxx | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx index 0b939af..6c3c1ed 100644 --- a/Source/cmGlobalVisualStudio10Generator.cxx +++ b/Source/cmGlobalVisualStudio10Generator.cxx @@ -114,18 +114,23 @@ std::string cmGlobalVisualStudio10Generator ::GenerateBuildCommand(const char* makeProgram, const char *projectName, const char* additionalOptions, const char *targetName, - const char* config, bool ignoreErrors, bool) + const char* config, bool ignoreErrors, bool fast) { - // Ingoring errors is not implemented in visual studio 6 - (void) ignoreErrors; - - // now build the test std::string makeCommand = cmSystemTools::ConvertToOutputPath(makeProgram); std::string lowerCaseCommand = makeCommand; cmSystemTools::LowerCase(lowerCaseCommand); + // If makeProgram is devenv, parent class knows how to generate command: + if (lowerCaseCommand.find("devenv") != std::string::npos) + { + return cmGlobalVisualStudio7Generator::GenerateBuildCommand(makeProgram, + projectName, additionalOptions, targetName, config, ignoreErrors, fast); + } + + // Otherwise, assume MSBuild command line, and construct accordingly. + // if there are spaces in the makeCommand, assume a full path // and convert it to a path with no spaces in it as the // RunSingleCommand does not like spaces |