aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt27
1 files changed, 23 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8b95f959d..b167aab4a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.15)
## Add paths to check for cmake modules:
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
@@ -22,17 +22,36 @@ set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
+find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
+
if(WITH_TESTS)
enable_testing()
set(QT_TEST_COMPONENT Test)
- set(IMPLICIT_DEPENDS Qt5::Test)
+ set(IMPLICIT_DEPENDS Qt${QT_VERSION_MAJOR}::Test)
endif()
-find_package(Qt5
- COMPONENTS Concurrent Core Gui Network Script Widgets Xml ${QT_TEST_COMPONENT}
+find_package(Qt${QT_VERSION_MAJOR}
+ COMPONENTS Concurrent Core Gui Network Widgets Xml ${QT_TEST_COMPONENT}
REQUIRED
)
+find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS Script)
+
+if (Qt6_FOUND)
+ find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core5Compat REQUIRED)
+ if(NOT TARGET Qt6Core5Compat)
+ set_property(TARGET Qt6::Core5Compat PROPERTY IMPORTED_GLOBAL TRUE) # hack for CMake < 1.18
+ add_library(Qt6Core5Compat ALIAS Qt6::Core5Compat)
+ endif()
+else()
+ if(NOT TARGET Qt6Core5Compat)
+ add_library(Qt6Core5Compat INTERFACE)
+ endif()
+ if(Qt5Script_FOUND)
+ set_property(TARGET Qt5::Script PROPERTY IMPORTED_GLOBAL TRUE)
+ endif()
+endif()
+
add_subdirectory(src)
add_subdirectory(doc)
add_subdirectory(share)