[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