summaryrefslogtreecommitdiffstats
path: root/cmake/QtFindPackageHelpers.cmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-09-14 09:37:03 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2020-09-14 15:03:14 +0200
commit6718dea390d3bf1a463e589dbf2a605a1886bb14 (patch)
treeba934715b903008eeb52eb188022536091db1aa7 /cmake/QtFindPackageHelpers.cmake
parentb96d350cff150cde6925c4e9a5e4d235ad8a7737 (diff)
Revert "Revert "CMake: Add facility to mark package dependencies as optional""
This reverts commit b0c51f86f40b6b6d18fe2bb75cc851d36395240d. The build failure caused by 58c1c6ee5c986d502b56eb1cc57f1d9444d42031 has been fixed. Change-Id: Ic7458d54c7a874588e8b1bfeca61df1842763656 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtFindPackageHelpers.cmake')
-rw-r--r--cmake/QtFindPackageHelpers.cmake10
1 files changed, 6 insertions, 4 deletions
diff --git a/cmake/QtFindPackageHelpers.cmake b/cmake/QtFindPackageHelpers.cmake
index 0ca585d1d4..c68ba4d14a 100644
--- a/cmake/QtFindPackageHelpers.cmake
+++ b/cmake/QtFindPackageHelpers.cmake
@@ -15,7 +15,8 @@ endfunction()
macro(qt_find_package)
# Get the target names we expect to be provided by the package.
- set(options CONFIG NO_MODULE MODULE REQUIRED)
+ set(find_package_options CONFIG NO_MODULE MODULE REQUIRED)
+ set(options ${find_package_options} MARK_OPTIONAL)
set(oneValueArgs MODULE_NAME QMAKE_LIB)
set(multiValueArgs PROVIDED_TARGETS COMPONENTS)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -90,7 +91,7 @@ macro(qt_find_package)
endif()
# Ensure the options are back in the original unparsed arguments
- foreach(opt IN LISTS options)
+ foreach(opt IN LISTS find_package_options)
if(arg_${opt})
list(APPEND arg_UNPARSED_ARGUMENTS ${opt})
endif()
@@ -129,8 +130,9 @@ macro(qt_find_package)
set(qt_find_package_target_name ${aliased_target})
endif()
- set_target_properties(${qt_find_package_target_name}
- PROPERTIES INTERFACE_QT_PACKAGE_NAME ${ARGV0})
+ set_target_properties(${qt_find_package_target_name} PROPERTIES
+ INTERFACE_QT_PACKAGE_NAME ${ARGV0}
+ INTERFACE_QT_PACKAGE_IS_OPTIONAL ${arg_MARK_OPTIONAL})
if(package_version)
set_target_properties(${qt_find_package_target_name}
PROPERTIES INTERFACE_QT_PACKAGE_VERSION ${ARGV1})