diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-09-18 10:52:32 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-11-30 15:22:11 +0100 |
commit | 42b5da1443fb2871916f0879ea62348953206e1b (patch) | |
tree | 3a80fa876c4015165a78bbd97fa70ec9305aa5a3 /mkspecs | |
parent | 763c4ca7255dc7f4536b83e8e5e524f0c99e8caf (diff) |
Install 3rd party headers and meta for static builds
When doing static builds any project which uses same
libraries as qtbase 3rd party libraries will most likely
end up in broken binaries, since symbols will be
included twice. Moreover, libraries can have different
versions. Install 3rd party headers and meta data for:
* qtlibpng
* qtfreetype
* qtharbuzz
Task-number: QTBUG-87154
Change-Id: I243dff9a12a95af20dee414f55bb762b8d579c81
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 802e5a45baf3ac7da2cb3be06d10bdd69696fcae)
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/features/qt_helper_lib.prf | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf index bc20251bd9..964e256ee0 100644 --- a/mkspecs/features/qt_helper_lib.prf +++ b/mkspecs/features/qt_helper_lib.prf @@ -89,4 +89,32 @@ TARGET = $$THE_TARGET # In static builds of Qt, convenience libraries must be installed, # as in this case they are not linked to the final library/plugin. -installed|if(!not_installed:qtConfig(static)): load(qt_installs) +installed|if(!not_installed:qtConfig(static)) { + !isEmpty(MODULE_EXT_HEADERS) { + headers.files = $${MODULE_EXT_HEADERS} + headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET + INSTALLS += headers + } else { + !isEmpty(MODULE_EXT_HEADERS_DIR) { + headers.files = $$MODULE_EXT_HEADERS_DIR/* + headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET + INSTALLS += headers + } + } + + CONFIG += qt_install_module + rpl_header_base = $$MODULE_INCLUDEPATH + rpl_lib_base = $${MODULE_LIBS} + qqt_dir = \$\$\$\$[QT_INSTALL_HEADERS] + pri_header_replace.match = $$rpl_header_base + pri_header_replace.replace = $$qqt_dir/$$TARGET + pri_header_replace.CONFIG = path + pri_header_replace.filename = qt_ext_$${MODULE}.pri + qqt_dir = \$\$\$\$[QT_INSTALL_LIBS] + pri_lib_replace.match = $$rpl_lib_base + pri_lib_replace.replace = $$qqt_dir/$$prefix$${THE_TARGET}.$$suffix + pri_lib_replace.CONFIG = path + pri_lib_replace.filename = qt_ext_$${MODULE}.pri + QMAKE_INSTALL_REPLACE += pri_header_replace pri_lib_replace + load(qt_installs) +} |