diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2002-09-24 21:58:38 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2002-09-24 21:58:38 (GMT) |
commit | b5de000f26247b6a0be2ac429ead001cbe9da72e (patch) | |
tree | 10f950e14d0d3861b72a99117485674364b3b890 /Source/cmGlobalUnixMakefileGenerator.cxx | |
parent | cabe849c03f210d104b2bc5a2571226d5e4ddcd2 (diff) | |
download | CMake-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.cxx | 38 |
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); } |