qt5*: split qmake.mk into common.mk and qmake.mk
authorMirko Vogt <[email protected]>
Mon, 12 May 2025 16:50:13 +0000 (16:50 +0000)
committerMirko Vogt <[email protected]>
Thu, 22 May 2025 10:58:15 +0000 (10:58 +0000)
That way projects not using qmake (but cmake) can still import all qt5
specific variables and helper functions, without its routines being
overriden by the qmake specific ones.

frameworks/qt5/common.mk [new file with mode: 0644]
frameworks/qt5/qmake.mk
frameworks/qt5/qt5base/Makefile
frameworks/qt5/qt5graphicaleffects/Makefile
frameworks/qt5/qt5quick2-controls2/Makefile
frameworks/qt5/qt5quick2/Makefile
frameworks/qt5/qt5script/Makefile
frameworks/qt5/qt5tools/Makefile
frameworks/qt5/qt5translations/Makefile

diff --git a/frameworks/qt5/common.mk b/frameworks/qt5/common.mk
new file mode 100644 (file)
index 0000000..e630d5f
--- /dev/null
@@ -0,0 +1,134 @@
+#
+# Copyright (C) 2020 OpenWrt.org
+# Author: Mirko Vogt <[email protected]>
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+# for target builds (STAGING_DIR)
+QT_INSTALL_PREFIX:=$(CONFIGURE_PREFIX)
+QT_INSTALL_CONFIGURATION:=/etc/qt5
+QT_INSTALL_LIBS:=$(QT_INSTALL_PREFIX)/lib
+QT_INSTALL_DATA:=$(QT_INSTALL_PREFIX)/share/qt5
+QT_INSTALL_HEADERS:=$(QT_INSTALL_PREFIX)/include/qt5
+QT_INSTALL_CMAKES:=$(QT_INSTALL_PREFIX)/lib/cmake
+QT_INSTALL_PKGCONFIGS:=$(QT_INSTALL_PREFIX)/lib/pkgconfig
+QT_INSTALL_BINS:=$(QT_INSTALL_PREFIX)/bin
+QT_INSTALL_DOCS:=$(QT_INSTALL_DATA)/doc
+QT_INSTALL_TRANSLATIONS:=$(QT_INSTALL_DATA)/translations
+QT_INSTALL_ARCHDATA:=$(QT_INSTALL_LIBS)/qt5
+QT_INSTALL_LIBEXECS:=$(QT_INSTALL_ARCHDATA)
+QT_INSTALL_TESTS:=$(QT_INSTALL_ARCHDATA)/tests
+QT_INSTALL_PLUGINS:=$(QT_INSTALL_ARCHDATA)/plugins
+QT_INSTALL_IMPORTS:=$(QT_INSTALL_ARCHDATA)/imports
+QT_INSTALL_QML:=$(QT_INSTALL_ARCHDATA)/qml
+QT_INSTALL_EXAMPLES:=$(QT_INSTALL_ARCHDATA)/examples
+QT_INSTALL_DEMOS:=$(QT_INSTALL_EXAMPLES)
+# for host builds defined in target project files (STAGING_DIR)/host
+QT_HOST_PREFIX:=$(STAGING_DIR)/host
+QT_HOST_DATA:=$(QT_HOST_PREFIX)/share/qt5
+QT_HOST_BINS:=$(QT_HOST_PREFIX)/bin/qt5
+QT_HOST_LIBS:=$(QT_HOST_PREFIX)/lib
+# for host builds defined in host project files (STAGING_DIR_HOST)
+QT_HOSTPKG_PREFIX:=$(STAGING_DIR_HOST)
+QT_HOSTPKG_CONFIGURATION:=$(STAGING_DIR_HOST)/etc/qt5
+QT_HOSTPKG_LIBS:=$(QT_HOSTPKG_PREFIX)/lib
+QT_HOSTPKG_DATA:=$(QT_HOSTPKG_PREFIX)/share/qt5
+QT_HOSTPKG_HEADERS:=$(QT_HOSTPKG_PREFIX)/include/qt5
+QT_HOSTPKG_CMAKES:=$(QT_HOSTPKG_PREFIX)/lib/cmake
+QT_HOSTPKG_PKGCONFIGS:=$(QT_HOSTPKG_PREFIX)/lib/pkgconfig
+QT_HOSTPKG_BINS:=$(QT_HOSTPKG_PREFIX)/bin/qt5
+QT_HOSTPKG_DOCS:=$(QT_HOSTPKG_DATA)/doc
+QT_HOSTPKG_TRANSLATIONS:=$(QT_HOSTPKG_DATA)/translations
+QT_HOSTPKG_ARCHDATA:=$(QT_HOSTPKG_LIBS)/qt5
+QT_HOSTPKG_LIBEXECS:=$(QT_HOSTPKG_ARCHDATA)/libexec
+QT_HOSTPKG_TESTS:=$(QT_HOSTPKG_ARCHDATA)/tests
+QT_HOSTPKG_PLUGINS:=$(QT_HOSTPKG_ARCHDATA)/plugins
+QT_HOSTPKG_IMPORTS:=$(QT_HOSTPKG_ARCHDATA)/imports
+QT_HOSTPKG_QML:=$(QT_HOSTPKG_ARCHDATA)/qml
+QT_HOSTPKG_EXAMPLES:=$(QT_HOSTPKG_ARCHDATA)/examples
+QT_HOSTPKG_DEMOS:=$(QT_HOSTPKG_EXAMPLES)
+
+
+define Build/Install/HostFiles
+       $(INSTALL_DIR) \
+               $(1)/host
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/host/* \
+               $(1)/host/
+endef
+
+define Build/Install/Headers
+       $(INSTALL_DIR) \
+               $(1)/$(QT_INSTALL_HEADERS)
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/$(QT_INSTALL_HEADERS)/* \
+               $(1)/$(QT_INSTALL_HEADERS)/
+endef
+
+define Build/Install/Libs
+       $(INSTALL_DIR) \
+               $(1)/$(QT_INSTALL_LIBS)
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/$(QT_INSTALL_LIBS)/$(2).so* \
+               $(1)/$(QT_INSTALL_LIBS)/
+endef
+
+define Build/Install/Cmakes
+       $(INSTALL_DIR) \
+               $(1)/$(QT_INSTALL_CMAKES)
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/$(QT_INSTALL_CMAKES)/* \
+               $(1)/$(QT_INSTALL_CMAKES)/
+endef
+
+define Build/Install/Pkgconfigs
+       $(INSTALL_DIR) \
+               $(1)/$(QT_INSTALL_PKGCONFIGS)
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/$(QT_INSTALL_PKGCONFIGS)/* \
+               $(1)/$(QT_INSTALL_PKGCONFIGS)/
+endef
+
+define Build/Install/Translations
+       $(INSTALL_DIR) \
+               $(1)/$(QT_INSTALL_TRANSLATIONS)
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/$(QT_INSTALL_TRANSLATIONS)/$(2).qm \
+               $(1)/$(QT_INSTALL_TRANSLATIONS)/
+endef
+
+define Build/Install/Plugins
+       if [ "$(2)" = '*' ]; then \
+               $(INSTALL_DIR) \
+                       $(1)/$(QT_INSTALL_PLUGINS) ; \
+               $(CP) \
+                       $(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2) \
+                       $(1)/$(QT_INSTALL_PLUGINS)/ ; \
+       else \
+               $(INSTALL_DIR) \
+                       $(1)/$(QT_INSTALL_PLUGINS)/$(2) ; \
+               $(CP) \
+                       $(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2)/$(3).so* \
+                       $(1)/$(QT_INSTALL_PLUGINS)/$(2)/ ; \
+       fi
+endef
+
+define Build/Install/Examples
+       $(INSTALL_DIR) \
+               $(1)/$(QT_INSTALL_EXAMPLES)
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/$(QT_INSTALL_EXAMPLES)/* \
+               $(1)/$(QT_INSTALL_EXAMPLES)/
+
+       $(FIND) $(1)/$(QT_INSTALL_EXAMPLES) \
+               -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.pro' -o -name '*.pri' \) | \
+               $(XARGS) $(RM) -vf
+endef
index 6e060383c8db2ad4a99fd92b5456e7d4d280e1f1..29ff6f54e8074025b67389f2f8d1e03751fa389e 100644 (file)
 #    objects on the target platform. Tihs behaviour wasn't observed so far, however 
 #    one might use the QT_INSTALL_* variables for some weird reason during runtime.
 
-# for target builds (STAGING_DIR)
-QT_INSTALL_PREFIX:=$(CONFIGURE_PREFIX)
-QT_INSTALL_CONFIGURATION:=/etc/qt5
-QT_INSTALL_LIBS:=$(QT_INSTALL_PREFIX)/lib
-QT_INSTALL_DATA:=$(QT_INSTALL_PREFIX)/share/qt5
-QT_INSTALL_HEADERS:=$(QT_INSTALL_PREFIX)/include/qt5
-QT_INSTALL_CMAKES:=$(QT_INSTALL_PREFIX)/lib/cmake
-QT_INSTALL_PKGCONFIGS:=$(QT_INSTALL_PREFIX)/lib/pkgconfig
-QT_INSTALL_BINS:=$(QT_INSTALL_PREFIX)/bin
-QT_INSTALL_DOCS:=$(QT_INSTALL_DATA)/doc
-QT_INSTALL_TRANSLATIONS:=$(QT_INSTALL_DATA)/translations
-QT_INSTALL_ARCHDATA:=$(QT_INSTALL_LIBS)/qt5
-QT_INSTALL_LIBEXECS:=$(QT_INSTALL_ARCHDATA)
-QT_INSTALL_TESTS:=$(QT_INSTALL_ARCHDATA)/tests
-QT_INSTALL_PLUGINS:=$(QT_INSTALL_ARCHDATA)/plugins
-QT_INSTALL_IMPORTS:=$(QT_INSTALL_ARCHDATA)/imports
-QT_INSTALL_QML:=$(QT_INSTALL_ARCHDATA)/qml
-QT_INSTALL_EXAMPLES:=$(QT_INSTALL_ARCHDATA)/examples
-QT_INSTALL_DEMOS:=$(QT_INSTALL_EXAMPLES)
-# for host builds defined in target project files (STAGING_DIR)/host
-QT_HOST_PREFIX:=$(STAGING_DIR)/host
-QT_HOST_DATA:=$(QT_HOST_PREFIX)/share/qt5
-QT_HOST_BINS:=$(QT_HOST_PREFIX)/bin/qt5
-QT_HOST_LIBS:=$(QT_HOST_PREFIX)/lib
-# for host builds defined in host project files (STAGING_DIR_HOST)
-QT_HOSTPKG_PREFIX:=$(STAGING_DIR_HOST)
-QT_HOSTPKG_CONFIGURATION:=$(STAGING_DIR_HOST)/etc/qt5
-QT_HOSTPKG_LIBS:=$(QT_HOSTPKG_PREFIX)/lib
-QT_HOSTPKG_DATA:=$(QT_HOSTPKG_PREFIX)/share/qt5
-QT_HOSTPKG_HEADERS:=$(QT_HOSTPKG_PREFIX)/include/qt5
-QT_HOSTPKG_CMAKES:=$(QT_HOSTPKG_PREFIX)/lib/cmake
-QT_HOSTPKG_PKGCONFIGS:=$(QT_HOSTPKG_PREFIX)/lib/pkgconfig
-QT_HOSTPKG_BINS:=$(QT_HOSTPKG_PREFIX)/bin/qt5
-QT_HOSTPKG_DOCS:=$(QT_HOSTPKG_DATA)/doc
-QT_HOSTPKG_TRANSLATIONS:=$(QT_HOSTPKG_DATA)/translations
-QT_HOSTPKG_ARCHDATA:=$(QT_HOSTPKG_LIBS)/qt5
-QT_HOSTPKG_LIBEXECS:=$(QT_HOSTPKG_ARCHDATA)/libexec
-QT_HOSTPKG_TESTS:=$(QT_HOSTPKG_ARCHDATA)/tests
-QT_HOSTPKG_PLUGINS:=$(QT_HOSTPKG_ARCHDATA)/plugins
-QT_HOSTPKG_IMPORTS:=$(QT_HOSTPKG_ARCHDATA)/imports
-QT_HOSTPKG_QML:=$(QT_HOSTPKG_ARCHDATA)/qml
-QT_HOSTPKG_EXAMPLES:=$(QT_HOSTPKG_ARCHDATA)/examples
-QT_HOSTPKG_DEMOS:=$(QT_HOSTPKG_EXAMPLES)
-
 QMAKE_SPEC:=linux-g++
 QMAKE_XSPEC:=linux-openwrt-g++
 
+# for target builds
 PKG_INSTALL_DIR_ROOT:=$(PKG_INSTALL_DIR)
 PKG_INSTALL_DIR:=$(PKG_INSTALL_DIR_ROOT)/$(STAGING_DIR)
 
@@ -156,86 +113,3 @@ define Host/Install/Default
                $(MAKE) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
                        $(1) install
 endef
-
-define Build/Install/HostFiles
-       $(INSTALL_DIR) \
-               $(1)/host
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/host/* \
-               $(1)/host/
-endef
-
-define Build/Install/Headers
-       $(INSTALL_DIR) \
-               $(1)/$(QT_INSTALL_HEADERS)
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/$(QT_INSTALL_HEADERS)/* \
-               $(1)/$(QT_INSTALL_HEADERS)/
-endef
-
-define Build/Install/Libs
-       $(INSTALL_DIR) \
-               $(1)/$(QT_INSTALL_LIBS)
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/$(QT_INSTALL_LIBS)/$(2).so* \
-               $(1)/$(QT_INSTALL_LIBS)/
-endef
-
-define Build/Install/Cmakes
-       $(INSTALL_DIR) \
-               $(1)/$(QT_INSTALL_CMAKES)
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/$(QT_INSTALL_CMAKES)/* \
-               $(1)/$(QT_INSTALL_CMAKES)/
-endef
-
-define Build/Install/Pkgconfigs
-       $(INSTALL_DIR) \
-               $(1)/$(QT_INSTALL_PKGCONFIGS)
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/$(QT_INSTALL_PKGCONFIGS)/* \
-               $(1)/$(QT_INSTALL_PKGCONFIGS)/
-endef
-
-define Build/Install/Translations
-       $(INSTALL_DIR) \
-               $(1)/$(QT_INSTALL_TRANSLATIONS)
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/$(QT_INSTALL_TRANSLATIONS)/$(2).qm \
-               $(1)/$(QT_INSTALL_TRANSLATIONS)/
-endef
-
-define Build/Install/Plugins
-       if [ "$(2)" = '*' ]; then \
-               $(INSTALL_DIR) \
-                       $(1)/$(QT_INSTALL_PLUGINS) ; \
-               $(CP) \
-                       $(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2) \
-                       $(1)/$(QT_INSTALL_PLUGINS)/ ; \
-       else \
-               $(INSTALL_DIR) \
-                       $(1)/$(QT_INSTALL_PLUGINS)/$(2) ; \
-               $(CP) \
-                       $(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2)/$(3).so* \
-                       $(1)/$(QT_INSTALL_PLUGINS)/$(2)/ ; \
-       fi
-endef
-
-define Build/Install/Examples
-       $(INSTALL_DIR) \
-               $(1)/$(QT_INSTALL_EXAMPLES)
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/$(QT_INSTALL_EXAMPLES)/* \
-               $(1)/$(QT_INSTALL_EXAMPLES)/
-
-       $(FIND) $(1)/$(QT_INSTALL_EXAMPLES) \
-               -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.pro' -o -name '*.pri' \) | \
-               $(XARGS) $(RM) -vf
-endef
index 1726509d5b054153b1312cc73dcae81785d0825e..b0872f9416eb51857df1e18556a46be6a5173c94 100644 (file)
@@ -40,6 +40,7 @@ HOST_BUILD_DEPENDS:=qt5base
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/nls.mk
+include ../common.mk
 include ../qmake.mk
 
 # hard disable udev support for now
index 9e6212bde779ffc1f8c097b49fbfcf5507b87e49..3d3f8f0401021550a3ebe5c421d3639c2c712d15 100644 (file)
@@ -23,6 +23,7 @@ PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
+include ../common.mk
 include ../qmake.mk
 
 define Package/qt5graphicaleffects
index 69bba2a031755663b1356affde38d1a65ef7023a..c30ecf4b3cf5d5078dc3f8d0719c668d0e2b878a 100644 (file)
@@ -22,6 +22,7 @@ PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
+include ../common.mk
 include ../qmake.mk
 
 define Package/qt5quick2-controls2
index 564756156cdd60955345cd4d4efa89d220d32931..83bce2963f83c87be3df9d2310ee4bf9809e357a 100644 (file)
@@ -23,6 +23,7 @@ PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
+include ../common.mk
 include ../qmake.mk
 
 define Package/qt5quick2/Default
index 94e4b13387d5fea937215d7251a622cab50eea03..9a658d657d28a9baecdf44d255f8d87caa1c18dc 100644 (file)
@@ -23,6 +23,7 @@ PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
+include ../common.mk
 include ../qmake.mk
 
 define Package/qt5script/Default
index 5d20620eaab576a7ce62cea7dbe7e76a1057aa5c..9fac6e1cf22b4a6f2b3243b047f40b0ecfba3fd1 100644 (file)
@@ -27,6 +27,7 @@ HOST_BUILD_DEPENDS:=qt5base/host
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/nls.mk
+include ../common.mk
 include ../qmake.mk
 
 define Package/qt5tools
index 3bcc69768612dab0fae94f44e87aa1f6c01383fe..e0fda9eaef9895acaf5c8bd0a25d3d52a5de0730 100644 (file)
@@ -23,6 +23,7 @@ PKG_BUILD_DEPENDS:=qt5tools/host
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
+include ../common.mk
 include ../qmake.mk
 
 define Package/qt5translations