summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/create_cmake.prf2
-rw-r--r--mkspecs/features/qt_functions.prf122
-rw-r--r--mkspecs/features/qt_installs.prf7
-rw-r--r--mkspecs/features/qt_module.prf11
-rw-r--r--mkspecs/features/qt_module_pris.prf122
-rw-r--r--mkspecs/features/qt_tool.prf2
6 files changed, 143 insertions, 123 deletions
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index 4643c3915c..2f61df761a 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -51,7 +51,7 @@ contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
}
-!exists($$first(QT.$${MODULE}.private_includes)): CMAKE_NO_PRIVATE_INCLUDES = true
+!exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true
CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 4f4f4e00c0..86b1ad4314 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -28,7 +28,7 @@ defineTest(qtAddLibrary) {
# Reverse-engineer the module name from the library name.
for(var, QT_MODULES) {
isEqual(QT.$${var}.name, $$1) {
- qtAddModule($$var, , LIBS)
+ qtAddModule($$var, LIBS)
return(true)
}
}
@@ -53,7 +53,7 @@ defineTest(qtHaveModule) {
return(false)
}
-# qt module, UsePrivate flag, libs variable
+# qt module, libs variable
defineTest(qtAddModule) {
MODULE_NAME = $$eval(QT.$${1}.name)
MODULE_INCLUDES = $$eval(QT.$${1}.includes)
@@ -61,8 +61,10 @@ defineTest(qtAddModule) {
MODULE_CONFIG = $$eval(QT.$${1}.module_config)
MODULE_MAJOR_VERSION = $$eval(QT.$${1}.MAJOR_VERSION)
- contains(MODULE_CONFIG, internal_module):!isEqual(2, UsePrivate): \
- error("Module $$1 has no public API.")
+ contains(MODULE_CONFIG, internal_module) {
+ using_privates = true
+ export(using_privates)
+ }
qtProcessModuleFlags(CONFIG, QT.$${1}.CONFIG)
qtProcessModuleFlags(DEFINES, QT.$${1}.DEFINES)
@@ -77,79 +79,75 @@ defineTest(qtAddModule) {
!qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
INCLUDEPATH *= $$FRAMEWORK_INCLUDE
}
- isEqual(2, UsePrivate): \
+ contains(MODULE_CONFIG, internal_module): \
INCLUDEPATH += \
$$FRAMEWORK_INCLUDE/$$eval(QT.$${1}.VERSION) \
$$FRAMEWORK_INCLUDE/$$eval(QT.$${1}.VERSION)/$$MODULE_NAME
QMAKE_FRAMEWORKPATH *= $${MODULE_LIBS}
- LINKAGE += -framework $${MODULE_NAME}$${QT_LIBINFIX}
+ export(QMAKE_FRAMEWORKPATH)
+ !contains(MODULE_CONFIG, no_link): \
+ LINKAGE += -framework $${MODULE_NAME}$${QT_LIBINFIX}
} else {
INCLUDEPATH *= $$MODULE_INCLUDES
- isEqual(2, UsePrivate): \
- INCLUDEPATH += $$eval(QT.$${1}.private_includes)
}
+ export(INCLUDEPATH)
- # Re-insert the major version in the library name (cf qtLibraryTarget above)
- # unless it's a framework build
- !mac|!contains(MODULE_CONFIG, lib_bundle): \
- MODULE_NAME ~= s,^Qt,Qt$$MODULE_MAJOR_VERSION,
-
- win32 {
- # Make sure the version number isn't appended again to the lib name
- ver_var = QMAKE_$${upper($$MODULE_NAME$$QT_LIBINFIX)}_VERSION_OVERRIDE
- dver_var = QMAKE_$${upper($$MODULE_NAME$$QT_LIBINFIX)}D_VERSION_OVERRIDE
- $$ver_var = 0
- $$dver_var = 0
- export($$ver_var)
- export($$dver_var)
- }
+ # Only link to this module if a libs directory is set, else this is just a module
+ # to give access to sources or include files, and not for linking.
+ !isEmpty(MODULE_LIBS):!contains(MODULE_CONFIG, no_link) {
+
+ # Re-insert the major version in the library name (cf qtLibraryTarget above)
+ # unless it's a framework build
+ !mac|!contains(MODULE_CONFIG, lib_bundle): \
+ MODULE_NAME ~= s,^Qt,Qt$$MODULE_MAJOR_VERSION,
+
+ win32 {
+ # Make sure the version number isn't appended again to the lib name
+ ver_var = QMAKE_$${upper($$MODULE_NAME$$QT_LIBINFIX)}_VERSION_OVERRIDE
+ dver_var = QMAKE_$${upper($$MODULE_NAME$$QT_LIBINFIX)}D_VERSION_OVERRIDE
+ $$ver_var = 0
+ $$dver_var = 0
+ export($$ver_var)
+ export($$dver_var)
+ }
- isEmpty(LINKAGE) {
- !isEmpty(MODULE_LIBS_ADD): LINKAGE = -L$$MODULE_LIBS_ADD
- lib = $${MODULE_NAME}$${QT_LIBINFIX}$$qtPlatformTargetSuffix()
- LINKAGE += -l$$lib
+ isEmpty(LINKAGE) {
+ !isEmpty(MODULE_LIBS_ADD): \
+ LINKAGE = -L$$MODULE_LIBS_ADD
+ lib = $${MODULE_NAME}$${QT_LIBINFIX}$$qtPlatformTargetSuffix()
+ LINKAGE += -l$$lib
- contains(QT_CONFIG, rpath): QMAKE_RPATHDIR *= $$eval(QT.$${1}.rpath)
+ contains(QT_CONFIG, rpath) {
+ QMAKE_RPATHDIR *= $$eval(QT.$${1}.rpath)
+ export(QMAKE_RPATHDIR)
+ }
+
+ contains(MODULE_CONFIG, staticlib) {
+ PRE_TARGETDEPS *= $$MODULE_LIBS/$${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB}
+ export(PRE_TARGETDEPS)
+ }
+ }
+
+ $$2 += $$LINKAGE
+ export($$2)
- contains(MODULE_CONFIG, staticlib): \
- PRE_TARGETDEPS *= $$MODULE_LIBS/$${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB}
- }
- # Only link to this module if a libs directory is set, else this is just a module
- # to give access to sources or include files, and not for linking.
- !isEmpty(MODULE_LIBS) {
!isEmpty(QMAKE_LSB) {
- !isEmpty(MODULE_LIBS_ADD): QMAKE_LFLAGS *= --lsb-libpath=$$MODULE_LIBS_ADD
- QMAKE_LIBDIR *= /opt/lsb/lib
+ !isEmpty(MODULE_LIBS_ADD): \
+ QMAKE_LFLAGS *= --lsb-libpath=$$MODULE_LIBS_ADD
QMAKE_LFLAGS *= --lsb-shared-libs=$${MODULE_NAME}$${QT_LIBINFIX}
+ QMAKE_LIBDIR *= /opt/lsb/lib
+ export(QMAKE_LFLAGS)
+ export(QMAKE_LIBDIR)
}
- $$3 += $$LINKAGE
}
- export($$3)
- export(INCLUDEPATH)
- export(QMAKE_FRAMEWORKPATH)
- export(QMAKE_LFLAGS)
- export(QMAKE_LIBDIR)
- export(QMAKE_RPATHDIR)
- export(QMAKE_RPATHLINKDIR)
- export(PRE_TARGETDEPS)
}
# qt variable, libs variable
defineTest(qtAddModules) {
- # Figure out from which modules we're wanting to use the private headers
- NEWQT =
- for(QTLIB, $$1) {
- QTLIBRAW = $$replace(QTLIB, -private$, )
- !isEqual(QTLIBRAW, $$QTLIB) {
- want_var = QT.$${QTLIBRAW}.want_private
- $$want_var = UsePrivate
- using_privates = true
- NEWQT += $$eval(QT.$${QTLIBRAW}.private_depends)
- }
- NEWQT += $$QTLIBRAW
- }
+ # qmake variables cannot contain dashes, so normalize the names first
+ $$1 = $$replace($$1, -private$, _private)
# Topological resolution of modules based on their QT.<module>.depends variable
- $$1 = $$resolve_depends(NEWQT, "QT.")
+ $$1 = $$resolve_depends($$1, "QT.")
# Finally actually add the modules
unset(BAD_QT)
for(QTLIB, $$1) {
@@ -164,11 +162,9 @@ defineTest(qtAddModules) {
next()
}
- qtAddModule($$QTLIB, $$eval(QT.$${QTLIB}.want_private), $$2)
+ qtAddModule($$QTLIB, $$2)
}
- !isEmpty(BAD_QT):error("Unknown module(s) in $$1: $$BAD_QT")
-
- export(using_privates)
+ !isEmpty(BAD_QT):error("Unknown module(s) in $$1: $$replace(BAD_QT, _private$, -private)")
}
defineTest(qtAddRpathLink) {
@@ -177,7 +173,7 @@ defineTest(qtAddRpathLink) {
# This means that paths of direct dependencies (QT & QT_PRIVATE)
# don't need to appear here. However, their private dependencies'
# paths OTOH need to be put there.
- pubqt = $$replace(1, -private$, )
+ pubqt = $$replace(1, -private$, _private)
pubdep = $$resolve_depends(pubqt, "QT.")
privdep = $$resolve_depends(pubqt, "QT.", ".depends" ".private_depends" ".run_depends")
privdep -= $$pubdep
@@ -245,7 +241,7 @@ defineTest(qtAddToolEnv) {
# target variable, dependency var name, [non-empty: prepare for system(), not make]
defineTest(qtAddTargetEnv) {
- deps = $$replace($$2, -private$, )
+ deps = $$replace($$2, -private$, _private)
deps = $$resolve_depends(deps, "QT.", ".depends" ".private_depends" ".run_depends")
!isEmpty(deps) {
for(dep, deps) {
diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
index e82b499009..7cacca9935 100644
--- a/mkspecs/features/qt_installs.prf
+++ b/mkspecs/features/qt_installs.prf
@@ -50,7 +50,12 @@ qt_install_module {
pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
pritarget.files = $$MODULE_PRI
INSTALLS += pritarget
- } else {
+ } else: isEmpty(MODULE_PRIVATE_PRI) {
warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
}
+ !isEmpty(MODULE_PRIVATE_PRI) {
+ privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
+ privpritarget.files = $$MODULE_PRIVATE_PRI
+ INSTALLS += privpritarget
+ }
}
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index b614112fd7..1bada0722c 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -44,7 +44,10 @@ ucmodule = $$upper($$MODULE)
isEmpty(MODULE_INCNAME): MODULE_INCNAME = $$TARGET
-MODULE_DEPENDS = $$replace(QT, -private$, )
+internal_module: \
+ MODULE_DEPENDS = $$replace(QT, -private$, _private)
+else: \
+ MODULE_DEPENDS = $$replace(QT, -private$, )
MODULE_DEPENDS = $$unique(MODULE_DEPENDS)
contains(TARGET, QtAddOn.*): \
@@ -55,14 +58,14 @@ MODULE_DEFINES = $$MODULE_DEFINE $$MODULE_DEFINES
load(qt_module_pris)
-INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}.private_includes)
+INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}_private.includes)
!no_module_headers: load(qt_module_headers)
#other
TEMPLATE = lib
-DESTDIR = $$eval(QT.$${MODULE}.libs)
-win32:!wince*:!prefix_build: DLLDESTDIR = $$eval(QT.$${MODULE}.bins)
+DESTDIR = $$eval(QT.$${MODULE_ID}.libs)
+win32:!wince*:!prefix_build: DLLDESTDIR = $$eval(QT.$${MODULE_ID}.bins)
CONFIG += qmake_cache target_qt
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
index 90e5288524..2e57f498e3 100644
--- a/mkspecs/features/qt_module_pris.prf
+++ b/mkspecs/features/qt_module_pris.prf
@@ -19,11 +19,25 @@ load(qt_build_paths)
CONFIG += split_incpath
force_independent|split_incpath: \
CONFIG += need_fwd_pri
-MODULE_FWD_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_lib_$${MODULE}.pri
+mod_work_pfx = $$MODULE_QMAKE_OUTDIR/mkspecs/modules
need_fwd_pri: \
- MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri
+ mod_inst_pfx = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst
else: \
- MODULE_PRI = $$MODULE_FWD_PRI
+ mod_inst_pfx = $$mod_work_pfx
+!internal_module {
+ MODULE_ID = $$MODULE
+ MODULE_PRIVATE_PRI = $$mod_inst_pfx/qt_lib_$${MODULE}_private.pri
+ mods_to_load = $$MODULE $${MODULE}_private
+} else {
+ MODULE_ID = $${MODULE}_private
+ mods_to_load = $${MODULE}_private
+}
+need_fwd_pri: \
+ pris_to_load = $$MODULE_ID
+else: \
+ pris_to_load = $$mods_to_load
+MODULE_PRI = $$mod_inst_pfx/qt_lib_$${MODULE_ID}.pri
+MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri
!build_pass {
@@ -34,20 +48,14 @@ else: \
module_libs = "\$\$QT_MODULE_LIB_BASE"
unix:!static {
host_build: \
- module_rpath = "QT.$${MODULE}.rpath = $$[QT_HOST_LIBS]"
+ module_rpath = "QT.$${MODULE_ID}.rpath = $$[QT_HOST_LIBS]"
else: \
- module_rpath = "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]"
+ module_rpath = "QT.$${MODULE_ID}.rpath = $$[QT_INSTALL_LIBS/raw]"
} else {
module_rpath =
}
- !isEmpty(QT_FOR_PRIVATE) {
- contains(QT_FOR_PRIVATE, .*-private$):error("QT_FOR_PRIVATE may not contain *-private.")
- module_privdep = "QT.$${MODULE}.private_depends = $$QT_FOR_PRIVATE"
- } else {
- module_privdep =
- }
!isEmpty(QT_PRIVATE): \
- module_rundep = "QT.$${MODULE}.run_depends = $$unique($$list($$replace(QT_PRIVATE, -private$, )))"
+ module_rundep = "QT.$${MODULE_ID}.run_depends = $$replace(QT_PRIVATE, -private$, _private)"
else: \
module_rundep =
static: \
@@ -58,10 +66,8 @@ else: \
module_build_type =
internal_module: \
module_build_type += internal_module
- !isEmpty(module_build_type): \
- module_build_type = "QT.$${MODULE}.module_config = $$module_build_type"
!isEmpty(MODULE_CONFIG): \
- module_config = "QT.$${MODULE}.CONFIG = $$MODULE_CONFIG"
+ module_config = "QT.$${MODULE_ID}.CONFIG = $$MODULE_CONFIG"
else: \
module_config =
!no_module_headers:!minimal_syncqt {
@@ -74,46 +80,51 @@ else: \
$$MODULE_BASE_OUTDIR/include)
MODULE_INCLUDES += $$MODULE_AUX_INCLUDES
MODULE_PRIVATE_INCLUDES += $$MODULE_PRIVATE_AUX_INCLUDES
- internal_module {
- MODULE_PRIVATE_INCLUDES = $$MODULE_INCLUDES $$MODULE_PRIVATE_INCLUDES
- MODULE_INCLUDES =
- MODULE_PRIVATE_SHADOW_INCLUDES = $$MODULE_SHADOW_INCLUDES
- MODULE_SHADOW_INCLUDES =
- }
- split_incpath {
- !isEmpty(MODULE_SHADOW_INCLUDES): \
- MODULE_FWD_PRI_CONT_SUFFIX += "QT.$${MODULE}.includes += $$MODULE_SHADOW_INCLUDES"
- !isEmpty(MODULE_PRIVATE_SHADOW_INCLUDES): \
- MODULE_FWD_PRI_CONT_SUFFIX += "QT.$${MODULE}.private_includes += $$MODULE_PRIVATE_SHADOW_INCLUDES"
- }
+ internal_module: \
+ MODULE_INCLUDES += $$MODULE_PRIVATE_INCLUDES
+ split_incpath: \
+ MODULE_FWD_PRI_CONT_SUFFIX += "QT.$${MODULE_ID}.includes += $$MODULE_SHADOW_INCLUDES"
MODULE_PRI_CONT = \
- "QT.$${MODULE}.VERSION = $${VERSION}" \
- "QT.$${MODULE}.MAJOR_VERSION = $$section(VERSION, ., 0, 0)" \
- "QT.$${MODULE}.MINOR_VERSION = $$section(VERSION, ., 1, 1)" \
- "QT.$${MODULE}.PATCH_VERSION = $$section(VERSION, ., 2, 2)" \
+ "QT.$${MODULE_ID}.VERSION = $${VERSION}" \
+ "QT.$${MODULE_ID}.MAJOR_VERSION = $$section(VERSION, ., 0, 0)" \
+ "QT.$${MODULE_ID}.MINOR_VERSION = $$section(VERSION, ., 1, 1)" \
+ "QT.$${MODULE_ID}.PATCH_VERSION = $$section(VERSION, ., 2, 2)" \
"" \
- "QT.$${MODULE}.name = $$TARGET" \
- "QT.$${MODULE}.libs = $$module_libs" \
+ "QT.$${MODULE_ID}.name = $$TARGET" \
+ "QT.$${MODULE_ID}.libs = $$module_libs" \
$$module_rpath \
- "QT.$${MODULE}.private_includes = $$MODULE_PRIVATE_INCLUDES"
+ "QT.$${MODULE_ID}.includes = $$MODULE_INCLUDES"
!host_build: MODULE_PRI_CONT += \
- "QT.$${MODULE}.includes = $$MODULE_INCLUDES" \
- "QT.$${MODULE}.bins = \$\$QT_MODULE_BIN_BASE" \
- "QT.$${MODULE}.libexecs = \$\$QT_MODULE_LIBEXEC_BASE" \
- "QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \
- "QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE" \
- "QT.$${MODULE}.qml = \$\$QT_MODULE_QML_BASE"
+ "QT.$${MODULE_ID}.bins = \$\$QT_MODULE_BIN_BASE" \
+ "QT.$${MODULE_ID}.libexecs = \$\$QT_MODULE_LIBEXEC_BASE" \
+ "QT.$${MODULE_ID}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \
+ "QT.$${MODULE_ID}.imports = \$\$QT_MODULE_IMPORT_BASE" \
+ "QT.$${MODULE_ID}.qml = \$\$QT_MODULE_QML_BASE"
MODULE_PRI_CONT += \
- "QT.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
- $$module_privdep \
+ "QT.$${MODULE_ID}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
$$module_rundep \
- $$module_build_type \
+ "QT.$${MODULE_ID}.module_config =$$join(module_build_type, " ", " ")" \
$$module_config \
- "QT.$${MODULE}.DEFINES = $$MODULE_DEFINES" \ # assume sufficient quoting
+ "QT.$${MODULE_ID}.DEFINES = $$MODULE_DEFINES" \ # assume sufficient quoting
"" \
"QT_MODULES += $$MODULE"
write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.")
- MODULE_PRI_FILES = $$MODULE_PRI
+ !internal_module {
+ module_build_type += internal_module no_link
+ MODULE_PRIVATE_PRI_CONT = \
+ "QT.$${MODULE}_private.VERSION = $${VERSION}" \
+ "QT.$${MODULE}_private.MAJOR_VERSION = $$section(VERSION, ., 0, 0)" \
+ "QT.$${MODULE}_private.MINOR_VERSION = $$section(VERSION, ., 1, 1)" \
+ "QT.$${MODULE}_private.PATCH_VERSION = $$section(VERSION, ., 2, 2)" \
+ "" \
+ "QT.$${MODULE}_private.name = $${TARGET}" \ # Same name as base module
+ "QT.$${MODULE}_private.libs = $$module_libs" \
+ "QT.$${MODULE}_private.includes = $$MODULE_PRIVATE_INCLUDES" \
+ "QT.$${MODULE}_private.depends = $$replace($$list($$MODULE $$QT_FOR_PRIVATE), -private$, _private)" \
+ "QT.$${MODULE}_private.module_config =$$join(module_build_type, " ", " ")"
+ write_file($$MODULE_PRIVATE_PRI, MODULE_PRIVATE_PRI_CONT)|error("Aborting.")
+ }
+ MODULE_PRI_FILES = $$MODULE_PRI $$MODULE_PRIVATE_PRI
need_fwd_pri {
@@ -132,8 +143,10 @@ else: \
"QT_MODULE_HOST_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
"QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \
"QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \
- "include($$MODULE_PRI)" \
- $$MODULE_FWD_PRI_CONT_SUFFIX
+ "include($$MODULE_PRI)"
+ !internal_module: MODULE_FWD_PRI_CONT += \
+ "include($$MODULE_PRIVATE_PRI)"
+ MODULE_FWD_PRI_CONT += $$MODULE_FWD_PRI_CONT_SUFFIX
write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.")
touch($$MODULE_FWD_PRI, $$MODULE_PRI)
MODULE_PRI_FILES += $$MODULE_FWD_PRI
@@ -155,12 +168,15 @@ else: \
# Then, inject the new module into the current cache state
!contains(QMAKE_INTERNAL_INCLUDED_FILES, $$MODULE_PRI): \ # before the actual include()!
cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, MODULE_PRI_FILES)
- include($$MODULE_FWD_PRI)
- for(var, $$list(VERSION MAJOR_VERSION MINOR_VERSION PATCH_VERSION \
- name depends private_depends module_config CONFIG DEFINES sources \
- includes private_includes bins libs libexecs plugins imports qml \
- rpath_link rpath_link_private \
- )):defined(QT.$${MODULE}.$$var, var):cache(QT.$${MODULE}.$$var, transient)
+ for(pri, pris_to_load): \
+ include($$mod_work_pfx/qt_lib_$${pri}.pri)
+ for(mod, mods_to_load) {
+ for(var, $$list(VERSION MAJOR_VERSION MINOR_VERSION PATCH_VERSION \
+ name depends module_config CONFIG DEFINES sources \
+ includes bins libs libexecs plugins imports qml \
+ rpath_link \
+ )):defined(QT.$${mod}.$$var, var):cache(QT.$${mod}.$$var, transient)
+ }
cache(QT_MODULES, transient)
} # !build_pass
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index f0f0fe567b..f0864f9e74 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -19,7 +19,7 @@ CONFIG += console
!build_pass:if(!host_build|!force_bootstrap|force_independent) {
isEmpty(MODULE):MODULE = $$TARGET
- !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, )
+ !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private)
load(qt_build_paths)