[CMake] Question about BundleUtilities

Marco Nolden m.nolden at dkfz-heidelberg.de
Tue Oct 19 17:18:23 EDT 2010


  On 10/19/2010 06:04 PM, Clinton Stimpson wrote:
>
> I would also suggest you use the latest version of cmake or try 2.8.3 RC.
> And be sure to include the path to where libB would be in the 3rd 
> parameter to fixup_bundle().
>
> Clint
>
We use the latest BundleUtilites and GetPrerequisites scripts from CMake 
git, I included them in the test project. The 3rd parameter to 
fixup_bundle is

${CMAKE_LIBRARY_OUTPUT_DIRECTORY}:

http://github.com/nolden/bundle-test/blob/master/main/CMakeLists.txt

On linux libB is found and copied automatically to the install tree.

Marco



> On 10/19/2010 09:47 AM, David Cole wrote:
>> This likely means that "otool -L" on libA is reporting 
>> "/Users/engelm/bundle-test/install/MacOS/liblibB.dylib" as a 
>> dependent library... If that's true, then why doesn't the library exist?
>>
>> Do you build libA against a build tree including libB or against an 
>> install tree of libB...?
>>
>> Yes, that is basically the intended usage of BundleUtilities. It 
>> looks like you are using it correctly. Errors are difficult to 
>> diagnose, though.....
>>
>>
>> HTH,
>> David
>>
>>
>> On Tue, Oct 19, 2010 at 10:34 AM, Marco Nolden 
>> <m.nolden at dkfz-heidelberg.de <mailto:m.nolden at dkfz-heidelberg.de>> wrote:
>>
>>     Dear all,
>>
>>     we have some problems using the BundleUtilities macro for
>>     deployment on Mac OS X. I created a very small test project which
>>     is similar to our setup:
>>
>>     http://github.com/nolden/bundle-test
>>
>>     - libA is a plugin that would be loaded at runtime by means of
>>     dlopen (or something similar). We added an explicit
>>     INSTALL(TARGETS libA) for this library.
>>
>>     - libB is a dependency of libA
>>
>>     - Main is an indepedent main application that would in practice
>>     load libA with dlopen (not in the example)
>>
>>     Calling fixup_bundle with libA as a plugin gives some errors on
>>     Mac OS, because libB is not copied to the install tree:
>>
>>     Install the project...
>>     -- Install configuration: ""
>>     -- Installing: /Users/engelm/bundle-test/install/lib/liblibA.dylib
>>     -- Installing: /Users/engelm/bundle-test/install/bin/Main
>>     GetPreReq
>>     -- fixup_bundle
>>     --   app='/Users/engelm/bundle-test/install/bin/Main'
>>     --   libs='/Users/engelm/bundle-test/install/lib/liblibA.dylib'
>>     --   dirs='/Users/engelm/bundle-test/bin/bin'
>>     -- fixup_bundle: preparing...
>>     -- warning: embedded item does not exist
>>     '/Users/engelm/bundle-test/install/MacOS/liblibB.dylib'
>>     --
>>     ******************************************************************************
>>     warning: cannot resolve item
>>     '@executable_path/../MacOS/liblibB.dylib'
>>
>>     On Linux, the copying of the dependencies works, we have not
>>     tested windows yet.
>>
>>     Is this the intended use of the BundleUtilities script? It looks
>>     like a very good solution for cross-platform deployment.
>>
>>     Best,
>>
>>     Marco / Sascha
>>
>>     MITK, http://www.mitk.org
>>
>>     _______________________________________________
>>     Powered by www.kitware.com <http://www.kitware.com>
>>
>>     Visit other Kitware open-source projects at
>>     http://www.kitware.com/opensource/opensource.html
>>
>>     Please keep messages on-topic and check the CMake FAQ at:
>>     http://www.cmake.org/Wiki/CMake_FAQ
>>
>>     Follow this link to subscribe/unsubscribe:
>>     http://www.cmake.org/mailman/listinfo/cmake
>>
>>
>>
>> _______________________________________________
>> Powered bywww.kitware.com
>>
>> Visit other Kitware open-source projects athttp://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at:http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101019/5801bfe3/attachment.htm>


More information about the CMake mailing list