Name Cygwin DLLs with SOVERSION, not VERSION
Cygwin versions .dll files by putting the version number in the file name. Our fix to issue #3571 taught CMake to do this, but it used the VERSION target property. It is better to use the SOVERSION property since that is the interface (rather than implementation) version. Change based on patch from issue #10122.
This commit is contained in:
parent
879b47e6ba
commit
b05ed46749
|
@ -3089,13 +3089,13 @@ void cmTarget::GetFullNameInternal(const char* config,
|
|||
outBase += configPostfix?configPostfix:"";
|
||||
|
||||
// Name shared libraries with their version number on some platforms.
|
||||
if(const char* version = this->GetProperty("VERSION"))
|
||||
if(const char* soversion = this->GetProperty("SOVERSION"))
|
||||
{
|
||||
if(this->GetType() == cmTarget::SHARED_LIBRARY && !implib &&
|
||||
this->Makefile->IsOn("CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION"))
|
||||
{
|
||||
outBase += "-";
|
||||
outBase += version;
|
||||
outBase += soversion;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue