From d57ec415cdf87c3f1a1c6dae0e72a426846e29d4 Mon Sep 17 00:00:00 2001 From: Tsic Date: Mon, 20 Feb 2023 10:36:55 +0800 Subject: [PATCH] fix(build): fix CMakeLists merge error (#772) fix CMakelists error and use find_pacakge Dwayland fix archlinux build dep log: --- CMakeLists.txt | 2 +- archlinux/PKGBUILD | 3 +- debian/control | 3 +- frame/CMakeLists.txt | 46 ++++++++++--------- frame/screenspliter/screenspliter_wayland.cpp | 14 +++--- .../plugin-guide/home_monitor/CMakeLists.txt | 2 +- .../plugin-guide/plugins-developer-guide.md | 2 +- tests/CMakeLists.txt | 2 +- 8 files changed, 39 insertions(+), 35 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc9a2d608..c328d3564 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.7) +cmake_minimum_required(VERSION 3.16) if (NOT DEFINED VERSION) set(VERSION 4.0) diff --git a/archlinux/PKGBUILD b/archlinux/PKGBUILD index a5156cfd3..77fe02ee7 100644 --- a/archlinux/PKGBUILD +++ b/archlinux/PKGBUILD @@ -11,7 +11,8 @@ depends=('qt5-svg' 'deepin-daemon-git' 'deepin-qt5integration-git' makedepends=('git' 'cmake' 'ninja' 'qt5-tools' 'gtest' 'gmock' 'dtkcommon-git' 'dtkcore-git' 'deepin-qt5integration-git' 'deepin-qt-dbus-factory' 'libdbusmenu-qt5' - 'deepin-control-center-git') + 'deepin-control-center-git' 'dwayland-git' 'extra-cmake-modules' + ) conflicts=('deepin-dock') provides=('deepin-dock') optdepends=('deepin-network-core-git') diff --git a/debian/control b/debian/control index fa1f3b86e..9a7787c6d 100644 --- a/debian/control +++ b/debian/control @@ -29,7 +29,8 @@ Build-Depends: debhelper (>= 8.0.0), libqt5waylandclient5-dev, qtwayland5-private-dev, libxdamage-dev, - libdwayland-dev + libdwayland-dev, + extra-cmake-modules Standards-Version: 3.9.8 Homepage: http://www.deepin.org/ diff --git a/frame/CMakeLists.txt b/frame/CMakeLists.txt index 87dcc7607..745c2d26f 100644 --- a/frame/CMakeLists.txt +++ b/frame/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.7) +cmake_minimum_required(VERSION 3.16) set(BIN_NAME dde-dock) @@ -23,16 +23,19 @@ find_package(Qt5DBus REQUIRED) find_package(Qt5Svg REQUIRED) find_package(Qt5WaylandClient REQUIRED) find_package(Qt5XkbCommonSupport REQUIRED) +find_package(DtkGui REQUIRED) find_package(DtkWidget REQUIRED) find_package(DtkCMake REQUIRED) find_package(dbusmenu-qt5 REQUIRED) +find_package(ECM REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) +find_package(DWayland REQUIRED) -pkg_check_modules(XCB_EWMH REQUIRED xcb-image xcb-ewmh xcb-composite xtst x11 dbusmenu-qt5 xext xcursor) -pkg_check_modules(QGSettings REQUIRED gsettings-qt) -pkg_check_modules(DtkGUI REQUIRED dtkgui) +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) -set(Wayland_INCLUDE_DIRS /usr/include/DWayland/Client) -set(Wayland_LIBRARIES /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/libDWaylandClient.so) +pkg_check_modules(XCB_EWMH REQUIRED IMPORTED_TARGET xcb-image xcb-ewmh xcb-composite xtst x11 dbusmenu-qt5 xext xcursor) +pkg_check_modules(QGSettings REQUIRED IMPORTED_TARGET gsettings-qt) # driver-manager add_executable(${BIN_NAME} @@ -50,7 +53,6 @@ target_include_directories(${BIN_NAME} PUBLIC ${DtkGUI_INCLUDE_DIRS} ${Qt5Svg_INCLUDE_DIRS} ${dbusmenu-qt5_INCLUDE_DIRS} - ${Wayland_INCLUDE_DIRS} ${Qt5WaylandClient_INCLUDE_DIRS} ${Qt5WaylandClient_PRIVATE_INCLUDE_DIRS} ${Qt5XkbCommonSupport_PRIVATE_INCLUDE_DIRS} @@ -86,21 +88,21 @@ target_include_directories(${BIN_NAME} PUBLIC ) target_link_libraries(${BIN_NAME} PRIVATE - ${XCB_EWMH_LIBRARIES} ${DtkWidget_LIBRARIES} - ${Qt5Widgets_LIBRARIES} - ${Qt5Gui_LIBRARIES} - ${Qt5Concurrent_LIBRARIES} - ${Qt5X11Extras_LIBRARIES} - ${Qt5DBus_LIBRARIES} - ${QGSettings_LIBRARIES} - ${DtkGUI_LIBRARIES} - ${Qt5Svg_LIBRARIES} - ${Wayland_LIBRARIES} - ${Qt5Wayland_LIBRARIES} - ${Qt5WaylandClient_LIBRARIES} - ${Qt5XkbCommonSupport_LIBRARIES} - -lpthread -lm + PkgConfig::QGSettings + PkgConfig::XCB_EWMH + Dtk::Gui + Qt5::Widgets + Qt5::Gui + Qt5::Concurrent + Qt5::X11Extras + Qt5::DBus + Qt5::Svg + Qt5::WaylandClient + Qt5::XkbCommonSupport + DWaylandClient + Threads::Threads + -lm ) if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "sw_64") @@ -116,4 +118,4 @@ if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") endif() # bin -install(TARGETS ${BIN_NAME} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install(TARGETS ${BIN_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/frame/screenspliter/screenspliter_wayland.cpp b/frame/screenspliter/screenspliter_wayland.cpp index 851725f68..f743cfcb4 100644 --- a/frame/screenspliter/screenspliter_wayland.cpp +++ b/frame/screenspliter/screenspliter_wayland.cpp @@ -17,13 +17,13 @@ #include #undef private -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include SplitWindowManager *ScreenSpliter_Wayland::m_splitManager = nullptr; diff --git a/plugins/plugin-guide/home_monitor/CMakeLists.txt b/plugins/plugin-guide/home_monitor/CMakeLists.txt index 7aba096aa..f5811e09d 100644 --- a/plugins/plugin-guide/home_monitor/CMakeLists.txt +++ b/plugins/plugin-guide/home_monitor/CMakeLists.txt @@ -4,7 +4,7 @@ # https://cmake.org/cmake/help/latest/ # 设置运行该脚本所需的 cmake 最低版本 -cmake_minimum_required(VERSION 3.11) +cmake_minimum_required(VERSION 3.16) # 使用 set 命令设置一个变量 set(PLUGIN_NAME "home_monitor") diff --git a/plugins/plugin-guide/plugins-developer-guide.md b/plugins/plugin-guide/plugins-developer-guide.md index fde7dbce7..a94b23b59 100644 --- a/plugins/plugin-guide/plugins-developer-guide.md +++ b/plugins/plugin-guide/plugins-developer-guide.md @@ -124,7 +124,7 @@ home_monitor # https://cmake.org/cmake/help/latest/ # 设置运行被配置所需的 cmake 最低版本 -cmake_minimum_required(VERSION 3.11) +cmake_minimum_required(VERSION 3.16) # 使用 set 命令设置一个变量 set(PLUGIN_NAME "home_monitor") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 86b83aa63..1d9624860 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,6 @@ ADD_COMPILE_OPTIONS(-fno-access-control) -cmake_minimum_required(VERSION 3.7) +cmake_minimum_required(VERSION 3.16) set(BIN_NAME dde_dock_unit_test)