BUG: make sure env CC and CXX are not set for VS IDE builds
This commit is contained in:
parent
49b554c1b3
commit
b1f3e10439
@ -198,21 +198,25 @@ void cmGlobalGenerator::EnableLanguage(std::vector<std::string>const& languages,
|
|||||||
{
|
{
|
||||||
cmSystemTools::Error("Could not find cmake module file:", determineFile.c_str());
|
cmSystemTools::Error("Could not find cmake module file:", determineFile.c_str());
|
||||||
}
|
}
|
||||||
|
// Some generators like visual studio should not use the env variables
|
||||||
// put ${CMake_(LANG)_COMPILER_ENV_VAR}=${CMAKE_(LANG)_COMPILER into the
|
// So the global generator can specify that in this variable
|
||||||
// environment, in case user scripts want to run configure, or sub cmakes
|
if(!mf->GetDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV"))
|
||||||
std::string compilerName = "CMAKE_";
|
{
|
||||||
compilerName += lang;
|
// put ${CMake_(LANG)_COMPILER_ENV_VAR}=${CMAKE_(LANG)_COMPILER into the
|
||||||
compilerName += "_COMPILER";
|
// environment, in case user scripts want to run configure, or sub cmakes
|
||||||
std::string compilerEnv = "CMAKE_";
|
std::string compilerName = "CMAKE_";
|
||||||
compilerEnv += lang;
|
compilerName += lang;
|
||||||
compilerEnv += "_COMPILER_ENV_VAR";
|
compilerName += "_COMPILER";
|
||||||
std::string envVar = mf->GetRequiredDefinition(compilerEnv.c_str());
|
std::string compilerEnv = "CMAKE_";
|
||||||
std::string envVarValue = mf->GetRequiredDefinition(compilerName.c_str());
|
compilerEnv += lang;
|
||||||
std::string env = envVar;
|
compilerEnv += "_COMPILER_ENV_VAR";
|
||||||
env += "=";
|
std::string envVar = mf->GetRequiredDefinition(compilerEnv.c_str());
|
||||||
env += envVarValue;
|
std::string envVarValue = mf->GetRequiredDefinition(compilerName.c_str());
|
||||||
cmSystemTools::PutEnv(env.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.
|
// **** Step 5, Load the configured language compiler file, if not loaded.
|
||||||
|
@ -30,6 +30,9 @@ void cmGlobalVisualStudio6Generator::EnableLanguage(std::vector<std::string>cons
|
|||||||
mf->AddDefinition("CMAKE_CFG_INTDIR","$(IntDir)");
|
mf->AddDefinition("CMAKE_CFG_INTDIR","$(IntDir)");
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
|
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_CXX", "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->GenerateConfigurations(mf);
|
||||||
this->cmGlobalGenerator::EnableLanguage(lang, mf);
|
this->cmGlobalGenerator::EnableLanguage(lang, mf);
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ void cmGlobalVisualStudio7Generator::EnableLanguage(std::vector<std::string>cons
|
|||||||
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
|
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl");
|
mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl");
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
|
mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
|
||||||
|
mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_Fortran", "ifort");
|
mf->AddDefinition("CMAKE_GENERATOR_Fortran", "ifort");
|
||||||
|
|
||||||
// Create list of configurations requested by user's cache, if any.
|
// Create list of configurations requested by user's cache, if any.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user