diff options
author | Joerg Bornemann <[email protected]> | 2025-06-27 17:10:28 +0200 |
---|---|---|
committer | Joerg Bornemann <[email protected]> | 2025-06-30 19:45:40 +0200 |
commit | b181132f742a0d212f8ffaf6f8fb48a099ac45dd (patch) | |
tree | d65f49659370bee05fc5dab019788802a2e663b5 | |
parent | 7fee5f840fe6e968cb30a3ee8a17a170364be409 (diff) |
CMake: Fix finding of system frameworks on macOS if vcpkg is used
The vcpkg toolchain file sets CMAKE_FIND_FRAMEWORK to LAST unless
VCPKG_PREFER_SYSTEM_LIBS is enabled. The latter however has other
unwanted implications and is also deprecated.
The CMAKE_FIND_FRAMEWORK=LAST setting breaks
qt_internal_find_system_framework for libraries like "Network" that are
available as framework and as TBD file.
Set CMAKE_FIND_FRAMEWORK temporarily to FIRST (the default value) in
qt_internal_find_system_framework if vcpkg is used.
Change-Id: I2fd3152d75b043a396f7c9b6269e623700077b98
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
-rw-r--r-- | cmake/QtFrameworkHelpers.cmake | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cmake/QtFrameworkHelpers.cmake b/cmake/QtFrameworkHelpers.cmake index 1982937aaf8..7fac9bdb203 100644 --- a/cmake/QtFrameworkHelpers.cmake +++ b/cmake/QtFrameworkHelpers.cmake @@ -54,6 +54,12 @@ function(qt_internal_find_apple_system_framework out_var framework_name) # We might revisit this later. set(cache_var_name "${out_var}Internal") + if(QT_USE_VCPKG) + # vcpkg.cmake sets CMAKE_FIND_FRAMEWORK to LAST and this setting will find e.g. + # libnetwork.tbd instead of Network.framework. Force the default value here. + set(CMAKE_FIND_FRAMEWORK FIRST) + endif() + find_library(${cache_var_name} "${framework_name}") if(${cache_var_name} AND ${cache_var_name} MATCHES ".framework$") |