Hello all,

When making a pure Swift bundle Xcode automatically copies `libswiftCore.dylib` 
as follows.

└── Contents
    ├── Frameworks
    │   └── libswiftCore.dylib
    ├── Info.plist
    ├── MacOS
    │   └── SwiftOnly
    ├── PkgInfo
    └── Resources
        └── libswiftRemoteMirror.dylib
When I try to run the output I get a dynamic linking error. I can reproduce 
this by adding MACOSX_BUNDLE to `./Tests/SwiftOnly/CMakeLists.txt` (in the 
CMake source tree) in `add_executable` and trying to run the result.

% ./Tests/SwiftOnly/Debug/SwiftOnly.app/Contents/MacOS/SwiftOnly
dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: 
  Reason: image not found
zsh: abort      ./Tests/SwiftOnly/Debug/SwiftOnly.app/Contents/MacOS/SwiftOnly

It seems that the rpath should be set to `@loader_path/../Frameworks`. I am not 
a Swift maestro so not exactly sure on the details of how this works. After 
running `install_name_tool -add_rpath "@loader_path/../Frameworks" 
./Tests/SwiftOnly/Debug/SwiftOnly.app/Contents/MacOS/SwiftOnly` it runs fine.

Does anyone have any idea what to do? Is it a missing CMake Swift feature? We 
are currently working around it by manually adding the rpath with a cmake step.


Harry Mallon

Senior Software Engineer


T +44 203 7000 989<callto:+44%20203%207000%20989>

60 Poland Street | London | England | W1F 7NT

Three Billboards        Blade Runner 2049        I, Tonya


Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 

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 

Follow this link to subscribe/unsubscribe:

Reply via email to