* Add certain variables to find Qt's dependencies to the CMake toolchain file because these variables would otherwise needed to be set every time Qt 6 is used * Add a static variant * Not fully tested yet * Further repos besides base and svg will be added later
127 lines
6.0 KiB
Diff
127 lines
6.0 KiB
Diff
From 4341f7b4267e1287fa6c41ba0a4afddf505408dc Mon Sep 17 00:00:00 2001
|
|
From: Martchus <martchus@gmx.net>
|
|
Date: Thu, 5 Nov 2020 21:59:33 +0100
|
|
Subject: [PATCH 4/5] 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.
|
|
|
|
Change-Id: I89da5ef519dd6dd3f86a94a01d3da7208a070bdb
|
|
---
|
|
.../3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake | 2 +-
|
|
cmake/FindMySQL.cmake | 1 +
|
|
cmake/FindWrapDBus1.cmake | 3 ++-
|
|
cmake/FindWrapOpenSSL.cmake | 2 +-
|
|
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 8f873c1b45..831ca8e624 100644
|
|
--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
|
+++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
|
@@ -95,7 +95,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 54c94b8a2f..7575386338 100644
|
|
--- a/cmake/FindMySQL.cmake
|
|
+++ b/cmake/FindMySQL.cmake
|
|
@@ -38,6 +38,7 @@ if(MySQL_FOUND AND NOT TARGET MySQL::MySQL)
|
|
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}")
|
|
endif()
|
|
|
|
diff --git a/cmake/FindWrapDBus1.cmake b/cmake/FindWrapDBus1.cmake
|
|
index 4982e7c8ae..56d139c538 100644
|
|
--- a/cmake/FindWrapDBus1.cmake
|
|
+++ b/cmake/FindWrapDBus1.cmake
|
|
@@ -45,4 +45,5 @@ include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(WrapDBus1 REQUIRED_VARS
|
|
DBus1_LIBRARY DBus1_INCLUDE_DIR WrapDBus1_FOUND
|
|
VERSION_VAR DBus1_VERSION)
|
|
-set_property(TARGET dbus-1 PROPERTY IMPORTED_IMPLIB ${DBus1_LIBRARY})
|
|
\ No newline at end of file
|
|
+set_property(TARGET dbus-1 PROPERTY IMPORTED_IMPLIB ${DBus1_LIBRARY})
|
|
+set_property(TARGET dbus-1 PROPERTY INTERFACE_LINK_LIBRARIES "${DBUS1_DEPENDENCIES}")
|
|
diff --git a/cmake/FindWrapOpenSSL.cmake b/cmake/FindWrapOpenSSL.cmake
|
|
index 6e80862258..47bea72aad 100644
|
|
--- a/cmake/FindWrapOpenSSL.cmake
|
|
+++ b/cmake/FindWrapOpenSSL.cmake
|
|
@@ -14,7 +14,7 @@ if(OpenSSL_FOUND)
|
|
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 2cf6caca19..23dc161e4c 100644
|
|
--- a/cmake/FindWrapSystemFreetype.cmake
|
|
+++ b/cmake/FindWrapSystemFreetype.cmake
|
|
@@ -44,7 +44,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 3cb44aa766..9dc741b2be 100644
|
|
--- a/cmake/FindWrapSystemHarfbuzz.cmake
|
|
+++ b/cmake/FindWrapSystemHarfbuzz.cmake
|
|
@@ -54,7 +54,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_found)
|
|
diff --git a/cmake/FindWrapSystemPNG.cmake b/cmake/FindWrapSystemPNG.cmake
|
|
index 372a064ff4..a363bfd31b 100644
|
|
--- a/cmake/FindWrapSystemPNG.cmake
|
|
+++ b/cmake/FindWrapSystemPNG.cmake
|
|
@@ -33,7 +33,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 62e9619d16..939163bde7 100644
|
|
--- a/src/plugins/sqldrivers/psql/CMakeLists.txt
|
|
+++ b/src/plugins/sqldrivers/psql/CMakeLists.txt
|
|
@@ -19,7 +19,7 @@ qt_internal_add_plugin(QPSQLDriverPlugin
|
|
QT_NO_CAST_FROM_ASCII
|
|
QT_NO_CAST_TO_ASCII
|
|
PUBLIC_LIBRARIES
|
|
- PostgreSQL::PostgreSQL
|
|
+ PostgreSQL::PostgreSQL ${POSTGRESQL_DEPENDENCIES}
|
|
Qt::Core
|
|
Qt::CorePrivate
|
|
Qt::SqlPrivate
|
|
--
|
|
2.29.2
|
|
|