Skip to content

Commit aff0bd6

Browse files
authored
Add Qt6 support on CMake (#319)
1 parent 3969d28 commit aff0bd6

File tree

8 files changed

+50
-26
lines changed

8 files changed

+50
-26
lines changed

demo/CMakeLists.txt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(ads_demo VERSION ${VERSION_SHORT})
33

4-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
5-
if(WIN32)
6-
find_package(Qt5 5.5 COMPONENTS AxContainer REQUIRED)
4+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
5+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
6+
if(WIN32 AND QT_VERSION_MAJOR LESS 6)
7+
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS AxContainer REQUIRED)
78
endif()
89
set(CMAKE_INCLUDE_CURRENT_DIR ON)
910
set(ads_demo_SRCS
@@ -16,9 +17,11 @@ set(ads_demo_SRCS
1617
)
1718
add_executable(AdvancedDockingSystemDemo WIN32 ${ads_demo_SRCS})
1819
target_include_directories(AdvancedDockingSystemDemo PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../src")
19-
target_link_libraries(AdvancedDockingSystemDemo PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
20-
if(WIN32)
21-
target_link_libraries(AdvancedDockingSystemDemo PUBLIC Qt5::AxContainer)
20+
target_link_libraries(AdvancedDockingSystemDemo PUBLIC Qt${QT_VERSION_MAJOR}::Core
21+
Qt${QT_VERSION_MAJOR}::Gui
22+
Qt${QT_VERSION_MAJOR}::Widgets)
23+
if(WIN32 AND QT_VERSION_MAJOR LESS 6)
24+
target_link_libraries(AdvancedDockingSystemDemo PUBLIC Qt${QT_VERSION_MAJOR}::AxContainer)
2225
endif()
2326
target_link_libraries(AdvancedDockingSystemDemo PRIVATE qtadvanceddocking)
2427
set_target_properties(AdvancedDockingSystemDemo PROPERTIES

examples/centralwidget/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(ads_example_centralwidget VERSION ${VERSION_SHORT})
3-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
3+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
4+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
45
set(CMAKE_INCLUDE_CURRENT_DIR ON)
56
add_executable(CentralWidgetExample WIN32
67
main.cpp
@@ -9,7 +10,9 @@ add_executable(CentralWidgetExample WIN32
910
)
1011
target_include_directories(CentralWidgetExample PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../src")
1112
target_link_libraries(CentralWidgetExample PRIVATE qtadvanceddocking)
12-
target_link_libraries(CentralWidgetExample PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
13+
target_link_libraries(CentralWidgetExample PUBLIC Qt${QT_VERSION_MAJOR}::Core
14+
Qt${QT_VERSION_MAJOR}::Gui
15+
Qt${QT_VERSION_MAJOR}::Widgets)
1316
set_target_properties(CentralWidgetExample PROPERTIES
1417
AUTOMOC ON
1518
AUTORCC ON

examples/deleteonclose/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(ads_example_deleteonclose VERSION ${VERSION_SHORT})
3-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
3+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
4+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
45
set(CMAKE_INCLUDE_CURRENT_DIR ON)
56
add_executable(DeleteOnCloseTest WIN32
67
main.cpp
78
)
89
target_include_directories(DeleteOnCloseTest PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../src")
910
target_link_libraries(DeleteOnCloseTest PRIVATE qtadvanceddocking)
10-
target_link_libraries(DeleteOnCloseTest PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
11+
target_link_libraries(DeleteOnCloseTest PUBLIC Qt${QT_VERSION_MAJOR}::Core
12+
Qt${QT_VERSION_MAJOR}::Gui
13+
Qt${QT_VERSION_MAJOR}::Widgets)
1114
set_target_properties(DeleteOnCloseTest PROPERTIES
1215
AUTOMOC ON
1316
CXX_STANDARD 14

examples/dockindock/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(ads_example_simple VERSION ${VERSION_SHORT})
3-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
3+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
4+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
45
set(CMAKE_INCLUDE_CURRENT_DIR ON)
56
add_executable(DockInDock WIN32
67
dockindock.cpp
@@ -12,7 +13,9 @@ add_executable(DockInDock WIN32
1213
)
1314
target_include_directories(SimpleExample PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../src")
1415
target_link_libraries(SimpleExample PRIVATE qtadvanceddocking)
15-
target_link_libraries(SimpleExample PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
16+
target_link_libraries(SimpleExample PUBLIC Qt${QT_VERSION_MAJOR}::Core
17+
Qt${QT_VERSION_MAJOR}::Gui
18+
Qt${QT_VERSION_MAJOR}::Widgets)
1619
set_target_properties(SimpleExample PROPERTIES
1720
AUTOMOC ON
1821
AUTORCC ON

examples/emptydockarea/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(ads_example_centralwidget VERSION ${VERSION_SHORT})
3-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
3+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
4+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
45
set(CMAKE_INCLUDE_CURRENT_DIR ON)
56
add_executable(EmptyDockAreaExample WIN32
67
main.cpp
@@ -9,7 +10,9 @@ add_executable(EmptyDockAreaExample WIN32
910
)
1011
target_include_directories(EmptyDockAreaExample PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../src")
1112
target_link_libraries(EmptyDockAreaExample PRIVATE qtadvanceddocking)
12-
target_link_libraries(EmptyDockAreaExample PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
13+
target_link_libraries(EmptyDockAreaExample PUBLIC Qt${QT_VERSION_MAJOR}::Core
14+
Qt${QT_VERSION_MAJOR}::Gui
15+
Qt${QT_VERSION_MAJOR}::Widgets)
1316
set_target_properties(EmptyDockAreaExample PROPERTIES
1417
AUTOMOC ON
1518
AUTORCC ON

examples/sidebar/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(ads_example_sidebar VERSION ${VERSION_SHORT})
3-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
3+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
4+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
45
set(CMAKE_INCLUDE_CURRENT_DIR ON)
56
add_executable(SidebarExample WIN32
67
main.cpp
@@ -9,7 +10,9 @@ add_executable(SidebarExample WIN32
910
)
1011
target_include_directories(SidebarExample PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../src")
1112
target_link_libraries(SidebarExample PRIVATE qtadvanceddocking)
12-
target_link_libraries(SidebarExample PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
13+
target_link_libraries(SidebarExample PUBLIC Qt${QT_VERSION_MAJOR}::Core
14+
Qt${QT_VERSION_MAJOR}::Gui
15+
Qt${QT_VERSION_MAJOR}::Widgets)
1316
set_target_properties(SidebarExample PROPERTIES
1417
AUTOMOC ON
1518
AUTORCC ON

examples/simple/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(ads_example_simple VERSION ${VERSION_SHORT})
3-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
3+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
4+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
45
set(CMAKE_INCLUDE_CURRENT_DIR ON)
56
add_executable(SimpleExample WIN32
67
main.cpp
@@ -9,7 +10,9 @@ add_executable(SimpleExample WIN32
910
)
1011
target_include_directories(SimpleExample PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../src")
1112
target_link_libraries(SimpleExample PRIVATE qtadvanceddocking)
12-
target_link_libraries(SimpleExample PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
13+
target_link_libraries(SimpleExample PUBLIC Qt${QT_VERSION_MAJOR}::Core
14+
Qt${QT_VERSION_MAJOR}::Gui
15+
Qt${QT_VERSION_MAJOR}::Widgets)
1316
set_target_properties(SimpleExample PROPERTIES
1417
AUTOMOC ON
1518
AUTORCC ON

src/CMakeLists.txt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(QtAdvancedDockingSystem LANGUAGES CXX VERSION ${VERSION_SHORT})
3-
find_package(Qt5 5.5 COMPONENTS Core Gui Widgets REQUIRED)
3+
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
4+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS Core Gui Widgets REQUIRED)
45
if (UNIX AND NOT APPLE)
5-
find_package(Qt5 5.5 COMPONENTS X11Extras REQUIRED)
6+
find_package(Qt${QT_VERSION_MAJOR} 5.5 COMPONENTS X11Extras REQUIRED)
67
endif()
78
set(CMAKE_INCLUDE_CURRENT_DIR ON)
89
if(BUILD_STATIC)
@@ -60,12 +61,14 @@ else()
6061
add_library(qtadvanceddocking SHARED ${ads_SRCS} ${ads_HEADERS})
6162
target_compile_definitions(qtadvanceddocking PRIVATE ADS_SHARED_EXPORT)
6263
endif()
63-
target_link_libraries(qtadvanceddocking PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets)
64+
target_link_libraries(qtadvanceddocking PUBLIC Qt${QT_VERSION_MAJOR}::Core
65+
Qt${QT_VERSION_MAJOR}::Gui
66+
Qt${QT_VERSION_MAJOR}::Widgets)
6467
if(UNIX AND NOT APPLE)
65-
target_link_libraries(qtadvanceddocking PUBLIC Qt5::X11Extras)
68+
target_link_libraries(qtadvanceddocking PUBLIC Qt${QT_VERSION_MAJOR}::X11Extras)
6669
target_link_libraries(qtadvanceddocking PRIVATE xcb)
6770
endif()
68-
set_target_properties(qtadvanceddocking PROPERTIES
71+
set_target_properties(qtadvanceddocking PROPERTIES
6972
AUTOMOC ON
7073
AUTORCC ON
7174
CXX_STANDARD 14
@@ -84,13 +87,13 @@ write_basic_package_version_file(
8487
COMPATIBILITY SameMajorVersion
8588
)
8689
install(FILES ${ads_HEADERS}
87-
DESTINATION include
90+
DESTINATION include
8891
COMPONENT headers
8992
)
90-
install(FILES
93+
install(FILES
9194
"${CMAKE_SOURCE_DIR}/LICENSE"
9295
"${CMAKE_SOURCE_DIR}/gnu-lgpl-v2.1.md"
93-
DESTINATION license
96+
DESTINATION license
9497
COMPONENT license
9598
)
9699
install(TARGETS qtadvanceddocking

0 commit comments

Comments
 (0)