diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-11-27 20:19:07 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-12-01 03:38:41 +0000 |
commit | c765b8f280352a7f3262ad3ad992f2dea41985d7 (patch) | |
tree | 82dea6295fe193580d06dc261a2813c0d827b542 | |
parent | be01af7c343cdf7ea1bd6604bc3fa0a1f6ce6419 (diff) |
CMake: Fix QMAKE_LIB of WrapOpenSSLHeaders library
The correct entry for this lib is 'openssl/nolink', not
'openssl_headers'.
In configurejson2cmake's helper.py we already have
this information encoded such that the no_link_so_name field of
'openssl' points to 'openssl_headers'. Extend configurejson2cmake to
take this into account, and re-generate src/network/configure.cmake.
Change-Id: I9817ea7722503a373d309b7e6fa201448d403e8d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 5592204b19a5dc46e308cc31ac035edb78d2d8fd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | .prev_configure.cmake | 2 | ||||
-rw-r--r-- | src/network/configure.cmake | 2 | ||||
-rw-r--r-- | util/cmake/helper.py | 11 |
3 files changed, 12 insertions, 3 deletions
diff --git a/.prev_configure.cmake b/.prev_configure.cmake index 3390c85588..b0a133bcb3 100644 --- a/.prev_configure.cmake +++ b/.prev_configure.cmake @@ -643,7 +643,7 @@ qt_feature("enable_gdb_index" qt_feature_config("enable_gdb_index" QMAKE_PRIVATE_CONFIG) qt_feature("reduce_exports" PRIVATE LABEL "Reduce amount of exported symbols" - CONDITION NOT WIN32 AND CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY + CONDITION NOT MSVC ) qt_feature_definition("reduce_exports" "QT_VISIBILITY_AVAILABLE") qt_feature_config("reduce_exports" QMAKE_PUBLIC_QT_CONFIG) diff --git a/src/network/configure.cmake b/src/network/configure.cmake index ea71cd1ff8..b3c9087127 100644 --- a/src/network/configure.cmake +++ b/src/network/configure.cmake @@ -8,7 +8,7 @@ qt_find_package(WrapBrotli PROVIDED_TARGETS WrapBrotli::WrapBrotliDec MODULE_NAME network QMAKE_LIB brotli) qt_find_package(Libproxy PROVIDED_TARGETS PkgConfig::Libproxy MODULE_NAME network QMAKE_LIB libproxy) -qt_find_package(WrapOpenSSLHeaders PROVIDED_TARGETS WrapOpenSSLHeaders::WrapOpenSSLHeaders MODULE_NAME network QMAKE_LIB openssl_headers) +qt_find_package(WrapOpenSSLHeaders PROVIDED_TARGETS WrapOpenSSLHeaders::WrapOpenSSLHeaders MODULE_NAME network QMAKE_LIB openssl/nolink) # openssl_headers qt_config_compile_test(openssl_headers LIBRARIES diff --git a/util/cmake/helper.py b/util/cmake/helper.py index 0c381a1cd9..364e8918ec 100644 --- a/util/cmake/helper.py +++ b/util/cmake/helper.py @@ -668,6 +668,15 @@ def find_library_info_for_target(targetName: str) -> typing.Optional[LibraryMapp return None +# For a given qmake library (e.g. 'openssl_headers'), check whether this is a fake library used +# for the /nolink annotation, and return the actual annotated qmake library ('openssl/nolink'). +def find_annotated_qmake_lib_name(lib : str) -> str: + for entry in _library_map: + if entry.no_link_so_name == lib: + return entry.soName + "/nolink" + return lib + + def featureName(name: str) -> str: replacement_char = "_" if name.startswith("c++"): @@ -820,7 +829,7 @@ def generate_find_package_info( extra += ["PROVIDED_TARGETS", cmake_target_name] if module: extra += ["MODULE_NAME", module] - extra += ["QMAKE_LIB", lib.soName] + extra += ["QMAKE_LIB", find_annotated_qmake_lib_name(lib.soName)] result = "" one_ind = " " |