diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-01-29 01:00:55 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-01-29 01:00:56 +0100 |
commit | a3fc03c13032b779f74ef496977d2e19e415227a (patch) | |
tree | ff4c8457111c1c9631a2f7adc4938f151ac650b2 /mkspecs/features/data/cmake | |
parent | 94bc57213f9a8a74e9e7520de68d7bba7f42ea4c (diff) | |
parent | 382619de6592ff9583504bd31176bf8dc51b0771 (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I98b1a5a11ece3957a1115c1d9be8841759206ffe
Diffstat (limited to 'mkspecs/features/data/cmake')
-rw-r--r-- | mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 01dda9b0c3..2b56e1d369 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -72,6 +72,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends \"${_prl_strings}\") string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\") set(_search_paths) + set(_fw_search_paths) set(_framework_flag) string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\") foreach(_flag ${_static_depends}) @@ -79,10 +80,13 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura if(_flag MATCHES \"^-framework$\") # Handle the next flag as framework name set(_framework_flag 1) + elseif(_flag MATCHES \"^-F(.*)$\") + # Handle -F/foo/bar flags by recording the framework search paths to be used + # by find_library. + list(APPEND _fw_search_paths \"${CMAKE_MATCH_1}\") elseif(_framework_flag OR _flag MATCHES \"^-l(.*)$\") if(_framework_flag) # Handle Darwin framework bundles passed as -framework Foo - unset(_framework_flag) set(_lib ${_flag}) else() # Handle normal libraries passed as -lfoo @@ -100,8 +104,12 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura find_package(Threads REQUIRED) list(APPEND _lib_deps Threads::Threads) else() - if(_search_paths) - find_library(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH ${_lib} HINTS ${_search_paths} NO_DEFAULT_PATH) + set(current_search_paths \"${_search_paths}\") + if(_framework_flag) + set(current_search_paths \"${_fw_search_paths}\") + endif() + if(current_search_paths) + find_library(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH ${_lib} HINTS ${current_search_paths} NO_DEFAULT_PATH) endif() find_library(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH ${_lib}) mark_as_advanced(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH) @@ -112,6 +120,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura else() message(FATAL_ERROR \"Library not found: ${_lib}\") endif() + unset(_framework_flag) endif() elseif(EXISTS \"${_flag}\") # The flag is an absolute path to an existing library |