[cmake-commits] king committed cmLocalGenerator.cxx 1.157 1.158 cmOrderLinkDirectories.cxx 1.31 1.32 cmOrderLinkDirectories.h 1.19 1.20

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Oct 5 15:08:22 EDT 2006


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

Modified Files:
	cmLocalGenerator.cxx cmOrderLinkDirectories.cxx 
	cmOrderLinkDirectories.h 
Log Message:
BUG: Fix link flags on cygwin shared libraries.  This requires that the shared library prefix be supported in the link library regex.


Index: cmLocalGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalGenerator.cxx,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -d -r1.157 -r1.158
--- cmLocalGenerator.cxx	5 Oct 2006 12:55:59 -0000	1.157
+++ cmLocalGenerator.cxx	5 Oct 2006 19:08:19 -0000	1.158
@@ -1712,8 +1712,10 @@
   orderLibs.SetLinkTypeInformation(cmOrderLinkDirectories::LinkShared,
                                    static_link_type_flag,
                                    shared_link_type_flag);
-  orderLibs.SetLinkPrefix(
+  orderLibs.AddLinkPrefix(
     this->Makefile->GetDefinition("CMAKE_STATIC_LIBRARY_PREFIX"));
+  orderLibs.AddLinkPrefix(
+    this->Makefile->GetDefinition("CMAKE_SHARED_LIBRARY_PREFIX"));
   orderLibs.AddLinkExtension(
     this->Makefile->GetDefinition("CMAKE_STATIC_LIBRARY_SUFFIX"),
     cmOrderLinkDirectories::LinkStatic);

Index: cmOrderLinkDirectories.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmOrderLinkDirectories.cxx,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- cmOrderLinkDirectories.cxx	15 Sep 2006 18:09:10 -0000	1.31
+++ cmOrderLinkDirectories.cxx	5 Oct 2006 19:08:19 -0000	1.32
@@ -189,9 +189,10 @@
   // be the library name.  Match index 3 will be the library
   // extension.
   reg = "^(";
-  if(!this->LinkPrefix.empty())
+  for(std::set<cmStdString>::iterator p = this->LinkPrefixes.begin();
+      p != this->LinkPrefixes.end(); ++p)
     {
-    reg += this->LinkPrefix;
+    reg += *p;
     reg += "|";
     }
   reg += ")";

Index: cmOrderLinkDirectories.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmOrderLinkDirectories.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- cmOrderLinkDirectories.h	15 Sep 2006 18:09:10 -0000	1.19
+++ cmOrderLinkDirectories.h	5 Oct 2006 19:08:20 -0000	1.20
@@ -83,11 +83,11 @@
       }
     }
   // should be set from CMAKE_STATIC_LIBRARY_PREFIX
-  void SetLinkPrefix(const char* s)
+  void AddLinkPrefix(const char* s)
     {
     if(s)
       {
-      this->LinkPrefix = s;
+      this->LinkPrefixes.insert(s);
       }
     }
   // Return any warnings if the exist
@@ -164,7 +164,7 @@
   std::vector<cmStdString> SharedLinkExtensions;
   std::vector<cmStdString> LinkExtensions;
   // the names of link prefixes
-  cmStdString LinkPrefix;
+  std::set<cmStdString> LinkPrefixes;
   // set of directories that can not be put in the correct order
   std::set<cmStdString> ImpossibleDirectories;
   // Name of target



More information about the Cmake-commits mailing list