summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-11-27 20:19:07 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-12-01 03:38:41 +0000
commitc765b8f280352a7f3262ad3ad992f2dea41985d7 (patch)
tree82dea6295fe193580d06dc261a2813c0d827b542
parentbe01af7c343cdf7ea1bd6604bc3fa0a1f6ce6419 (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.cmake2
-rw-r--r--src/network/configure.cmake2
-rw-r--r--util/cmake/helper.py11
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 = " "