65 lines
2.9 KiB
Diff
65 lines
2.9 KiB
Diff
|
--- Modules/Platform/Linux.cmake 20 Apr 2006 14:23:17 -0000 1.9
|
||
|
+++ Modules/Platform/Linux.cmake 1 Aug 2006 19:36:49 -0000 1.10
|
||
|
@@ -7,4 +7,5 @@
|
||
|
SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
|
||
|
SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
|
||
|
SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,")
|
||
|
+SET(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-Wl,-soname,")
|
||
|
INCLUDE(Platform/UnixPaths)
|
||
|
--- Source/cmInstallTargetGenerator.cxx 30 Jun 2006 17:48:43 -0000 1.12.2.3
|
||
|
+++ Source/cmInstallTargetGenerator.cxx 1 Aug 2006 19:36:49 -0000 1.17
|
||
|
@@ -3,8 +3,8 @@
|
||
|
Program: CMake - Cross-Platform Makefile Generator
|
||
|
Module: $RCSfile: cmInstallTargetGenerator.cxx,v $
|
||
|
Language: C++
|
||
|
- Date: $Date: 2006/06/30 17:48:43 $
|
||
|
- Version: $Revision: 1.12.2.3 $
|
||
|
+ Date: $Date: 2006/08/01 19:36:49 $
|
||
|
+ Version: $Revision: 1.17 $
|
||
|
|
||
|
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
||
|
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
|
||
|
@@ -81,16 +81,25 @@
|
||
|
{
|
||
|
// Add shared library installation properties if this platform
|
||
|
// supports them.
|
||
|
- const char* lib_version = this->Target->GetProperty("VERSION");
|
||
|
- const char* lib_soversion = this->Target->GetProperty("SOVERSION");
|
||
|
- if(!this->Target->GetMakefile()
|
||
|
- ->GetDefinition("CMAKE_SHARED_LIBRARY_SONAME_C_FLAG"))
|
||
|
+ const char* lib_version = 0;
|
||
|
+ const char* lib_soversion = 0;
|
||
|
+
|
||
|
+ // Versioning is supported only for shared libraries and modules,
|
||
|
+ // and then only when the platform supports an soname flag.
|
||
|
+ cmGlobalGenerator* gg =
|
||
|
+ this->Target->GetMakefile()->GetLocalGenerator()->GetGlobalGenerator();
|
||
|
+ if(const char* linkLanguage = this->Target->GetLinkerLanguage(gg))
|
||
|
{
|
||
|
- // Versioning is supported only for shared libraries and modules,
|
||
|
- // and then only when the platform supports an soname flag.
|
||
|
- lib_version = 0;
|
||
|
- lib_soversion = 0;
|
||
|
+ std::string sonameFlagVar = "CMAKE_SHARED_LIBRARY_SONAME_";
|
||
|
+ sonameFlagVar += linkLanguage;
|
||
|
+ sonameFlagVar += "_FLAG";
|
||
|
+ if(this->Target->GetMakefile()->GetDefinition(sonameFlagVar.c_str()))
|
||
|
+ {
|
||
|
+ lib_version = this->Target->GetProperty("VERSION");
|
||
|
+ lib_soversion = this->Target->GetProperty("SOVERSION");
|
||
|
+ }
|
||
|
}
|
||
|
+
|
||
|
if(lib_version)
|
||
|
{
|
||
|
props += " VERSION ";
|
||
|
@@ -272,7 +281,7 @@
|
||
|
//----------------------------------------------------------------------------
|
||
|
void cmInstallTargetGenerator
|
||
|
::AddInstallNamePatchRule(std::ostream& os,
|
||
|
- const char* destination)
|
||
|
+ const char* destination)
|
||
|
{
|
||
|
// Build a map of build-tree install_name to install-tree install_name for
|
||
|
// shared libraries linked to this target.
|