|
4 | 4 |
|
5 | 5 | cmake_minimum_required(VERSION 3.13) |
6 | 6 |
|
7 | | -file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" DTK_FILE_VERSION) |
8 | | -string(STRIP "${DTK_FILE_VERSION}" DTK_FILE_VERSION) |
9 | | -set(DTK_VERSION "${DTK_FILE_VERSION}" CACHE STRING "Project version") |
| 7 | +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" FILE_VERSION) |
| 8 | +string(STRIP "${FILE_VERSION}" FILE_VERSION) |
10 | 9 |
|
11 | 10 | project( |
12 | 11 | qtintegration |
13 | | - VERSION ${DTK_VERSION} |
| 12 | + VERSION ${FILE_VERSION} |
14 | 13 | DESCRIPTION "Qt platform integration for DTK" |
15 | 14 | HOMEPAGE_URL "https://github.com/linuxdeepin/qt5integration" |
16 | 15 | LANGUAGES CXX C |
17 | 16 | ) |
18 | 17 |
|
19 | 18 | option(ENABLE_COV "Enable code coverage" OFF) |
20 | 19 |
|
21 | | -if(PROJECT_VERSION_MAJOR EQUAL 6) |
22 | | - set(VERSION_SUFFIX 6) |
| 20 | +# 引入 DTK5/DTK6 构建选项 |
| 21 | +option(DTK5 "Build DTK5." ON) |
| 22 | +if(DTK5) |
| 23 | + set(DTK_VERSION_MAJOR "5") |
| 24 | + set(DTK_NAME_SUFFIX "") # DTK5 产品名称后缀为空 |
| 25 | +else() |
| 26 | + set(DTK_VERSION_MAJOR "6") |
| 27 | + set(DTK_NAME_SUFFIX "6") # DTK6 产品名称后缀为 "6" |
| 28 | +endif() |
| 29 | + |
| 30 | +set(DTK_VERSION_MINOR ${PROJECT_VERSION_MINOR}) |
| 31 | +set(DTK_VERSION_PATCH ${PROJECT_VERSION_PATCH}) |
| 32 | +set(DTK_VERSION "${DTK_VERSION_MAJOR}.${DTK_VERSION_MINOR}.${DTK_VERSION_PATCH}") |
| 33 | +# 官方约定:DTK5 使用 Qt5,DTK6 使用 Qt6 |
| 34 | +set(QT_VERSION_MAJOR ${DTK_VERSION_MAJOR}) |
| 35 | + |
| 36 | +if(QT_VERSION_MAJOR EQUAL 6) |
23 | 37 | find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core) |
24 | 38 | if(QT_VERSION VERSION_GREATER_EQUAL 6.10) |
25 | 39 | find_package(Qt6 COMPONENTS CorePrivate GuiPrivate WidgetsPrivate REQUIRED) |
26 | 40 | endif() |
27 | 41 | else() |
28 | | - set(VERSION_SUFFIX) |
29 | 42 | find_package(QT NAMES Qt5 REQUIRED COMPONENTS Core) |
30 | 43 | endif() |
31 | 44 |
|
@@ -104,7 +117,7 @@ function(dtk_add_plugin) |
104 | 117 | endif() |
105 | 118 | endfunction() |
106 | 119 |
|
107 | | -find_package(Dtk${VERSION_SUFFIX} REQUIRED COMPONENTS Widget) |
| 120 | +find_package(Dtk${DTK_NAME_SUFFIX} REQUIRED COMPONENTS Widget) |
108 | 121 |
|
109 | 122 | option(ENABLE_QT_XDG_ICON_LOADER "Enable QtXdgIconLoader" ON) |
110 | 123 | find_package(Qt${QT_VERSION_MAJOR}Xdg) |
|
0 commit comments