[cmake-commits] hoffman committed cmOrderLinkDirectories.cxx 1.29.2.3 1.29.2.4 cmTarget.cxx 1.96.2.6 1.96.2.7

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Nov 30 18:13:51 EST 2006


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

Modified Files:
      Tag: CMake-2-4
	cmOrderLinkDirectories.cxx cmTarget.cxx 
Log Message:
ENH: move to RC 3 and add a fix for -L/path in link commands that was broken by the .dll.lib fix


Index: cmOrderLinkDirectories.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmOrderLinkDirectories.cxx,v
retrieving revision 1.29.2.3
retrieving revision 1.29.2.4
diff -u -d -r1.29.2.3 -r1.29.2.4
--- cmOrderLinkDirectories.cxx	30 Nov 2006 15:12:56 -0000	1.29.2.3
+++ cmOrderLinkDirectories.cxx	30 Nov 2006 23:13:49 -0000	1.29.2.4
@@ -463,17 +463,16 @@
 #ifdef CM_ORDER_LINK_DIRECTORIES_DEBUG
     fprintf(stderr, "Raw link item [%s]\n", this->RawLinkItems[i].c_str());
 #endif
-    // check to see if the file is a full path or just contains 
-    // a / in it and is a path to something
+    // if it is a full path to an item then separate it from the path
+    // this only works with files and paths
     cmStdString& item = this->RawLinkItems[i];
-    if(cmSystemTools::FileIsFullPath(item.c_str())
-       || item.find("/") != item.npos)
+    if(cmSystemTools::FileIsFullPath(item.c_str()))
       {
-      if(cmSystemTools::FileIsDirectory(this->RawLinkItems[i].c_str()))
+      if(cmSystemTools::FileIsDirectory(item.c_str()))
         {
-        if(cmSystemTools::IsPathToFramework(this->RawLinkItems[i].c_str()))
+        if(cmSystemTools::IsPathToFramework(item.c_str()))
           {
-          this->SplitFramework.find(this->RawLinkItems[i]);
+          this->SplitFramework.find(item.c_str());
           cmStdString path = this->SplitFramework.match(1);
           // Add the -F path if we have not yet done so
           if(this->EmittedFrameworkPaths.insert(path).second)

Index: cmTarget.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.cxx,v
retrieving revision 1.96.2.6
retrieving revision 1.96.2.7
diff -u -d -r1.96.2.6 -r1.96.2.7
--- cmTarget.cxx	28 Nov 2006 19:19:44 -0000	1.96.2.6
+++ cmTarget.cxx	30 Nov 2006 23:13:49 -0000	1.96.2.7
@@ -894,7 +894,14 @@
     {
     this->Directory = this->Makefile->GetStartOutputDirectory();
     }
-
+  // if LIBRARY_OUTPUT_PATH or EXECUTABLE_OUTPUT_PATH was relative
+  // then make them full paths because this directory MUST 
+  // be a full path or things will not work!!!
+  if(!cmSystemTools::FileIsFullPath(this->Directory.c_str()))
+    {
+    this->Directory = this->Makefile->GetCurrentOutputDirectory() + 
+      std::string("/") + this->Directory;
+    }
   if(config)
     {
     // Add the configuration's subdirectory.



More information about the Cmake-commits mailing list