代码拉取完成,页面将自动刷新
同步操作将从 深度社区/dde-launcher 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd.
#
# SPDX-License-Identifier: CC0-1.0
cmake_minimum_required(VERSION 3.7)
set(VERSION 4.0)
project(dde-launcher)
find_package(DtkTools REQUIRED)
#set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall")
# 增加安全编译参数
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector-all")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector-all")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -z relro -z now -z noexecstack -pie")
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fsanitize=address -O0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address -O0")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast")
# generate qm
execute_process(COMMAND bash "translate_generation.sh"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
endif()
if (DEFINED ENABLE_MIEEE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mieee")
endif()
if (DEFINED DISABLE_DRAG_ANIMATION)
add_definitions(-DDISABLE_DRAG_ANIMATION)
endif ()
if (DEFINED WITHOUT_UNINSTALL_APP)
add_definitions(-DWITHOUT_UNINSTALL_APP)
endif ()
set(BIN_NAME dde-launcher)
#add_subdirectory("tests")
add_subdirectory("plugins")
# Install settings
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX /usr)
endif ()
include(GNUInstallDirs)
# Find the library
find_package(PkgConfig REQUIRED)
find_package(Qt5 REQUIRED
COMPONENTS Widgets Svg X11Extras DBus Concurrent
)
find_package(Qt5Gui CONFIG REQUIRED Private)
find_package(Dtk REQUIRED COMPONENTS Core Widget Gui)
pkg_check_modules(XCB_EWMH REQUIRED IMPORTED_TARGET xcb-ewmh)
pkg_check_modules(QGSettings REQUIRED IMPORTED_TARGET gsettings-qt)
pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
set(XML2CPP_DIR ${PROJECT_SOURCE_DIR}/src/global_util/dbus/xml2cpp)
function(generation_dbus_interface xml class_name class_file)
execute_process(COMMAND ${DTK_XML2CPP} -c ${class_name} -p ${class_file} ${xml}
WORKING_DIRECTORY ${XML2CPP_DIR})
endfunction(generation_dbus_interface)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.ImageEffect1.xml
ImageEffect
${XML2CPP_DIR}/imageeffect_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.ImageBlur1.xml
ImageBlur
${XML2CPP_DIR}/imageblur_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/com.deepin.wm.xml
wm
${XML2CPP_DIR}/wm_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Display1.xml
Display
${XML2CPP_DIR}/display_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Appearance1.xml
Appearance
${XML2CPP_DIR}/appearance_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Gesture1.xml
Gesture
${XML2CPP_DIR}/gesture_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Accounts1.User.xml
AccountsUser
${XML2CPP_DIR}/accountsuser_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.Accounts1.xml
Accounts
${XML2CPP_DIR}/accounts_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.SessionManager1.xml
SessionManager
${XML2CPP_DIR}/sessionmanager_interface
)
generation_dbus_interface(
${CMAKE_SOURCE_DIR}/xml/org.deepin.dde.XEventMonitor1.xml
XEventMonitor
${XML2CPP_DIR}/xeventmonitor_interface
)
add_library(trashutils
OBJECT
src/trashutils/trashmonitor.h
src/trashutils/trashmonitor.cpp
)
target_link_libraries(trashutils
PUBLIC
Qt5::Core
PkgConfig::GIO
)
target_compile_definitions(trashutils
PRIVATE
QT_NO_KEYWORDS
)
include_directories(
src
src/boxframe
src/dbusinterface
src/dbusinterface/dbusvariant
src/dbusservices
src/delegate
src/global_util
src/global_util/dbus/qtdbusextended
src/global_util/dbus/xml2cpp
src/global_util/dbus/xml2cpp/types
src/model
src/skin
src/view
src/widgets
src/worker
interfaces
)
aux_source_directory(src SRC)
aux_source_directory(src/boxframe BOXFRAME)
aux_source_directory(src/dbusinterface DBUSINTERFACE)
aux_source_directory(src/dbusinterface/dbusvariant DBUSVARIANT)
aux_source_directory(src/dbusservices DBUSSERVICES)
aux_source_directory(src/delegate DELEGATE)
aux_source_directory(src/global_util GLOBAL_UTIL)
aux_source_directory(src/model MODEL)
aux_source_directory(src/skin SKIN)
aux_source_directory(src/view VIEW)
aux_source_directory(src/widgets WIDGETS)
aux_source_directory(src/worker WORKER)
aux_source_directory(src/global_util/dbus/xml2cpp/types DBUS_TYPES)
aux_source_directory(src/global_util/dbus/xml2cpp/ DBUS_INTERFACES)
file(GLOB PLUGININTERFACES "interfaces/*.h")
file(GLOB PLUGINCONTROLLER "controller/*.*")
file(GLOB SRC_PATH
${SRC}
${BOXFRAME}
${DBUSINTERFACE}
${DBUSVARIANT}
${DBUSSERVICES}
${DELEGATE}
${GLOBAL_UTIL}
${MODEL}
${SKIN}
${VIEW}
${WIDGETS}
${WORKER}
${PLUGININTERFACES}
${PLUGINCONTROLLER}
${DBUS_TYPES}
${DBUS_INTERFACES}
)
add_executable(${BIN_NAME} ${SRC_PATH} ${INTERFACES} src/skin.qrc src/widgets/images.qrc)
target_include_directories(${BIN_NAME} PUBLIC
${DtkWidget_INCLUDE_DIRS}
${PROJECT_BINARY_DIR}
)
target_link_libraries(${BIN_NAME} PRIVATE
PkgConfig::XCB_EWMH
Dtk::Core
${DtkWidget_LIBRARIES} # seems we won't be able to use Dtk::Widget in dtkwidget 5.6.4
Dtk::Gui
Qt5::Widgets
Qt5::Concurrent
Qt5::X11Extras
Qt5::DBus
Qt5::Svg
Qt5::GuiPrivate
PkgConfig::QGSettings
trashutils
)
## qm files
file(GLOB QM_FILES "translations/*.qm")
install(FILES ${QM_FILES} DESTINATION ${CMAKE_INSTALL_DATADIR}/dde-launcher/translations)
## desktop file
install(FILES dde-launcher.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications/)
configure_file(${CMAKE_SOURCE_DIR}/dde-launcher-wapper.in ${CMAKE_CURRENT_BINARY_DIR}/dde-launcher-wapper @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dde-launcher-wapper DESTINATION ${CMAKE_INSTALL_BINDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
## services files
configure_file(
${CMAKE_SOURCE_DIR}/src/dbusservices/org.deepin.dde.Launcher1.service.in
${CMAKE_CURRENT_BINARY_DIR}/org.deepin.dde.Launcher1.service
@ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.deepin.dde.Launcher1.service
DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/services)
#schemas
install(FILES gschema/com.deepin.dde.launcher.gschema.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/glib-2.0/schemas)
install(CODE "execute_process(COMMAND glib-compile-schemas ${CMAKE_INSTALL_PREFIX}/share/glib-2.0/schemas)")
## icon
install(FILES data/deepin-launcher.svg DESTINATION share/icons/hicolor/scalable/apps)
# bin
install(TARGETS ${BIN_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
#dev
file(GLOB INTERFACE_FILES "interfaces/*.h")
install(FILES ${INTERFACE_FILES} DESTINATION include/dde-launcher)
# config
file(GLOB DCONFIG_FILES "configs/*.json")
install(FILES ${DCONFIG_FILES} DESTINATION share/dsg/configs/dde-launcher)
dconfig_meta_files(APPID org.deepin.dde.launcher BASE ./config/*.json)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。