Commit be1d30de authored by Bill Hoffman's avatar Bill Hoffman
Browse files

ENH: merge in fixes from main tree

parent 0a28cfdf
......@@ -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}")
......
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
......
......@@ -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 << "-"
......
......@@ -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
......
......@@ -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()
......
......@@ -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()
......
......@@ -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},
......
......@@ -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();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment