[RFC,v3,0/5] Support qmake for Qt6
mbox series

Message ID 20250814153259.6822-1-dario.binacchi@amarulasolutions.com
Headers show
Series
  • Support qmake for Qt6
Related show

Message

Dario Binacchi Aug. 14, 2025, 3:32 p.m. UTC
The series supports qmake for qt6.

As stated in https://doc.qt.io/qt-6/qt6-buildsystem.html:

  "This only affects users that want to build Qt from sources.
   You can still use qmake as a build tool for your applications."

This series revives an older patch that exported qmake for Qt6,
applying a minimal fix. It extends pkg-qmake to support Qt6 and uses
qwt and cutekeyboard as test cases to validate the changes.

The series is marked as RFC because hardcoding the Qt5 and Qt6 version
numbers in pkg-qmake is not ideal, even if the Qt5 versions were
already hardcoded.

An alternative approach could be to add a BR2_PACKAGE_QT{5,6}_VERSION_VALUE
option, but this can be discussed during review.

Dario Binacchi (4):
  package/qwt: bump to version 6.3.0
  package/pkg-qmake: support Qt6
  package/qwt: enable build with Qt6
  package/cutekeyboard: enable build with Qt6

Jesse Van Gavere (1):
  package/qt6: Add qmake functionality

 package/cutekeyboard/Config.in       | 13 ++++++----
 package/cutekeyboard/cutekeyboard.mk |  6 ++++-
 package/pkg-qmake.mk                 | 21 ++++++++++++----
 package/qt6/qt6.mk                   | 18 ++++++++++++++
 package/qt6/qt6base/qmake.conf.in    | 36 ++++++++++++++++++++++++++++
 package/qt6/qt6base/qplatformdefs.h  |  1 +
 package/qt6/qt6base/qt.conf.in       |  7 ++++++
 package/qt6/qt6base/qt6base.mk       | 18 ++++++++++++++
 package/qwt/Config.in                | 22 ++++++++++-------
 package/qwt/qwt.hash                 |  8 +++----
 package/qwt/qwt.mk                   |  6 ++++-
 11 files changed, 132 insertions(+), 24 deletions(-)
 create mode 100644 package/qt6/qt6base/qmake.conf.in
 create mode 100644 package/qt6/qt6base/qplatformdefs.h
 create mode 100644 package/qt6/qt6base/qt.conf.in

Comments

'Julien Olivain' via Amarula Linux Sept. 1, 2025, 8:03 a.m. UTC | #1
Le 14/08/2025 à 17:32, Dario Binacchi a écrit :
> The series supports qmake for qt6.
This is great to have this moving forward.

Thanks for this job!

> 
> As stated in https://doc.qt.io/qt-6/qt6-buildsystem.html:
> 
>    "This only affects users that want to build Qt from sources.
>     You can still use qmake as a build tool for your applications."
> 
> This series revives an older patch that exported qmake for Qt6,
> applying a minimal fix. It extends pkg-qmake to support Qt6 and uses
> qwt and cutekeyboard as test cases to validate the changes.
> 
> The series is marked as RFC because hardcoding the Qt5 and Qt6 version
> numbers in pkg-qmake is not ideal, even if the Qt5 versions were
> already hardcoded.
> 
> An alternative approach could be to add a BR2_PACKAGE_QT{5,6}_VERSION_VALUE
> option, but this can be discussed during review.
> 
> Dario Binacchi (4):
>    package/qwt: bump to version 6.3.0
>    package/pkg-qmake: support Qt6
>    package/qwt: enable build with Qt6
>    package/cutekeyboard: enable build with Qt6
> 
> Jesse Van Gavere (1):
>    package/qt6: Add qmake functionality
> 
>   package/cutekeyboard/Config.in       | 13 ++++++----
>   package/cutekeyboard/cutekeyboard.mk |  6 ++++-
>   package/pkg-qmake.mk                 | 21 ++++++++++++----
>   package/qt6/qt6.mk                   | 18 ++++++++++++++
>   package/qt6/qt6base/qmake.conf.in    | 36 ++++++++++++++++++++++++++++
>   package/qt6/qt6base/qplatformdefs.h  |  1 +
>   package/qt6/qt6base/qt.conf.in       |  7 ++++++
>   package/qt6/qt6base/qt6base.mk       | 18 ++++++++++++++
>   package/qwt/Config.in                | 22 ++++++++++-------
>   package/qwt/qwt.hash                 |  8 +++----
>   package/qwt/qwt.mk                   |  6 ++++-
>   11 files changed, 132 insertions(+), 24 deletions(-)
>   create mode 100644 package/qt6/qt6base/qmake.conf.in
>   create mode 100644 package/qt6/qt6base/qplatformdefs.h
>   create mode 100644 package/qt6/qt6base/qt.conf.in
> 

To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
'Julien Olivain' via Amarula Linux Sept. 1, 2025, 12:25 p.m. UTC | #2
Le 01/09/2025 à 10:03, Richard GENOUD a écrit :
> Le 14/08/2025 à 17:32, Dario Binacchi a écrit :
>> The series supports qmake for qt6.
> This is great to have this moving forward.
> 
> Thanks for this job!
> 

I've tested that on a client's project that was previously using Qt5 qmake.
Buildroot (2025.02.5), arm toolchain, build and relocate sdk.
The project uses recursive qmake, it works like a charm.

Tested-by: Richard GENOUD <richard.genoud@bootlin.com>

>>
>> As stated in https://doc.qt.io/qt-6/qt6-buildsystem.html:
>>
>>    "This only affects users that want to build Qt from sources.
>>     You can still use qmake as a build tool for your applications."
>>
>> This series revives an older patch that exported qmake for Qt6,
>> applying a minimal fix. It extends pkg-qmake to support Qt6 and uses
>> qwt and cutekeyboard as test cases to validate the changes.
>>
>> The series is marked as RFC because hardcoding the Qt5 and Qt6 version
>> numbers in pkg-qmake is not ideal, even if the Qt5 versions were
>> already hardcoded.
>>
>> An alternative approach could be to add a BR2_PACKAGE_QT{5,6} 
>> _VERSION_VALUE
>> option, but this can be discussed during review.
>>
>> Dario Binacchi (4):
>>    package/qwt: bump to version 6.3.0
>>    package/pkg-qmake: support Qt6
>>    package/qwt: enable build with Qt6
>>    package/cutekeyboard: enable build with Qt6
>>
>> Jesse Van Gavere (1):
>>    package/qt6: Add qmake functionality
>>
>>   package/cutekeyboard/Config.in       | 13 ++++++----
>>   package/cutekeyboard/cutekeyboard.mk |  6 ++++-
>>   package/pkg-qmake.mk                 | 21 ++++++++++++----
>>   package/qt6/qt6.mk                   | 18 ++++++++++++++
>>   package/qt6/qt6base/qmake.conf.in    | 36 ++++++++++++++++++++++++++++
>>   package/qt6/qt6base/qplatformdefs.h  |  1 +
>>   package/qt6/qt6base/qt.conf.in       |  7 ++++++
>>   package/qt6/qt6base/qt6base.mk       | 18 ++++++++++++++
>>   package/qwt/Config.in                | 22 ++++++++++-------
>>   package/qwt/qwt.hash                 |  8 +++----
>>   package/qwt/qwt.mk                   |  6 ++++-
>>   11 files changed, 132 insertions(+), 24 deletions(-)
>>   create mode 100644 package/qt6/qt6base/qmake.conf.in
>>   create mode 100644 package/qt6/qt6base/qplatformdefs.h
>>   create mode 100644 package/qt6/qt6base/qt.conf.in
>>
>
Dario Binacchi Sept. 1, 2025, 1:18 p.m. UTC | #3
Hi Richard,

On Mon, Sep 1, 2025 at 2:26 PM Richard GENOUD
<richard.genoud@bootlin.com> wrote:
>
> Le 01/09/2025 à 10:03, Richard GENOUD a écrit :
> > Le 14/08/2025 à 17:32, Dario Binacchi a écrit :
> >> The series supports qmake for qt6.
> > This is great to have this moving forward.
> >
> > Thanks for this job!
> >
>
> I've tested that on a client's project that was previously using Qt5 qmake.
> Buildroot (2025.02.5), arm toolchain, build and relocate sdk.
> The project uses recursive qmake, it works like a charm.

Thanks a lot for your test.

I still need to address some of Thomas’ comments in the review:

https://patchwork.ozlabs.org/project/buildroot/patch/20250814153259.6822-2-dario.binacchi@amarulasolutions.com/

In particular the point:

"$(QT6BASE_EGLFS_DEVICE) doesn't seem to be defined anywhere, so I have
some doubts that this is doing something useful."

I did some tests, but the last few days have been quite busy, so I
couldn’t move forward with the series.
I plan to reply to Thomas’ review and send a v4 either today or tomorrow.

Thanks and regards,
Dario


>
> Tested-by: Richard GENOUD <richard.genoud@bootlin.com>
>
> >>
> >> As stated in https://doc.qt.io/qt-6/qt6-buildsystem.html:
> >>
> >>    "This only affects users that want to build Qt from sources.
> >>     You can still use qmake as a build tool for your applications."
> >>
> >> This series revives an older patch that exported qmake for Qt6,
> >> applying a minimal fix. It extends pkg-qmake to support Qt6 and uses
> >> qwt and cutekeyboard as test cases to validate the changes.
> >>
> >> The series is marked as RFC because hardcoding the Qt5 and Qt6 version
> >> numbers in pkg-qmake is not ideal, even if the Qt5 versions were
> >> already hardcoded.
> >>
> >> An alternative approach could be to add a BR2_PACKAGE_QT{5,6}
> >> _VERSION_VALUE
> >> option, but this can be discussed during review.
> >>
> >> Dario Binacchi (4):
> >>    package/qwt: bump to version 6.3.0
> >>    package/pkg-qmake: support Qt6
> >>    package/qwt: enable build with Qt6
> >>    package/cutekeyboard: enable build with Qt6
> >>
> >> Jesse Van Gavere (1):
> >>    package/qt6: Add qmake functionality
> >>
> >>   package/cutekeyboard/Config.in       | 13 ++++++----
> >>   package/cutekeyboard/cutekeyboard.mk |  6 ++++-
> >>   package/pkg-qmake.mk                 | 21 ++++++++++++----
> >>   package/qt6/qt6.mk                   | 18 ++++++++++++++
> >>   package/qt6/qt6base/qmake.conf.in    | 36 ++++++++++++++++++++++++++++
> >>   package/qt6/qt6base/qplatformdefs.h  |  1 +
> >>   package/qt6/qt6base/qt.conf.in       |  7 ++++++
> >>   package/qt6/qt6base/qt6base.mk       | 18 ++++++++++++++
> >>   package/qwt/Config.in                | 22 ++++++++++-------
> >>   package/qwt/qwt.hash                 |  8 +++----
> >>   package/qwt/qwt.mk                   |  6 ++++-
> >>   11 files changed, 132 insertions(+), 24 deletions(-)
> >>   create mode 100644 package/qt6/qt6base/qmake.conf.in
> >>   create mode 100644 package/qt6/qt6base/qplatformdefs.h
> >>   create mode 100644 package/qt6/qt6base/qt.conf.in
> >>
> >
>
>
> --
> Richard Genoud, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com