137 lines
6.4 KiB
Diff
137 lines
6.4 KiB
Diff
From e78b44ab41a8689981ecda3cfc13f78a52c7e8c1 Mon Sep 17 00:00:00 2001
|
|
From: Martchus <martchus@gmx.net>
|
|
Date: Thu, 5 Nov 2020 21:59:33 +0100
|
|
Subject: [PATCH 04/12] Fix transitive dependencies (of static libraries)
|
|
|
|
The dependencies of these libraries are not reliably picked up by their
|
|
corresponding find modules. This change allows adding the required
|
|
dependencies by setting certain variables, e.g. within the toolchain file.
|
|
|
|
This change also disables the upstream hack for OpenSSL's dependencies
|
|
as it is even more hacky to hardcode the library names.
|
|
|
|
Change-Id: I3baec612ee071eec77f756b18bbb9af87663527c
|
|
---
|
|
.../3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake | 2 +-
|
|
cmake/FindMySQL.cmake | 1 +
|
|
cmake/FindWrapDBus1.cmake | 1 +
|
|
cmake/FindWrapOpenSSL.cmake | 4 ++--
|
|
cmake/FindWrapSystemFreetype.cmake | 2 +-
|
|
cmake/FindWrapSystemHarfbuzz.cmake | 2 +-
|
|
cmake/FindWrapSystemPNG.cmake | 2 +-
|
|
src/plugins/sqldrivers/psql/CMakeLists.txt | 2 +-
|
|
8 files changed, 9 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
|
index 24a194c9cb..a6a16b494f 100644
|
|
--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
|
+++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
|
@@ -135,7 +135,7 @@ if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2)
|
|
add_library(GLIB2::GLIB2 UNKNOWN IMPORTED)
|
|
set_target_properties(GLIB2::GLIB2 PROPERTIES
|
|
IMPORTED_LOCATION "${GLIB2_LIBRARIES}"
|
|
- INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES}"
|
|
+ INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES};${GLIB2_DEPENDENCIES}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}")
|
|
endif()
|
|
|
|
diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
|
|
index d191d1ac0a..b61d0107f2 100644
|
|
--- a/cmake/FindMySQL.cmake
|
|
+++ b/cmake/FindMySQL.cmake
|
|
@@ -83,6 +83,7 @@ if(MySQL_FOUND)
|
|
add_library(MySQL::MySQL UNKNOWN IMPORTED)
|
|
set_target_properties(MySQL::MySQL PROPERTIES
|
|
IMPORTED_LOCATION "${MySQL_LIBRARIES}"
|
|
+ INTERFACE_LINK_LIBRARIES "${MYSQL_DEPENDENCIES}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${MySQL_INCLUDE_DIRS}")
|
|
if(MySQL_LIBRARY_DEBUG)
|
|
set_target_properties(MySQL::MySQL PROPERTIES
|
|
diff --git a/cmake/FindWrapDBus1.cmake b/cmake/FindWrapDBus1.cmake
|
|
index 8e0ed81f89..0aec7dbb77 100644
|
|
--- a/cmake/FindWrapDBus1.cmake
|
|
+++ b/cmake/FindWrapDBus1.cmake
|
|
@@ -50,4 +50,5 @@ find_package_handle_standard_args(WrapDBus1 REQUIRED_VARS
|
|
VERSION_VAR DBus1_VERSION)
|
|
if(TARGET dbus-1)
|
|
set_property(TARGET dbus-1 PROPERTY IMPORTED_IMPLIB ${DBus1_LIBRARY})
|
|
+ set_property(TARGET dbus-1 PROPERTY INTERFACE_LINK_LIBRARIES "${DBUS1_DEPENDENCIES}")
|
|
endif()
|
|
diff --git a/cmake/FindWrapOpenSSL.cmake b/cmake/FindWrapOpenSSL.cmake
|
|
index a4341271fe..be6ac7003a 100644
|
|
--- a/cmake/FindWrapOpenSSL.cmake
|
|
+++ b/cmake/FindWrapOpenSSL.cmake
|
|
@@ -14,7 +14,7 @@ set(WrapOpenSSL_FOUND OFF)
|
|
find_package(WrapOpenSSLHeaders ${WrapOpenSSL_FIND_VERSION})
|
|
|
|
if(TARGET OpenSSL::SSL)
|
|
- if(WIN32)
|
|
+ if(WIN32 AND NOT MINGW)
|
|
get_target_property(libType OpenSSL::Crypto TYPE)
|
|
if(libType STREQUAL "ALIAS")
|
|
get_target_property(writableLib OpenSSL::Crypto ALIASED_TARGET)
|
|
@@ -29,7 +29,7 @@ if(TARGET OpenSSL::SSL)
|
|
set(WrapOpenSSL_FOUND ON)
|
|
|
|
add_library(WrapOpenSSL::WrapOpenSSL INTERFACE IMPORTED)
|
|
- target_link_libraries(WrapOpenSSL::WrapOpenSSL INTERFACE OpenSSL::SSL)
|
|
+ target_link_libraries(WrapOpenSSL::WrapOpenSSL INTERFACE OpenSSL::SSL ${OPENSSL_DEPENDENCIES})
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
diff --git a/cmake/FindWrapSystemFreetype.cmake b/cmake/FindWrapSystemFreetype.cmake
|
|
index d0c27a9f0f..64e14c584c 100644
|
|
--- a/cmake/FindWrapSystemFreetype.cmake
|
|
+++ b/cmake/FindWrapSystemFreetype.cmake
|
|
@@ -47,7 +47,7 @@ find_package_handle_standard_args(WrapSystemFreetype
|
|
if(WrapSystemFreetype_FOUND)
|
|
add_library(WrapSystemFreetype::WrapSystemFreetype INTERFACE IMPORTED)
|
|
target_link_libraries(WrapSystemFreetype::WrapSystemFreetype
|
|
- INTERFACE "${__freetype_target_name}")
|
|
+ INTERFACE "${__freetype_target_name}" ${FREETYPE_DEPENDENCIES})
|
|
endif()
|
|
unset(__freetype_target_name)
|
|
unset(__freetype_found)
|
|
diff --git a/cmake/FindWrapSystemHarfbuzz.cmake b/cmake/FindWrapSystemHarfbuzz.cmake
|
|
index 07b3405bc0..10fb738d7c 100644
|
|
--- a/cmake/FindWrapSystemHarfbuzz.cmake
|
|
+++ b/cmake/FindWrapSystemHarfbuzz.cmake
|
|
@@ -73,7 +73,7 @@ find_package_handle_standard_args(WrapSystemHarfbuzz
|
|
if(WrapSystemHarfbuzz_FOUND)
|
|
add_library(WrapSystemHarfbuzz::WrapSystemHarfbuzz INTERFACE IMPORTED)
|
|
target_link_libraries(WrapSystemHarfbuzz::WrapSystemHarfbuzz
|
|
- INTERFACE "${__harfbuzz_target_name}")
|
|
+ INTERFACE "${__harfbuzz_target_name}" ${HARFBUZZ_DEPENDENCIES})
|
|
endif()
|
|
unset(__harfbuzz_target_name)
|
|
unset(__harfbuzz_find_include_dirs_hints)
|
|
diff --git a/cmake/FindWrapSystemPNG.cmake b/cmake/FindWrapSystemPNG.cmake
|
|
index 967ccc5c02..9a7d5150dc 100644
|
|
--- a/cmake/FindWrapSystemPNG.cmake
|
|
+++ b/cmake/FindWrapSystemPNG.cmake
|
|
@@ -36,7 +36,7 @@ find_package_handle_standard_args(WrapSystemPNG
|
|
if(WrapSystemPNG_FOUND)
|
|
add_library(WrapSystemPNG::WrapSystemPNG INTERFACE IMPORTED)
|
|
target_link_libraries(WrapSystemPNG::WrapSystemPNG
|
|
- INTERFACE "${__png_target_name}")
|
|
+ INTERFACE "${__png_target_name}" ${LIBPNG_DEPENDENCIES})
|
|
endif()
|
|
unset(__png_target_name)
|
|
unset(__png_found)
|
|
diff --git a/src/plugins/sqldrivers/psql/CMakeLists.txt b/src/plugins/sqldrivers/psql/CMakeLists.txt
|
|
index d392f4dfa5..165c345e1b 100644
|
|
--- a/src/plugins/sqldrivers/psql/CMakeLists.txt
|
|
+++ b/src/plugins/sqldrivers/psql/CMakeLists.txt
|
|
@@ -17,7 +17,7 @@ qt_internal_add_plugin(QPSQLDriverPlugin
|
|
QT_NO_CAST_FROM_ASCII
|
|
QT_NO_CAST_TO_ASCII
|
|
LIBRARIES
|
|
- PostgreSQL::PostgreSQL
|
|
+ PostgreSQL::PostgreSQL ${POSTGRESQL_DEPENDENCIES}
|
|
Qt::Core
|
|
Qt::CorePrivate
|
|
Qt::SqlPrivate
|
|
--
|
|
2.41.0
|
|
|