summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2004-09-15 15:31:54 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2004-09-15 15:31:54 (GMT)
commitb1f3e1043915666079a9ca4b82d0fe3548c50d36 (patch)
tree3751ea9501ea0ae8b904667bc154d3256fa8193f
parent49b554c1b3f17171f768214182483b4ec3cf73cd (diff)
downloadCMake-b1f3e1043915666079a9ca4b82d0fe3548c50d36.zip
CMake-b1f3e1043915666079a9ca4b82d0fe3548c50d36.tar.gz
CMake-b1f3e1043915666079a9ca4b82d0fe3548c50d36.tar.bz2
BUG: make sure env CC and CXX are not set for VS IDE builds
-rw-r--r--Source/cmGlobalGenerator.cxx34
-rw-r--r--Source/cmGlobalVisualStudio6Generator.cxx3
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx1
3 files changed, 23 insertions, 15 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 54b7264..ccff33b 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -198,21 +198,25 @@ void cmGlobalGenerator::EnableLanguage(std::vector<std::string>const& languages,
{
cmSystemTools::Error("Could not find cmake module file:", determineFile.c_str());
}
-
- // put ${CMake_(LANG)_COMPILER_ENV_VAR}=${CMAKE_(LANG)_COMPILER into the
- // environment, in case user scripts want to run configure, or sub cmakes
- std::string compilerName = "CMAKE_";
- compilerName += lang;
- compilerName += "_COMPILER";
- std::string compilerEnv = "CMAKE_";
- compilerEnv += lang;
- compilerEnv += "_COMPILER_ENV_VAR";
- std::string envVar = mf->GetRequiredDefinition(compilerEnv.c_str());
- std::string envVarValue = mf->GetRequiredDefinition(compilerName.c_str());
- std::string env = envVar;
- env += "=";
- env += envVarValue;
- cmSystemTools::PutEnv(env.c_str());
+ // Some generators like visual studio should not use the env variables
+ // So the global generator can specify that in this variable
+ if(!mf->GetDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV"))
+ {
+ // put ${CMake_(LANG)_COMPILER_ENV_VAR}=${CMAKE_(LANG)_COMPILER into the
+ // environment, in case user scripts want to run configure, or sub cmakes
+ std::string compilerName = "CMAKE_";
+ compilerName += lang;
+ compilerName += "_COMPILER";
+ std::string compilerEnv = "CMAKE_";
+ compilerEnv += lang;
+ compilerEnv += "_COMPILER_ENV_VAR";
+ std::string envVar = mf->GetRequiredDefinition(compilerEnv.c_str());
+ std::string envVarValue = mf->GetRequiredDefinition(compilerName.c_str());
+ std::string env = envVar;
+ env += "=";
+ env += envVarValue;
+ cmSystemTools::PutEnv(env.c_str());
+ }
}
// **** Step 5, Load the configured language compiler file, if not loaded.
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx
index e40e77d..474d911 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/Source/cmGlobalVisualStudio6Generator.cxx
@@ -30,6 +30,9 @@ void cmGlobalVisualStudio6Generator::EnableLanguage(std::vector<std::string>cons
mf->AddDefinition("CMAKE_CFG_INTDIR","$(IntDir)");
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl");
+ mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
+ mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
+ mf->AddDefinition("CMAKE_GENERATOR_Fortran", "ifort");
this->GenerateConfigurations(mf);
this->cmGlobalGenerator::EnableLanguage(lang, mf);
}
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index cda991b..f3db0cc 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -35,6 +35,7 @@ void cmGlobalVisualStudio7Generator::EnableLanguage(std::vector<std::string>cons
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl");
mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
+ mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
mf->AddDefinition("CMAKE_GENERATOR_Fortran", "ifort");
// Create list of configurations requested by user's cache, if any.