aboutsummaryrefslogtreecommitdiff
path: root/cmake/QtVersionOption.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtVersionOption.cmake')
-rw-r--r--cmake/QtVersionOption.cmake38
1 files changed, 38 insertions, 0 deletions
diff --git a/cmake/QtVersionOption.cmake b/cmake/QtVersionOption.cmake
new file mode 100644
index 00000000..1390f9db
--- /dev/null
+++ b/cmake/QtVersionOption.cmake
@@ -0,0 +1,38 @@
+#.rst:
+# QtVersionOption
+# ---------------
+#
+# Adds a build option to select the major Qt version if necessary,
+# that is, if the major Qt version has not yet been determined otherwise
+# (e.g. by a corresponding find_package() call).
+#
+# This module is typically included by other modules requiring knowledge
+# about the major Qt version.
+#
+# ``QT_MAJOR_VERSION`` is defined to either be "5" or "6".
+#
+#
+# Since 5.82.0.
+
+#=============================================================================
+# SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+if (DEFINED QT_MAJOR_VERSION)
+ return()
+endif()
+
+if (TARGET Qt5::Core)
+ set(QT_MAJOR_VERSION 5)
+elseif (TARGET Qt6::Core)
+ set(QT_MAJOR_VERSION 6)
+else()
+ option(BUILD_WITH_QT6 "Build against Qt 6" OFF)
+
+ if (BUILD_WITH_QT6)
+ set(QT_MAJOR_VERSION 6)
+ else()
+ set(QT_MAJOR_VERSION 5)
+ endif()
+endif()