@@ -17,30 +17,49 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
1717# Instruct CMake to run moc automatically when needed.
1818set (CMAKE_AUTOMOC ON )
1919
20- option (UseQt5 "Use Qt5?" ON )
21- if (UseQt5)
22- set (QT_MIN_VERSION 5.11.0)
23- find_package (Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Widgets )
24- set (QT_LIBRARIES Qt5::Widgets)
25-
26- macro (qt_wrap_ui )
27- qt5_wrap_ui (${ARGN} )
28- endmacro ()
29- macro (qt_add_resources )
30- qt5_add_resources (${ARGN} )
31- endmacro ()
32- else ()
33- find_package (Qt4 REQUIRED COMPONENTS QtCore QtGui )
34- include (${QT_USE_FILE} )
35-
36- macro (qt_wrap_ui )
37- qt4_wrap_ui (${ARGN} )
38- endmacro ()
39- macro (qt_add_resources )
40- qt4_add_resources (${ARGN} )
41- endmacro ()
42- endif ()
20+ # Select the Qt major version and its dependencies\
21+ set (QT_PACKAGE "Qt6" CACHE STRING "Major Qt version" )
22+ set_property (CACHE QT_PACKAGE PROPERTY STRINGS "Qt6" "Qt5" "Qt4" )
23+
24+ find_package (QT NAMES ${QT_PACKAGE} REQUIRED )
25+ set (QT Qt${QT_VERSION_MAJOR} )
26+ message (STATUS "Using ${QT} " )
27+
28+ if (QT_VERSION_MAJOR EQUAL 6)
29+ set (QT_MIN_VERSION 6.2.4)
30+ set (QT_MODULES Core Gui Widgets Core5Compat)
31+ set (QT_LIBRARIES Qt6::Widgets Qt6::Core5Compat)
32+ elseif (QT_VERSION_MAJOR EQUAL 5)
33+ set (QT_MIN_VERSION 5.11.0)
34+ set (QT_MODULES Core Gui Widgets)
35+ set (QT_LIBRARIES Qt5::Widgets)
36+ elseif (QT_MAJOR_VERSION EQUAL 4)
37+ set (QT_MODULES QtCore QtGui)
38+ include (${QT_USE_FILE} )
39+ endif ()
40+
41+ find_package (${QT} ${QT_MIN_VERSION} REQUIRED COMPONENTS ${QT_MODULES} )
42+
43+ if (QT_VERSION VERSION_LESS 5.15)
44+ if (QT_VERSION_MAJOR EQUAL 4)
45+ macro (qt_wrap_ui )
46+ qt4_wrap_ui (${ARGN} )
47+ endmacro ()
48+ macro (qt_add_resources )
49+ qt4_add_resources (${ARGN} )
50+ endmacro ()
51+ elseif (QT_VERSION_MAJOR EQUAL 5)
52+ macro (qt_wrap_ui )
53+ qt5_wrap_ui (${ARGN} )
54+ endmacro ()
55+ macro (qt_add_resources )
56+ qt5_add_resources (${ARGN} )
57+ endmacro ()
58+ endif ()
59+ endif ()
60+
4361
62+ # Sources
4463include_directories (
4564 ${CMAKE_SOURCE_DIR} /src
4665)
0 commit comments