summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt18
1 files changed, 14 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7bc5110f..87640f33 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,3 @@
-# Generated from qtlocation.pro.
-
cmake_minimum_required(VERSION 3.16)
include(.cmake.conf)
@@ -13,7 +11,7 @@ project(QtLocation
# Make sure we use the fixed BASE argument of qt_add_resource.
set(QT_USE_FIXED_QT_ADD_RESOURCE_BASE TRUE)
-find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) # special case
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core)
if(WASM)
message(NOTICE "Skipping the build as the condition \"NOT WASM\" is not met.")
@@ -27,11 +25,23 @@ endif()
# Need to search for positioning only after we make sure that it's not WASM.
# Otherwise we'll get an "QtPositioning not found" error in WASM build.
-find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS
+find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS
Qml Quick Network Test QuickTest Positioning PositioningQuick QuickShapesPrivate
)
+
find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS
ShaderTools
)
+macro(assertTargets)
+ foreach(qtTarget IN ITEMS ${ARGN})
+ if(NOT TARGET Qt::${qtTarget})
+ message(NOTICE "Skipping the build as the condition \"TARGET Qt::${qtTarget}\" is not met.")
+ return()
+ endif()
+ endforeach()
+endmacro()
+
+assertTargets(Qml Quick Network Test QuickTest Positioning PositioningQuick QuickShapesPrivate)
+
qt_build_repo()