On 05/27/2014 11:10 AM, J Decker wrote:
These result from the libraries resulting from the built sources, not
from the sysroot libs or things discovered with find packages.


I probably don't fully understand the issue but couldn't this easily enough be patched in CMake itself (e.g. attached untested patch with CMAKE_PLATFORM_NO_SONAME_SUPPORT set to ON)?

Is there an open issue for this?

Nils

diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index ea8536f..59b0c8e 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -345,6 +345,10 @@ cmComputeLinkInformation
   this->NoSONameUsesPath =
     this->Makefile->IsOn("CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME");
 
+  // Check if the platform supports SONAMEs at all
+  this->NoSONameSupport =
+    this->Makefile->IsOn("CMAKE_PLATFORM_NO_SONAME_SUPPORT");
+
   // Get link type information.
   this->ComputeLinkTypeInfo();
 
@@ -1084,8 +1088,8 @@ void cmComputeLinkInformation::AddTargetItem(std::string const& item,
     }
 
   // Handle case of an imported shared library with no soname.
-  if(this->NoSONameUsesPath &&
-     target->IsImportedSharedLibWithoutSOName(this->Config))
+  if(this->NoSONameSupport || (this->NoSONameUsesPath &&
+     target->IsImportedSharedLibWithoutSOName(this->Config)))
     {
     this->AddSharedLibNoSOName(item);
     return;
diff --git a/Source/cmComputeLinkInformation.h b/Source/cmComputeLinkInformation.h
index e345fe2..f690d87 100644
--- a/Source/cmComputeLinkInformation.h
+++ b/Source/cmComputeLinkInformation.h
@@ -106,6 +106,7 @@ private:
   std::string RuntimeAlways;
   bool RuntimeUseChrpath;
   bool NoSONameUsesPath;
+  bool NoSONameSupport;
   bool LinkWithRuntimePath;
   std::string RPathLinkFlag;
   SharedDepMode SharedDependencyMode;
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to