[CMake] Copying plugins into a bundle

David Cole david.cole at kitware.com
Mon Feb 14 12:04:49 EST 2011


On Mon, Feb 14, 2011 at 12:02 PM, Peter Kümmel <syntheticpp at gmx.net> wrote:

> On 14.02.2011 17:23, David Cole wrote:
>
>> On Sat, Feb 12, 2011 at 12:41 PM, Peter Kümmel<syntheticpp at gmx.net>
>>  wrote:
>>
>>  On 12.02.2011 18:26, Peter Kümmel wrote:
>>>
>>>  I wanna create a bundle on OSX with fixup_bundle but I have problems
>>>> with
>>>> plugins.
>>>>
>>>> The plugins are build with add_library(MODULE) into
>>>> ${CMAKE_BINARY_DIR}/plugins.
>>>>
>>>> set(app ${CMAKE_BINARY_DIR}/bin/b.app)
>>>> install(CODE
>>>>      "file(GLOB_RECURSE plugins
>>>> \"\${CMAKE_BINARY_DIR}/plugins/*${CMAKE_SHARED_MODULE_SUFFIX}\")
>>>>      include(BundleUtilities)
>>>>      fixup_bundle(\"${app}\" \"\${plugins}\" \"\")"
>>>>      COMPONENT RUNTIME)
>>>>
>>>> Does not work, cmake says it does "*NOT* copying" the plugin.
>>>>
>>>>
>>> And what does it mean "copying"? from where to where?
>>>
>>>
>>>  Is there a way to enable copying? Or Have I ti install
>>>
>>>> them into the bundle before calling fixup.
>>>>
>>>>
>
>> See this bug and its related issues for details:
>> http://public.kitware.com/Bug/view.php?id=9744
>>
>> The gist of it is that, yes, you do have to copy/install your plugins into
>> the bundle first before calling fixup_bundle. This is a change in behavior
>> between CMake 2.8.2 and 2.8.3 as a result of the above bug fix.
>>
>>
> OK, I've solved this by directly building into the bundle path by setting
> CMAKE_LIBRARY_OUTPUT_DIRECTORY and by installing Qt's plugins into the
> bundle dir which is below bin/.
>
> Is it a common practice to use 'install' just for copying files?


It's not uncommon. So, yes.



>
>
>
>> And to answer " And what does it mean "copying"? from where to where?":
>>
>> Copying from outside the bundle somewhere to inside the bundle in its
>> "embedded" location. As it does with the automatically-pulled-in
>> prerequisite libraries.
>>
>>
> I assume on mac all files listed by otool -L?
>

Not all files. But all "non-system" files that are not already in the bundle
somewhere. (At least, that's the intent...)



>
> Many thanks,
>
> Peter
>
> _______________________________________________
> Powered by 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20110214/3f2ccf0c/attachment.htm>


More information about the CMake mailing list