[v6,0/6] Support qmake for Qt6
mbox series

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

Message

Dario Binacchi Sept. 25, 2026, 6:42 a.m. UTC
Qt6 is built with cmake, but qmake is still installed and supported as
a build tool for applications [1]. This series revives an older patch
exporting qmake for Qt6, extends pkg-qmake to support Qt6 and uses qwt
and cutekeyboard as test cases.

[1] https://doc.qt.io/qt-6/qt6-buildsystem.html

Changes in v6:
- rebase on master (qt6 6.11.2, cutekeyboard 1.7.0)
- package/cutekeyboard: drop the redundant select of
  BR2_PACKAGE_QT6BASE_GUI, already selected by
  BR2_PACKAGE_QT6DECLARATIVE_QUICK, as pointed out by Andrea Ricchi
- add Reviewed-by of Andrea Ricchi on patch 6

Changes in v5:
- rebase on master (qt6 6.11.1, cutekeyboard 1.6.0)
- drop the RFC tag
- pkg-qmake no longer hardcodes the Qt versions.
- package/pkg-qmake: document in the manual which Qt base package is
  added to the dependencies
- package/qt6: set ArchData, LibraryExecutables, Plugins and QmlImports
  in qt.conf.in. The host qmake defaults are relative to the host build
  layout, so qmake packages installed their plugins and QML modules in
  /usr/plugins and /usr/qml instead of /usr/lib/qt6/{plugins,qml}, where
  the target Qt6 looks for them
- package/qt6:
  - quote QT_QMAKE_DEVICE_OPTIONS, it is a cmake list and the unquoted
    ';' were split by the shell
  - Replace QT6BASE_CXX_FLAGS with TARGET_CFLAGS/TARGET_CXXFLAGS
    directly, as suggested by Thomas
  - drop the redundant mkdir
- new patch adding QT6_QT_CONF_FIXUP for the per-package directories
  case, as Qt5 does.
- package/qwt: OpenGL option depends on BR2_PACKAGE_QT6_GL_SUPPORTS,
  which is what BR2_PACKAGE_QT6BASE_OPENGL requires
- add Tested-by of Richard Genoud on patch 1


Dario Binacchi (5):
  package/qt6: add QT6_QT_CONF_FIXUP hook
  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

 docs/manual/adding-packages-qmake.adoc |  4 +++
 package/cutekeyboard/Config.in         | 12 +++++----
 package/cutekeyboard/cutekeyboard.mk   |  6 ++++-
 package/pkg-qmake.mk                   | 18 ++++++++++----
 package/qt6/qt6.mk                     | 18 ++++++++++++++
 package/qt6/qt6base/qmake.conf         | 34 ++++++++++++++++++++++++++
 package/qt6/qt6base/qplatformdefs.h    |  1 +
 package/qt6/qt6base/qt.conf.in         | 11 +++++++++
 package/qt6/qt6base/qt6base.mk         | 14 +++++++++++
 package/qwt/Config.in                  | 22 +++++++++++------
 package/qwt/qwt.hash                   |  8 +++---
 package/qwt/qwt.mk                     |  6 ++++-
 12 files changed, 130 insertions(+), 24 deletions(-)
 create mode 100644 package/qt6/qt6base/qmake.conf
 create mode 100644 package/qt6/qt6base/qplatformdefs.h
 create mode 100644 package/qt6/qt6base/qt.conf.in