[cmake-developers] SONAME on APPLE?

Stephen Kelly steveire at gmail.com
Tue Jul 10 08:46:21 EDT 2012


Brad King wrote:

> On 07/10/2012 05:55 AM, Stephen Kelly wrote:
>>> Ideally the IMPORTED_SONAME should match the shared library id of
>>> the actual library file.  That's what CMake wants to know.
>> 
>> ... was not the full story.
> 
> Sure it is.  Whatever *id* (install name) is *in* the file goes
> in IMPORTED_SONAME.  What is in the file might vary though.

Hmm, I don't understand. 

What is in the file is this:

$ otool -D 
/Users/kdab/dev/cmake/build/prefix/cmakeqt.framework/cmakeqt.framework/cmakeqt
    /Users/kdab/dev/cmake/build/prefix/cmakeqt.framework/cmakeqt.framework/cmakeqt:
    cmakeqt.framework/Versions/5.0.0/cmakeqt

ie, "cmakeqt.framework/Versions/5.0.0/cmakeqt"

What is in the IMPORTED_SONAME is "cmakeqt":

$ grep SONAME 
/Users/kdab/dev/cmake/build/prefix/share/MyTargets-debug.cmake
      IMPORTED_SONAME_DEBUG "cmakeqt"


Do we have conflicting definitions somewhere along the way? Or am I not 
retrieving the "shared library id" correctly from the binary?

The CMakeLists.txt I'm using for this is nothing special:

http://paste.kde.org/515096/

Thanks,

Steve.






More information about the cmake-developers mailing list