[CMake] Copying plugins into a bundle
Michael Jackson
mike.jackson at bluequartz.net
Mon Feb 14 12:14:54 EST 2011
You may want to take a look at some of the macros that I have created just for this purpose: copying my own plugins plus some of Qt's plugins into the application bundle.
http://scm.bluequartz.net/support-libraries/cmp/trees/master
Take a look at the cmpCMakeMacros.cmake file
One of my projects that uses the "CMP" project as a git submodule is here:
http://scm.bluequartz.net/eim/iphelper
Basically the "IPHelper" project creates a Qt based desktop app that uses the Qt image loading codecs plus my own plugins. All are packaged into the OS X App bundle (or windows install directory).
BSD license for all the cmake code.
Hope that helps.
--
Mike Jackson <www.bluequartz.net>
On Feb 14, 2011, at 12:02 PM, Peter Kümmel 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?
>
>>
>> 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?
>
> 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
More information about the CMake
mailing list