summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-12-01 11:04:23 -0500
committerBill Hoffman <bill.hoffman@kitware.com>2006-12-01 11:04:23 -0500
commit965ad87afaa21cdfc26d6c948d450be43bd30d1f (patch)
tree8d9c2970611e79b353347e6bcf0a5a0c5d8088ac
parent58f670327c08d8cb187da83f81e87715063546f3 (diff)
downloadcmake-965ad87afaa21cdfc26d6c948d450be43bd30d1f.tar.gz
ENH: merge in fix for seg fault and move to RC 4
-rw-r--r--CMakeLists.txt2
-rw-r--r--ChangeLog.manual2
-rw-r--r--Source/cmMacroCommand.cxx14
3 files changed, 13 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b8cb21f00..07f2c8fb1d 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 5)
# for an actual release this should not be defined
-SET(CMake_VERSION_RC 3)
+SET(CMake_VERSION_RC 4)
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 7a03c1975d..3024e43105 100644
--- a/ChangeLog.manual
+++ b/ChangeLog.manual
@@ -1,4 +1,6 @@
Changes in CMake 2.4.5
+* Fix for seg fault when a macro runs a bad command BUG# 3815
+
* Fix fix for foo.dll.lib that does not brea -L/usr/lib in link names
* Fix problem with LIBRARY_OUTPUT_PATH and linking to a dll foo.dll.lib
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx
index db4a4d6a31..3e1fc2d546 100644
--- a/Source/cmMacroCommand.cxx
+++ b/Source/cmMacroCommand.cxx
@@ -235,14 +235,20 @@ bool cmMacroHelperCommand::InvokeInitialPass
}
if(!this->Makefile->ExecuteCommand(newLFF))
{
- const char* filePath = args[0].FilePath;
- if(!filePath)
+ cmListFileArgument arg;
+ if(args.size())
{
- filePath = "Unknown";
+ arg.FilePath = args[0].FilePath;
+ arg.Line = args[0].Line;
+ }
+ else
+ {
+ arg.FilePath = "Unknown";
+ arg.Line = 0;
}
cmOStringStream error;
error << "Error in cmake code at\n"
- << filePath << ":" << args[0].Line << ":\n"
+ << arg.FilePath << ":" << arg.Line << ":\n"
<< "A command failed during the invocation of macro \""
<< this->Args[0].c_str() << "\".";
cmSystemTools::Error(error.str().c_str());