[cmake-developers] DeployQt5/generalizing DeployQt4 for Qt5

Marcus D. Hanwell marcus.hanwell at kitware.com
Mon Feb 17 10:04:37 EST 2014


On Sun, Feb 16, 2014 at 6:57 PM, Stephen Kelly <steveire at gmail.com> wrote:
> Marcus D. Hanwell wrote:
>
>> On Sun, Feb 16, 2014 at 4:30 PM, Stephen Kelly
>> <steveire at gmail.com> wrote:
>>> Marcus D. Hanwell wrote:
>>>
>>>> Hi,
>>>>
>>>> Is anyone working on, or have, a DeployQt5 or a generalized DeployQt4?
>>>> We use it in our packaging process, and it is one of the last things I
>>>> need to switch to Qt 5. If not, I was going to take a look at this,
>>>> and see what I can put together.
>>>
>>> I've never used DeployQt4 or BundleUtilities, and I don't know much about
>>> Mac (which BundleUtilities seems to strongly relate to somehow), so I
>>> don't know what is needed from a DeployQt5, which is why I haven't
>>> written such a thing yet. It seems like something that should be
>>> versioned with and shipped with Qt 5.
>>
>> It was contributed by Mike McQuaid (from KDAB too I think).
>
> I think he first contributed it before joining KDAB, but now he's at Github:
>
>  https://github.com/blog/1711-mike-mcquaid-is-a-githubber
>
I even read that, but didn't put it together in this context ;-)
>
>> How are
>> you currently packaging Qt application binaries on Windows, Linux and
>> Mac?
>
> Generally it's not me personally doing that stuff, but colleagues. Those
> colleagues don't have 'make it pure' as a goal, are not interested in cmake
> generally, but just need to get that part done, and need to do something
> else instead.

Fair enough, we are really aiming for the simplest way to reliably
package on all three platforms and this has been working pretty well.
>
>>> * It seems to have macros related to plugins. When using a statically
>>> built Qt, plugins are also relevant in the buildsystem because I need to
>>> compile them into my application. Should there be one generic interface
>>> in CMake for both this kind of thing and what DeployQt4 is doing?
>>
>> Perhaps, but I am most concerned at this point with the simplest way
>> of porting the remaining part of the build system.
>
> Yes, I understand that.
>
>  http://cmake.3232098.n2.nabble.com/DeployQt5-cmake-td7585218.html
>
> shows that it can be done in a straightforward way.

I missed that in my searches - thanks for pointing it out.
>
>> I would prefer
>> something like DeployQt4 for simplicity, and not requiring me to bump
>> my Qt dependency to 5.3 for packaging, so in the short term at least I
>> would like to offer similar functionality for Qt 5 in a CMake helper.
>
> It seems that you can do something simple for your current need and get
> something modern into Qt 5.3, if it makes sense to do something different
> from 'something simple'.
>
>> The new Qt 5 CMake support seems really strong, but I was left
>> wondering what I should do for packaging.
>
> Yes. The intersection of experience, knowledge, time etc hasn't appeared to
> add something that makes sense yet.

I would be happy to help here if I can, I want to ensure Qt 5 is at
least as simple as Qt 4 was to create packages using CMake.
>
> I know that Digia are working on some deployment stuff with unification of
> concepts particularly with regard to embedded systems deployment in mind. I
> don't want to create too many diverging concepts there, and would prefer to
> see what comes out of that, or at least understand the thing fully, before
> committing to something in the cmake files shipped with Qt 5.
>
Agreed, I will keep an eye out for this. In the short term is would
seem an adaptation of DeployQt4 is reasonable, unless I hear from
someone else that they have something way better working already.

Thanks,

Marcus



More information about the cmake-developers mailing list