To mixup a framework. From my project I would like to create a framework with the libs. Then with the framework I would like to create the .app. Nota: I would like to do that from a "neutral" location i.e. without installing on my machine
On Apr 23, 2011, at 6:37 PM, Michael Jackson <[email protected]> wrote: > To Copy in a framework into a .app bundle or to fixup a framework? In the > first case things should "just work" as I copy in Qt Frameworks all the time. > > -- > Mike Jackson <www.bluequartz.net> > > On Apr 22, 2011, at 10:31 PM, tog wrote: > >> Hi >> >> Do we have something similar to BundleUtilities for Frameworks ? >> >> Best Regards >> Guillaume >> >> On Wed, Apr 20, 2011 at 9:48 PM, David Cole <[email protected]> wrote: >>> On Wed, Apr 20, 2011 at 11:38 AM, Michael Jackson >>> <[email protected]> wrote: >>>> >>>> ___________________________________________________________ >>>> Mike Jackson www.bluequartz.net >>>> Principal Software Engineer [email protected] >>>> BlueQuartz Software Dayton, Ohio >>>> >>>> On Apr 20, 2011, at 11:25 AM, David Cole wrote: >>>> >>>>> On Wed, Apr 20, 2011 at 11:17 AM, Michael Jackson >>>>> <[email protected]> wrote: >>>>> On Apr 20, 2011, at 10:55 AM, David Cole wrote: >>>>> >>>>>> >>>>>> What is wrong with that one ? >>>>>> >>>>>> Nothing is wrong with it, but there is no link from the app to the >>>>>> plugin, so fixup_bundle cannot determine that it's necessary and >>>>>> automatically pull it in. The plugin, from the app's point of view, is >>>>>> something that may or may not exist, and if it does, it's dynamically >>>>>> loaded. So you need to install it into the bundle first, and then you >>>>>> need >>>>>> to tell fixup_bundle about it so that it gets included in the set of >>>>>> fixed >>>>>> up libraries. >>>>>> >>>>>> Hope this helps, >>>>>> David >>>>> >>>>> Is that the part that changed from CMake 2.8.3 to 2.8.4? I am using >>>>> CMake 2.8.3 and all my code works fine but I don't think I explicitly >>>>> "install" the plugin but rather list it (the absolute path to the built >>>>> plugin) as an argument to the "fixup_bundle" function. Will that scheme >>>>> still work under CMake 2.8.4? >>>>> >>>>> There are some other issues with CMake 2.8.4 with BundleUtilities and >>>>> my code which is why I have not updated from 2.8.3 >>>>> >>>>> Mike Jackson >>>>> www.bluequartz.net >>>>> >>>>> >>>>> >>>>> In CMake 2.8.3 and earlier, libs listed in the 2nd arg to fixup_bundle >>>>> were copied into the bundle. Half the people using it considered that >>>>> behavior a bug, half liked it just fine. >>>>> >>>>> In 2.8.4, we "fixed" the bug (really, transferred it to the other half >>>>> of the people)... >>>>> >>>>> In retrospect, I never should have allowed that change to go into CMake, >>>>> but there you have it: 2.8.3 and earlier copy the plugins, 2.8.4 and later >>>>> do not. >>>>> >>>>> So: if you want a plugin inside your bundle, with CMake 2.8.4 and later, >>>>> you have to copy/install the plugin into the bundle yourself before >>>>> calling >>>>> fixup_bundle. >>>>> >>>>> >>>>> Sorry for the persisting confusion, >>>>> David >>>>> >>>> >>>> So I should probably put the copy step into my configured cmake file that >>>> runs the 'fixup_bundle'? I guess an install rule with the proper path >>>> inside >>>> the app bundle should work. Isn't there an easier way? BUNDLE DESTINATION >>>> argument to the INSTALL(target.. ) should do it also correct? >>>> >>>> Thanks >>>> Mike Jackson >>>> >>> >>> I would recommend something like this (top of my head, not actually building >>> from this): >>> >>> install( TARGETS myapp BUNDLE DESTINATION . ) >>> >>> That should produce a directory structure in CMAKE_INSTALL_PREFIX like so: >>> >>> ./myapp.app/Contents/MacOS/myapp >>> >>> Then for the plugin, something like: >>> >>> install( TARGETS plugin DESTINATION myapp.app/Contents/plugins ) >>> >>> Which should yield: >>> >>> ./myapp.app/Contents/MacOS/myapp >>> ./myapp.app/Contents/plugins/libplugin.dylib >>> >>> Something along those lines. And then pass the full path to libplugin.dylib >>> to fixup_bundle. >>> >> PGP KeyID: 2048R/EA31CFC9 subkeys.pgp.net >> > _______________________________________________ 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
