diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2007-12-04 17:14:05 -0500 |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2007-12-04 17:14:05 -0500 |
commit | be1d30de55da82284bf05aea8695b03525099712 (patch) | |
tree | c63f1fa57f14ed6f5421e6b78cada770bac245f3 | |
parent | 0a28cfdfbbc162223c1599664738b87658e01f8d (diff) | |
download | cmake-be1d30de55da82284bf05aea8695b03525099712.tar.gz |
ENH: merge in fixes from main tree
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | ChangeLog.manual | 12 | ||||
-rw-r--r-- | Source/cmCTest.cxx | 14 | ||||
-rw-r--r-- | Source/cmGlobalUnixMakefileGenerator3.cxx | 14 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudio7Generator.cxx | 10 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudio8Generator.cxx | 6 | ||||
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 3 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 16 |
8 files changed, 56 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index bb69bcbba8..37968df517 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MINOR 4) SET(CMake_VERSION_PATCH 8) # for an actual release this should not be defined -SET(CMake_VERSION_RC 2) +SET(CMake_VERSION_RC 3) SET(CMake_VERSION "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") SET(CMake_VERSION_FULL "${CMake_VERSION}.${CMake_VERSION_PATCH}") diff --git a/ChangeLog.manual b/ChangeLog.manual index 9d4365f109..7517158545 100644 --- a/ChangeLog.manual +++ b/ChangeLog.manual @@ -1,3 +1,9 @@ +Changes in CMake 2.4.8 RC 3 +* fix for bug 5363: GET_TARGET_PROPERTY(... DEBUG_LOCATION) + returns value containing $(OutDir) +* Better error from ctest if nightly time not set +* Fix for exception handling flags in VS 2003 and up +* Avoid relinking exclude-from-all directory targets before install Changes in CMake 2.4.8 RC 2 * fix for bug 5590 relative paths in windows not working across drives * fix warning/error with TAR_VERBOSE flag @@ -22,11 +28,9 @@ Changes in CMake 2.4.8 RC 1 Changes in CMake 2.4.7 --- RC 11 ---- * Fix bug 5238 for cygwin versioned executables - -* Allow for platform choice of executable shared libs install - +* Fix bug 4805 Allow for platform choice of executable + shared libs install * Fix @ONLY issues with RC 10 - * Add -E make_directory to cmake executable --- RC 10 ---- * Fix rebuild problem with makefiles and cmake vs CMakeSetup diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index 4bdac1df11..0749e7994c 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -314,9 +314,12 @@ int cmCTest::Initialize(const char* binary_dir, bool new_tag, << " Build name: " << this->GetCTestConfiguration("BuildName") << std::endl); cmCTestLog(this, DEBUG, "Produce XML is on" << std::endl); - if ( this->GetCTestConfiguration("NightlyStartTime").empty() ) + if ( this->TestModel == cmCTest::NIGHTLY && + this->GetCTestConfiguration("NightlyStartTime").empty() ) { - cmCTestLog(this, DEBUG, "No nightly start time" << std::endl); + cmCTestLog(this, WARNING, + "WARNING: No nightly start time found please set in" + " CTestConfig.cmake or DartConfig.cmake" << std::endl); cmCTestLog(this, DEBUG, "Here: " << __LINE__ << std::endl); return 0; } @@ -1191,6 +1194,13 @@ int cmCTest::RunTest(std::vector<const char*> argv, //---------------------------------------------------------------------- void cmCTest::StartXML(std::ostream& ostr) { + if(this->CurrentTag.empty()) + { + cmCTestLog(this, ERROR_MESSAGE, + "Current Tag empty, this may mean" + " NightlStartTime was not set correctly." << std::endl); + cmSystemTools::SetFatalErrorOccured(); + } ostr << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" << "<Site BuildName=\"" << this->GetCTestConfiguration("BuildName") << "\" BuildStamp=\"" << this->CurrentTag << "-" diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx index 642773ad04..2d05d62d16 100644 --- a/Source/cmGlobalUnixMakefileGenerator3.cxx +++ b/Source/cmGlobalUnixMakefileGenerator3.cxx @@ -861,11 +861,15 @@ cmGlobalUnixMakefileGenerator3 lg->WriteMakeRule(ruleFileStream, "Pre-install relink rule for target.", localName.c_str(), depends, commands, true); - depends.clear(); - depends.push_back(localName); - commands.clear(); - lg->WriteMakeRule(ruleFileStream, "Prepare target for install.", - "preinstall", depends, commands, true); + + if (!exclude && t->second.IsInAll()) + { + depends.clear(); + depends.push_back(localName); + commands.clear(); + lg->WriteMakeRule(ruleFileStream, "Prepare target for install.", + "preinstall", depends, commands, true); + } } // add the clean rule diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index db6f9f7974..ac656673b1 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -836,7 +836,15 @@ static cmVS7FlagTable cmVS7ExtraFlagTable[] = {"UsePrecompiledHeader", "Yu", "Use Precompiled Header", "3", cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue}, {"PrecompiledHeaderThrough", "Yu", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired}, + cmVS7FlagTable::UserValueRequired}, + + // Exception handling mode. If no entries match, it will be FALSE. + {"ExceptionHandling", "GX", "enable c++ exceptions", "TRUE", 0}, + {"ExceptionHandling", "EHsc", "enable c++ exceptions", "TRUE", 0}, + // The EHa option does not have an IDE setting. Let it go to false, + // and have EHa passed on the command line by leaving out the table + // entry. + {0,0,0,0,0} }; cmVS7FlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7() diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx index 491d478696..4aec3c31e4 100644 --- a/Source/cmGlobalVisualStudio8Generator.cxx +++ b/Source/cmGlobalVisualStudio8Generator.cxx @@ -258,6 +258,12 @@ static cmVS7FlagTable cmVS8ExtraFlagTable[] = {"PrecompiledHeaderThrough", "Yu", "Precompiled Header Name", "", cmVS7FlagTable::UserValueRequired}, // There is no YX option in the VS8 IDE. + + // Exception handling mode. If no entries match, it will be FALSE. + {"ExceptionHandling", "GX", "enable c++ exceptions", "1", 0}, + {"ExceptionHandling", "EHsc", "enable c++ exceptions", "1", 0}, + {"ExceptionHandling", "EHa", "enable SEH exceptions", "2", 0}, + {0,0,0,0,0} }; cmVS7FlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8() diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 06d12b0517..023bb7bd05 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -359,9 +359,6 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] = {"EnableFunctionLevelLinking", "Gy", "EnableFunctionLevelLinking", "TRUE", 0}, {"EnableIntrinsicFunctions", "Oi", "EnableIntrinsicFunctions", "TRUE", 0}, - {"ExceptionHandling", "EHsc", "enable c++ exceptions", "TRUE", 0}, - {"ExceptionHandling", "EHa", "enable c++ exceptions", "2", 0}, - {"ExceptionHandling", "GX", "enable c++ exceptions", "TRUE", 0}, {"GlobalOptimizations", "Og", "Global Optimize", "TRUE", 0}, {"ImproveFloatingPointConsistency", "Op", "ImproveFloatingPointConsistency", "TRUE", 0}, diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 39c540312e..b9bb0b810a 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -915,16 +915,22 @@ const char* cmTarget::GetDirectory(const char* config) const char* cmTarget::GetLocation(const char* config) { - this->Location = this->GetDirectory(); + this->Location = this->GetDirectory(config); if(!this->Location.empty()) { this->Location += "/"; } - const char* cfgid = this->Makefile->GetDefinition("CMAKE_CFG_INTDIR"); - if(cfgid && strcmp(cfgid, ".") != 0) + if(!config) { - this->Location += cfgid; - this->Location += "/"; + // No specific configuration was given so it will not appear on + // the result of GetDirectory. Add a name here to be replaced at + // build time. + const char* cfgid = this->Makefile->GetDefinition("CMAKE_CFG_INTDIR"); + if(cfgid && strcmp(cfgid, ".") != 0) + { + this->Location += cfgid; + this->Location += "/"; + } } this->Location += this->GetFullName(config, false); return this->Location.c_str(); |