Skip to content

Commit becc298

Browse files
yixinsharkdeepin-bot[bot]
authored andcommitted
chore: adapt to Qt6
as title Log: as title
1 parent b82c47d commit becc298

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+526
-605
lines changed

CMakeLists.txt

Lines changed: 60 additions & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.13.4)
1+
cmake_minimum_required(VERSION 3.16)
22
project(dde-session-shell C CXX)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55
set(CMAKE_INCLUDE_CURRENT_DIR ON)
66
set(CMAKE_AUTOMOC ON)
77
set(CMAKE_AUTORCC ON)
@@ -30,13 +30,8 @@ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "mips64")
3030
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -ftree-vectorize -march=loongson3a -mhard-float -mno-micromips -mno-mips16 -flax-vector-conversions -mloongson-ext2 -mloongson-mmi")
3131
endif()
3232

33-
if (NOT (${CMAKE_BUILD_TYPE} MATCHES "Debug"))
34-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast")
35-
36-
# generate qm
37-
execute_process(COMMAND bash "translate_generation.sh"
38-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
39-
endif ()
33+
set(QT_VERSION_MAJOR 6)
34+
set(DTK_VERSION_MAJOR 6)
4035

4136
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
4237
set(CMAKE_INSTALL_PREFIX /usr)
@@ -46,131 +41,67 @@ include(GNUInstallDirs)
4641
# Find the library
4742
find_package(PAM REQUIRED)
4843
find_package(PkgConfig REQUIRED)
49-
find_package(DtkWidget REQUIRED)
50-
find_package(DtkCMake REQUIRED)
51-
find_package(DtkCore REQUIRED)
52-
find_package(Qt5 COMPONENTS
53-
Core
54-
Widgets
55-
Concurrent
56-
X11Extras
57-
DBus
58-
Xml
59-
Svg
60-
Network
61-
REQUIRED)
62-
find_package(DtkTools REQUIRED)
44+
find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core Widgets Concurrent DBus Xml Svg Network LinguistTools)
45+
find_package(Dtk${DTK_VERSION_MAJOR} REQUIRED COMPONENTS Widget Core Tools)
6346

6447
pkg_check_modules(XCB_EWMH REQUIRED xcb-ewmh x11 xi xcursor xfixes xrandr xext xtst)
65-
pkg_check_modules(QGSettings REQUIRED gsettings-qt)
66-
pkg_check_modules(Greeter REQUIRED liblightdm-qt5-3)
48+
pkg_check_modules(Greeter REQUIRED liblightdm-qt6-3)
49+
50+
## qm files
51+
file(GLOB TS_FILES "translations/*.ts")
52+
qt_add_translation(QM_FILES ${TS_FILES})
53+
add_custom_target(dde-session-shell_language ALL DEPENDS ${QM_FILES})
6754

6855
set(Qt_LIBS
69-
Qt5::Core
70-
Qt5::Gui
71-
Qt5::DBus
72-
Qt5::Widgets
73-
Qt5::X11Extras
74-
Qt5::Xml
75-
Qt5::Svg
56+
Qt${QT_VERSION_MAJOR}::Core
57+
Qt${QT_VERSION_MAJOR}::Gui
58+
Qt${QT_VERSION_MAJOR}::DBus
59+
Qt${QT_VERSION_MAJOR}::Widgets
60+
Qt${QT_VERSION_MAJOR}::Concurrent
61+
Qt${QT_VERSION_MAJOR}::Xml
62+
Qt${QT_VERSION_MAJOR}::Svg
7663
)
7764

7865
set(XML2CPP_DIR ${PROJECT_SOURCE_DIR}/src/global_util/dbus)
7966

80-
function(generation_dbus_interface xml class_name class_file)
81-
execute_process(COMMAND ${DTK_XML2CPP} -c ${class_name} -p ${class_file} ${xml}
82-
WORKING_DIRECTORY ${XML2CPP_DIR})
83-
endfunction(generation_dbus_interface)
84-
85-
generation_dbus_interface(
86-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Authenticate1.xml
87-
Authenticate
88-
${XML2CPP_DIR}/authenticate_interface
89-
)
90-
91-
generation_dbus_interface(
92-
${CMAKE_SOURCE_DIR}/xml/com.huawei.switchos.xml
93-
HuaWeiSwitchOS
94-
${XML2CPP_DIR}/huaweiswitchos_interface
95-
)
96-
97-
generation_dbus_interface(
98-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Accounts1.xml
99-
Accounts
100-
${XML2CPP_DIR}/accounts_interface
101-
)
102-
103-
generation_dbus_interface(
104-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Accounts1.User.xml
105-
AccountsUser
106-
${XML2CPP_DIR}/accountsuser_interface
107-
)
108-
109-
generation_dbus_interface(
110-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.ImageEffect1.xml
111-
ImageEffect
112-
${XML2CPP_DIR}/imageeffect_interface
113-
)
114-
115-
generation_dbus_interface(
116-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Logined.xml
117-
Logined
118-
${XML2CPP_DIR}/logined_interface
119-
)
120-
121-
generation_dbus_interface(
122-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.PowerManager1.xml
123-
PowerManager
124-
${XML2CPP_DIR}/powermanager_interface
125-
)
126-
127-
generation_dbus_interface(
128-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SystemPower1.xml
129-
SystemPower
130-
${XML2CPP_DIR}/systempower_interface
131-
)
132-
133-
generation_dbus_interface(
134-
${CMAKE_SOURCE_DIR}/xml/com.deepin.wm.xml
135-
wm
136-
${XML2CPP_DIR}/wm_interface
137-
)
138-
139-
generation_dbus_interface(
140-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Authenticate1.Session2.xml
141-
AuthenticateSession2
142-
${XML2CPP_DIR}/authenticatesession2_interface
143-
)
144-
145-
generation_dbus_interface(
146-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SessionManager1.xml
147-
SessionManager
148-
${XML2CPP_DIR}/sessionmanager_interface
67+
function(generation_dbus_interface xml class_file)
68+
set(file_name ${XML2CPP_DIR}/${class_file})
69+
execute_process(
70+
COMMAND ${DTK_XML2CPP} -p ${file_name} ${xml}
71+
WORKING_DIRECTORY ${XML2CPP_DIR}
72+
)
73+
endfunction()
74+
75+
set(DBUS_INTERFACES
76+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Authenticate1.xml authenticate1interface"
77+
"${CMAKE_SOURCE_DIR}/xml/com.huawei.switchos.xml switchosinterface"
78+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Accounts1.xml accounts1interface"
79+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Accounts1.User.xml userinterface"
80+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.ImageEffect1.xml imageeffect1interface"
81+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Logined.xml loginedinterface"
82+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.PowerManager1.xml powermanager1interface"
83+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SystemPower1.xml systempower1interface"
84+
"${CMAKE_SOURCE_DIR}/xml/com.deepin.wm.xml wminterface"
85+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Authenticate1.Session2.xml session2interface"
86+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SessionManager1.xml sessionmanager1interface"
87+
"${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SystemDisplay1.xml systemdisplay1interface"
88+
"${CMAKE_SOURCE_DIR}/xml/org.freedesktop.DBus.xml dbusinterface"
89+
"${CMAKE_SOURCE_DIR}/xml/org.freedesktop.login1.session.self.xml selfinterface"
14990
)
15091

151-
generation_dbus_interface(
152-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SoundThemePlayer1.xml
153-
SoundThemePlayer
154-
${XML2CPP_DIR}/soundthemeplayer_interface
155-
)
92+
foreach(interface IN LISTS DBUS_INTERFACES)
93+
string(REPLACE " " ";" interface_list "${interface}")
15694

157-
generation_dbus_interface(
158-
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SystemDisplay1.xml
159-
SystemDisplay
160-
${XML2CPP_DIR}/systemdisplay_interface
161-
)
95+
list(GET interface_list 0 XML_FILE)
96+
list(GET interface_list 1 CLASS_FILE)
16297

163-
generation_dbus_interface(
164-
${CMAKE_SOURCE_DIR}/xml/org.freedesktop.DBus.xml
165-
FreedesktopDBus
166-
${XML2CPP_DIR}/freedesktopdbus_interface
167-
)
98+
list(LENGTH interface_list list_len)
99+
if(list_len LESS 2)
100+
message(FATAL_ERROR "Invalid DBus interface definition: ${interface}")
101+
endif()
168102

169-
generation_dbus_interface(
170-
${CMAKE_SOURCE_DIR}/xml/org.freedesktop.login1.session.self.xml
171-
Login1SessionSelf
172-
${XML2CPP_DIR}/login1sessionself_interface
173-
)
103+
generation_dbus_interface(${XML_FILE} ${CLASS_FILE})
104+
endforeach()
174105

175106
include_directories(${PROJECT_SOURCE_DIR}/src/global_util)
176107
include_directories(${PROJECT_SOURCE_DIR}/src/global_util/dbus)
@@ -198,7 +129,6 @@ set(QRCS
198129
)
199130

200131
set(LOCK_SRCS
201-
${transaction_DBUS_SCRS}
202132
${GLOBAL_UTILS}
203133
${GLOBAL_UTILS_DBUS}
204134
${GLOBAL_UTILS_KEYBOARDMONITOR}
@@ -222,37 +152,26 @@ add_executable(dde-lock
222152
)
223153
target_include_directories(dde-lock PUBLIC
224154
${PAM_INCLUDE_DIR}
225-
${DTKWIDGET_INCLUDE_DIR}
226-
${DTKCORE_INCLUDE_DIR}
227155
${XCB_EWMH_INCLUDE_DIRS}
228-
${Qt5Gui_PRIVATE_INCLUDE_DIRS}
229156
${PROJECT_BINARY_DIR}
230-
${QGSettings_INCLUDE_DIRS}
231-
${Qt5X11Extras_INCLUDE_DIRS}
232157
${PROJECT_SOURCE_DIR}/src/dde-lock
233158
${PROJECT_SOURCE_DIR}/src/dde-lock/dbus
234159
${Greeter_INCLUDE_DIRS}
235160
)
161+
236162
target_link_libraries(dde-lock PRIVATE
237163
${Qt_LIBS}
238164
${PAM_LIBRARIES}
239165
${XCB_EWMH_LIBRARIES}
240-
${DtkWidget_LIBRARIES}
241-
${DtkCore_LIBRARIES}
242-
${Qt5Widgets_LIBRARIES}
243-
${Qt5Concurrent_LIBRARIES}
244-
${Qt5X11Extras_LIBRARIES}
245-
${Qt5DBus_LIBRARIES}
246-
${Qt5Network_LIBRARIES}
247-
${QGSettings_LIBRARIES}
166+
Dtk${DTK_VERSION_MAJOR}::Widget
167+
Dtk${DTK_VERSION_MAJOR}::Core
248168
${Greeter_LIBRARIES}
249169
${DEEPIN_PW_CHECK}
250170
)
251171

252172
set(DEEPIN_PW_CHECK libdeepin_pw_check.so)
253173

254174
set(GREETER_SRCS
255-
${transaction_DBUS_SCRS}
256175
${GLOBAL_UTILS}
257176
${GLOBAL_UTILS_DBUS}
258177
${GLOBAL_UTILS_KEYBOARDMONITOR}
@@ -277,13 +196,8 @@ add_executable(lightdm-deepin-greeter
277196

278197
target_include_directories(lightdm-deepin-greeter PUBLIC
279198
${PAM_INCLUDE_DIR}
280-
${DTKWIDGET_INCLUDE_DIR}
281-
${DTKCORE_INCLUDE_DIR}
282199
${XCB_EWMH_INCLUDE_DIRS}
283-
${Qt5Gui_PRIVATE_INCLUDE_DIRS}
284200
${PROJECT_BINARY_DIR}
285-
${QGSettings_INCLUDE_DIRS}
286-
${Qt5X11Extras_INCLUDE_DIRS}
287201
${Greeter_INCLUDE_DIRS}
288202
${PROJECT_SOURCE_DIR}/src/lightdm-deepin-greeter
289203
)
@@ -301,14 +215,8 @@ target_link_libraries(lightdm-deepin-greeter PRIVATE
301215
${Qt_LIBS}
302216
${PAM_LIBRARIES}
303217
${XCB_EWMH_LIBRARIES}
304-
${DtkWidget_LIBRARIES}
305-
${DtkCore_LIBRARIES}
306-
${Qt5Widgets_LIBRARIES}
307-
${Qt5Concurrent_LIBRARIES}
308-
${Qt5X11Extras_LIBRARIES}
309-
${Qt5DBus_LIBRARIES}
310-
${Qt5Network_LIBRARIES}
311-
${QGSettings_LIBRARIES}
218+
Dtk${DTK_VERSION_MAJOR}::Widget
219+
Dtk${DTK_VERSION_MAJOR}::Core
312220
${Greeter_LIBRARIES}
313221
${DEEPIN_PW_CHECK}
314222
)
@@ -338,7 +246,6 @@ install(FILES files/deepin-greeter DESTINATION ${CMAKE_INSTALL_BINDIR})
338246
file(GLOB SCRIPTS scripts/*)
339247
install(PROGRAMS ${SCRIPTS} DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/deepin/greeters.d)
340248

341-
file(GLOB QM_FILES "translations/*.qm")
342249
install(FILES ${QM_FILES} DESTINATION ${CMAKE_INSTALL_DATADIR}/dde-session-shell/translations)
343250
install(FILES qt-theme.ini DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/lightdm/deepin)
344251

@@ -351,9 +258,6 @@ install(FILES files/lightdm-deepin-greeter.conf DESTINATION ${CMAKE_INSTALL_DATA
351258
file(GLOB SERVICES files/*.service)
352259
install(FILES ${SERVICES} DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/services)
353260

354-
#schemas
355-
install(FILES xml/com.deepin.dde.session-shell.gschema.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/glib-2.0/schemas)
356-
357261
# dev
358262
file(GLOB INTERFACE interface/*.h)
359263
install(FILES ${INTERFACE} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dde-session-shell)
@@ -374,5 +278,6 @@ file(GLOB PAM_CONFIG files/pam.d/*)
374278
install(FILES ${PAM_CONFIG} DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/pam.d/)
375279

376280
# config
377-
dconfig_meta_files(APPID org.deepin.dde.lock FILES configs/org.deepin.dde.lock.json)
378-
dconfig_meta_files(APPID org.deepin.dde.lightdm-deepin-greeter FILES configs/org.deepin.dde.lightdm-deepin-greeter.json)
281+
dtk_add_config_meta_files(APPID org.deepin.dde.lock FILES configs/org.deepin.dde.lock.json)
282+
dtk_add_config_meta_files(APPID org.deepin.dde.lightdm-deepin-greeter FILES configs/org.deepin.dde.lightdm-deepin-greeter.json)
283+
dtk_add_config_meta_files(APPID org.deepin.dde.session-shell FILES configs/org.deepin.dde.session-shell.json)

0 commit comments

Comments
 (0)