[cmake-developers] Qt Bundle Utilities/Packaging
Clinton Stimpson
clinton at elemtech.com
Thu Apr 7 13:17:42 EDT 2011
On Thursday, April 07, 2011 10:29:41 am Mike McQuaid wrote:
> On 7 April 2011 17:17, Clinton Stimpson <clinton at elemtech.com> wrote:
> > That could be a good way to go first. If the need arises, we could
> > introduce more public functions for customization.
>
> I guess we could do what fixup_bundle and get_prerequisites do in that
> we have a very general function that just "does stuff correctly" and
> then more specific ones people can call for a more customisable
> process.
>
> Here's my (untested) work in progress:
> https://gist.github.com/908134
>
> I'll probably port it to use your macros tomorrow but you probably get
> the gist (no pun intended) of my approach from that.
>
> It shouldn't require anything except the app arguments and the plugins
> (currently only direct paths but could also be the named versions like
> on yours) but optionally can include more libraries (should be handled
> but fixup_bundle, not sure if this is necessary) and the search
> directories (e.g. if Qt is outside the path you might pass
> QT_LIBRARY_DIR here).
>
> Let me know your thoughts!
I have some thoughts...
I think you should *always* write out a qt.conf file.
The Qt libraries have hardcoded paths (used if there is no qt.conf file) and if
the target machine has a Qt installation at the same location as the build
machine, it could get the target machines plugins instead. These plugins are
tied to a specific version and configuration of Qt, so they cannot be mixed. On
Mac, the problem of a missing qt.conf is immediate on the build machine.
I think we should add QT_LIBRARY_DIR to fixup_bundle()'s dirs all the time.
Have you thought about letting the user supply a list of their own plugins and
having the function add the default Qt plugins to that list (or a set of
plugins based on the QT_USE_* variables)?
Also, one frequent complaint with using these functions is the user having to
do
install(CODE ".... ") and worry about escaping quotes and dollar signs.
Do you think this would be a good time to address that?
--
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com
More information about the cmake-developers
mailing list