[cmake-commits] king committed cmMakefileLibraryTargetGenerator.cxx 1.26 1.27

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Oct 13 14:00:01 EDT 2006


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv8127

Modified Files:
	cmMakefileLibraryTargetGenerator.cxx 
Log Message:
BUG: When using link scripts use native shell escapes instead of makefile shell escapes because the script is not interpreted by a make tool.


Index: cmMakefileLibraryTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileLibraryTargetGenerator.cxx,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- cmMakefileLibraryTargetGenerator.cxx	11 Oct 2006 16:41:20 -0000	1.26
+++ cmMakefileLibraryTargetGenerator.cxx	13 Oct 2006 17:59:59 -0000	1.27
@@ -537,7 +537,21 @@
   objdir += this->Target->GetName();
   objdir += ".dir";
   vars.ObjectDir = objdir.c_str(); 
-  vars.Target = targetOutPathReal.c_str();
+  std::string targetLinkScriptPathReal;
+  if(useLinkScript)
+    {
+    // Paths in the link script are interpreted directly by the shell
+    // and not make.
+    targetLinkScriptPathReal =
+      this->Convert(targetFullPathReal.c_str(),
+                    cmLocalGenerator::START_OUTPUT,
+                    cmLocalGenerator::SHELL);
+    vars.Target = targetLinkScriptPathReal.c_str();
+    }
+  else
+    {
+    vars.Target = targetOutPathReal.c_str();
+    }
   std::string linkString = linklibs.str();
   vars.LinkLibraries = linkString.c_str();
   vars.ObjectsQuoted = buildObjs.c_str();



More information about the Cmake-commits mailing list