diff options
-rw-r--r-- | Modules/Platform/Windows-cl.cmake | 5 | ||||
-rw-r--r-- | Source/cmGlobalNMakeMakefileGenerator.cxx | 13 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Modules/Platform/Windows-cl.cmake b/Modules/Platform/Windows-cl.cmake index 562b2b0..06169b0 100644 --- a/Modules/Platform/Windows-cl.cmake +++ b/Modules/Platform/Windows-cl.cmake @@ -29,7 +29,10 @@ ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 9") # make sure to enable languages after setting configuration types -ENABLE_LANGUAGE(RC) +IF(NOT ENABLE_LANGUAGE_RC_CALLED AND NOT CMAKE_DO_TRY_COMPILE) + ENABLE_LANGUAGE(RC) +ENDIF(NOT ENABLE_LANGUAGE_RC_CALLED AND NOT CMAKE_DO_TRY_COMPILE) +SET(ENABLE_LANGUAGE_RC_CALLED TRUE) SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>") # for nmake we need to compute some information about the compiler diff --git a/Source/cmGlobalNMakeMakefileGenerator.cxx b/Source/cmGlobalNMakeMakefileGenerator.cxx index 446881b..c353916 100644 --- a/Source/cmGlobalNMakeMakefileGenerator.cxx +++ b/Source/cmGlobalNMakeMakefileGenerator.cxx @@ -34,6 +34,19 @@ void cmGlobalNMakeMakefileGenerator // pick a default mf->AddDefinition("CMAKE_GENERATOR_CC", "cl"); mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl"); + if(!(cmSystemTools::GetEnv("INCLUDE") && + cmSystemTools::GetEnv("LIB") && + cmSystemTools::GetEnv("LIBPATH")) + ) + { + std::string message = "To use the NMake generator, cmake must be run " + "from a shell that can use the compiler cl from the command line. " + "This environment does not contain INCLUDE, LIB, or LIBPATH, and " + "these must be set for the cl compiler to work. "; + mf->IssueMessage(cmake::WARNING, + message); + } + this->cmGlobalUnixMakefileGenerator3::EnableLanguage(l, mf, optional); } |