diff options
Diffstat (limited to 'configure.cmake')
-rw-r--r-- | configure.cmake | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/configure.cmake b/configure.cmake index cfd355dcfe..3412703333 100644 --- a/configure.cmake +++ b/configure.cmake @@ -4,7 +4,19 @@ #### Libraries -qt_find_package(ZLIB 1.0.8 PROVIDED_TARGETS ZLIB::ZLIB MODULE_NAME global QMAKE_LIB zlib) +qt_find_package(WrapZLIB 1.0.8 PROVIDED_TARGETS WrapZLIB::WrapZLIB MODULE_NAME global QMAKE_LIB zlib) +# special case begin +# Work around global target promotion failure when WrapZLIB is used on APPLE platforms. +# What ends up happening is that the ZLIB::ZLIB target is not promoted to global by qt_find_package, +# then qt_find_package(WrapSystemPNG) tries to find its dependency ZLIB::ZLIB, sees it's not global +# and tries to promote it to global, but fails because the directory scope of the PNG package is +# different (src/gui) from where ZLIB was originally found (qtbase root). +# To avoid that, just manually promote the target to global here. +if(TARGET ZLIB::ZLIB) + set_property(TARGET ZLIB::ZLIB PROPERTY IMPORTED_GLOBAL TRUE) +endif() + +# special case end qt_find_package(ZSTD 1.3 PROVIDED_TARGETS ZSTD::ZSTD MODULE_NAME global QMAKE_LIB zstd) qt_find_package(WrapDBus1 1.2 PROVIDED_TARGETS dbus-1 MODULE_NAME global QMAKE_LIB dbus) qt_find_package(Libudev PROVIDED_TARGETS PkgConfig::Libudev MODULE_NAME global QMAKE_LIB libudev) @@ -824,7 +836,7 @@ qt_feature("stack-protector-strong" PRIVATE ) qt_feature("system-zlib" PRIVATE LABEL "Using system zlib" - CONDITION ZLIB_FOUND + CONDITION WrapZLIB_FOUND ) qt_feature("zstd" PRIVATE LABEL "Zstandard support" |