summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Köhne <kai.koehne@qt.io>2023-03-31 11:45:51 +0200
committerKai Köhne <kai.koehne@qt.io>2023-03-31 12:46:03 +0200
commitdddefa3924069d0e730019695b789d76af487c8f (patch)
treef55d03c53ce8f88e8cc66bbb95ff674287da0e32
parentdb68eaacd99e981c6b894e67a7168246a1167de7 (diff)
downloadqtlocation-dddefa3924069d0e730019695b789d76af487c8f.tar.gz
Skip -no-gui build, instead of erroring out
This currently breaks a top-level -no-gui build. Fixes: QTBUG-112477 Pick-to: 6.5 Change-Id: Idd45751bcfaf5cb275e9b2ca52995556141ff90a Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-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()