From e1ff27ca28e8a7ab5b0425e8b5d7dd671e59b407 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 13 Oct 2014 14:47:13 +0200 Subject: add support for explicitly declaring the module master header when a module delegates to another module (as the activeqt ones do), it doesn't have a master header to be included. we could derive the real master header by doing a transitive dependency resolution and some filtering, but that seems unnecessarily complex. Task-number: QTBUG-41892 Change-Id: Ie7ce51a837ac06e929b204ec734206c11b3ae241 Reviewed-by: Friedemann Kleint Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_module_headers.prf | 4 +++- mkspecs/features/qt_module_pris.prf | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index baeb22d9b4..5015d58861 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -58,7 +58,9 @@ MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MOD MODULE_MASTER_DEPS_HEADER_CONT = $$autogen_warning MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}ifdef __cplusplus /* create empty PCH in C mode */" for(dep, MODULE_DEPENDS) { - depname = $$eval(QT.$${dep}.name) + depname = $$eval(QT.$${dep}.master_header) + isEmpty(depname): \ + depname = $$eval(QT.$${dep}.name) MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>" } MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}endif" diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf index 3d438e52f4..9a876caf5e 100644 --- a/mkspecs/features/qt_module_pris.prf +++ b/mkspecs/features/qt_module_pris.prf @@ -74,6 +74,10 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri module_plugtypes = "QT.$${MODULE_ID}.plugin_types = $$replace(MODULE_PLUGIN_TYPES, /.*$, )" else: \ module_plugtypes = + !isEmpty(MODULE_MASTER_HEADER): \ + module_master = "QT.$${MODULE_ID}.master_header = $$MODULE_MASTER_HEADER" + else: \ + module_master = !no_module_headers:!minimal_syncqt { MODULE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \ @@ -97,6 +101,7 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri "QT.$${MODULE_ID}.name = $$TARGET" \ "QT.$${MODULE_ID}.libs = $$module_libs" \ $$module_rpath \ + $$module_master \ "QT.$${MODULE_ID}.includes = $$MODULE_INCLUDES" !host_build: MODULE_PRI_CONT += \ "QT.$${MODULE_ID}.bins = \$\$QT_MODULE_BIN_BASE" \ -- cgit v1.2.3