summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalUnixMakefileGenerator.cxx
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2002-09-24 21:58:38 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2002-09-24 21:58:38 (GMT)
commitb5de000f26247b6a0be2ac429ead001cbe9da72e (patch)
tree10f950e14d0d3861b72a99117485674364b3b890 /Source/cmGlobalUnixMakefileGenerator.cxx
parentcabe849c03f210d104b2bc5a2571226d5e4ddcd2 (diff)
downloadCMake-b5de000f26247b6a0be2ac429ead001cbe9da72e.zip
CMake-b5de000f26247b6a0be2ac429ead001cbe9da72e.tar.gz
CMake-b5de000f26247b6a0be2ac429ead001cbe9da72e.tar.bz2
Improve backward compatibility, so that all backward compatibility stuff is in two modules; fix invoking of try_compile; add checking for header files and sizes of types
Diffstat (limited to 'Source/cmGlobalUnixMakefileGenerator.cxx')
-rw-r--r--Source/cmGlobalUnixMakefileGenerator.cxx38
1 files changed, 29 insertions, 9 deletions
diff --git a/Source/cmGlobalUnixMakefileGenerator.cxx b/Source/cmGlobalUnixMakefileGenerator.cxx
index 5da658d..9314d5f 100644
--- a/Source/cmGlobalUnixMakefileGenerator.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator.cxx
@@ -54,14 +54,29 @@ void cmGlobalUnixMakefileGenerator::EnableLanguage(const char* lang,
putenv(envCC);
#endif
}
- std::string cmd = root;
- cmd += "/Templates/cconfigure";
- cmSystemTools::RunCommand(cmd.c_str(), output,
- cmSystemTools::ConvertToOutputPath(mf->GetHomeOutputDirectory()).c_str());
+ if (!m_CMakeInstance->GetIsInTryCompile())
+ {
+ std::string cmd = root;
+ cmd += "/Templates/cconfigure";
+ cmSystemTools::RunCommand(cmd.c_str(), output,
+ cmSystemTools::ConvertToOutputPath(
+ mf->GetHomeOutputDirectory()).c_str());
+ }
std::string fpath = mf->GetHomeOutputDirectory();
fpath += "/CCMakeSystemConfig.cmake";
mf->ReadListFile(0,fpath.c_str());
this->SetLanguageEnabled("C");
+ if (!m_CMakeInstance->GetIsInTryCompile())
+ {
+ // for old versions of CMake ListFiles
+ const char* versionValue
+ = mf->GetDefinition("CMAKE_MINIMUM_REQUIRED_VERSION");
+ if (!versionValue || atof(versionValue) <= 1.4)
+ {
+ std::string fpath = root + "/Modules/CMakeBackwardCompatibilityC.cmake";
+ mf->ReadListFile(NULL,fpath.c_str());
+ }
+ }
}
// if CXX
if(!this->GetLanguageEnabled("CXX") && strcmp(lang, "CXX") == 0)
@@ -85,26 +100,31 @@ void cmGlobalUnixMakefileGenerator::EnableLanguage(const char* lang,
#endif
}
std::string cmd = root;
- cmd += "/Templates/cxxconfigure";
- cmSystemTools::RunCommand(cmd.c_str(), output,
- cmSystemTools::ConvertToOutputPath(mf->GetHomeOutputDirectory()).c_str());
+ if (!m_CMakeInstance->GetIsInTryCompile())
+ {
+ cmd += "/Templates/cxxconfigure";
+ cmSystemTools::RunCommand(cmd.c_str(), output,
+ cmSystemTools::ConvertToOutputPath(
+ mf->GetHomeOutputDirectory()).c_str());
+ }
std::string fpath = mf->GetHomeOutputDirectory();
fpath += "/CXXCMakeSystemConfig.cmake";
mf->ReadListFile(0,fpath.c_str());
this->SetLanguageEnabled("CXX");
- // for old versions of CMake ListFiles
if (!m_CMakeInstance->GetIsInTryCompile())
{
+ // for old versions of CMake ListFiles
const char* versionValue
= mf->GetDefinition("CMAKE_MINIMUM_REQUIRED_VERSION");
if (!versionValue || atof(versionValue) <= 1.4)
{
- fpath = root + "/Modules/TestForANSIStreamHeaders.cmake";
+ fpath = root + "/Modules/CMakeBackwardCompatibilityCXX.cmake";
mf->ReadListFile(NULL,fpath.c_str());
}
}
}
+
// if we are from the top, always define this
mf->AddDefinition("RUN_CONFIGURE", true);
}