fix bootstrapped modules in framework builds, take 2
the borrowing of headers always happens from "proper" modules which are actually built as frameworks if so requested. that means that even though the borrowing module itself never is a framework, it needs a framework path and include paths that point into frameworks. amends 20c7ab44. Change-Id: Ic582060dd179cc592e9be7792ff02cebdfabd772 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
1b75a04336
commit
97be8253fb
@ -41,8 +41,12 @@ host_build {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CONFIG(shared, static|shared):qtConfig(framework): \
|
qtConfig(framework) {
|
||||||
CONFIG += lib_bundle
|
minimal_syncqt: \
|
||||||
|
CONFIG += module_frameworks
|
||||||
|
else: CONFIG(shared, static|shared): \
|
||||||
|
CONFIG += module_frameworks lib_bundle
|
||||||
|
}
|
||||||
|
|
||||||
CONFIG += relative_qt_rpath # Qt libraries should be relocatable
|
CONFIG += relative_qt_rpath # Qt libraries should be relocatable
|
||||||
|
|
||||||
|
@ -59,7 +59,9 @@ load(qt_build_paths)
|
|||||||
# even beyond the module's own build. The implication of this is that
|
# even beyond the module's own build. The implication of this is that
|
||||||
# qmake might never use a framework's headers in a non-prefix build,
|
# qmake might never use a framework's headers in a non-prefix build,
|
||||||
# as there is no separate set of .pri files for users outside Qt.
|
# as there is no separate set of .pri files for users outside Qt.
|
||||||
prefix_build:lib_bundle: \
|
# Borrowing is assumed to happen from modules which, in a framework build,
|
||||||
|
# actually are frameworks.
|
||||||
|
prefix_build:module_frameworks: \
|
||||||
fwd = _FWD
|
fwd = _FWD
|
||||||
# When using a split include path during the build, the installed module's
|
# When using a split include path during the build, the installed module's
|
||||||
# include path is also structurally different from that in the build dir.
|
# include path is also structurally different from that in the build dir.
|
||||||
@ -82,7 +84,7 @@ for(mod, MODULE_INCNAME) {
|
|||||||
generated_privates: \
|
generated_privates: \
|
||||||
MODULE$${sfwd}$${prv}_INCLUDES += $$mbibase/$$VERSION $$mbibase/$$VERSION/$$mod
|
MODULE$${sfwd}$${prv}_INCLUDES += $$mbibase/$$VERSION $$mbibase/$$VERSION/$$mod
|
||||||
}
|
}
|
||||||
prefix_build:lib_bundle {
|
prefix_build:module_frameworks {
|
||||||
mfbase = \$\$QT_MODULE_LIB_BASE/$${mod}.framework/Headers
|
mfbase = \$\$QT_MODULE_LIB_BASE/$${mod}.framework/Headers
|
||||||
MODULE_INCLUDES += $$mfbase
|
MODULE_INCLUDES += $$mfbase
|
||||||
MODULE$${prv}_INCLUDES += $$mfbase/$$VERSION $$mfbase/$$VERSION/$$mod
|
MODULE$${prv}_INCLUDES += $$mfbase/$$VERSION $$mfbase/$$VERSION/$$mod
|
||||||
|
@ -83,10 +83,10 @@ defineReplace(qtExportLibsForModule) {
|
|||||||
module_build_type = v2
|
module_build_type = v2
|
||||||
static: \
|
static: \
|
||||||
module_build_type += staticlib
|
module_build_type += staticlib
|
||||||
lib_bundle {
|
lib_bundle: \
|
||||||
module_build_type += lib_bundle
|
module_build_type += lib_bundle
|
||||||
|
module_frameworks: \
|
||||||
MODULE_FRAMEWORKS = " \$\$QT_MODULE_LIB_BASE"
|
MODULE_FRAMEWORKS = " \$\$QT_MODULE_LIB_BASE"
|
||||||
}
|
|
||||||
internal_module: \
|
internal_module: \
|
||||||
module_build_type += internal_module
|
module_build_type += internal_module
|
||||||
ltcg: \
|
ltcg: \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user