diff --git a/debian/control b/debian/control index 44917663..ec4e15f0 100644 --- a/debian/control +++ b/debian/control @@ -9,22 +9,22 @@ Build-Depends: debhelper-compat (= 11), libcups2-dev, libgtest-dev, libkmod-dev, - libqapt-qt6-dev, - libqapt3-qt6-runtime, - libpolkit-qt6-1-dev, + libqapt-qt6-dev | libqapt-dev, + libqapt3-qt6-runtime | libqapt3-runtime, + libpolkit-qt6-1-dev | libpolkit-qt5-1-dev, deepin-desktop-base, libdeepin-service-framework-dev (> 1.0.9), - qt6-base-dev, - qt6-base-dev-tools, - qt6-base-private-dev, - qt6-l10n-tools, - qt6-tools-dev, - qt6-tools-dev-tools, - libdtk6gui-dev, - libdtk6widget-dev, - libdtk6core-dev, - qt6-svg-dev, - libqt6sql6 + qt6-base-dev | qtbase5-dev, + qt6-base-dev-tools | qtbase5-dev-tools, + qt6-base-private-dev | qtbase5-private-dev, + qt6-l10n-tools | qttools5-dev-tools, + qt6-tools-dev | qttools5-dev, + qt6-tools-dev-tools | qttools5-dev-tools, + libdtk6gui-dev | libdtkgui-dev, + libdtk6widget-dev | libdtkwidget-dev, + libdtk6core-dev | libdtkcore-dev, + qt6-svg-dev | libqt5svg5-dev, + libqt6sql6 | libqt5sql5 Standards-Version: 4.1.3 Package: deepin-devicemanager @@ -37,7 +37,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, upower, deepin-shortcut-viewer, lshw, - libdtk6core, + libdtk6core | libdtkcore5, libkmod2, libdeepin-service-framework, deepin-service-manager, diff --git a/debian/rules b/debian/rules index 510086ed..00e3d416 100755 --- a/debian/rules +++ b/debian/rules @@ -9,13 +9,33 @@ export QT_SELECT := 6 #export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed include /usr/share/dpkg/default.mk +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) +DH_AUTO_ARGS = --parallel --buildsystem=cmake + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +# 检测当前安装的Qt版本,优先使用Qt6,否则使用Qt5 +define detect_qt_version +ifneq (,$(shell which qmake6 2>/dev/null)) + QT_DIR="/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/Qt6" +else + QT_DIR="/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/Qt5" +endif +endef + +$(eval $(call detect_qt_version)) + override_dh_auto_configure: dh_auto_configure -- \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SAFETYTEST_ARG="CMAKE_SAFETYTEST_ARG_OFF" \ - -DAPP_VERSION=$(DEB_VERSION_UPSTREAM) -DVERSION=$(DEB_VERSION_UPSTREAM) LIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH) + -DUSE_AM_DBUS=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DAPP_VERSION=$(DEB_VERSION_UPSTREAM) \ + -DCVERSION=$(DEB_VERSION_UPSTREAM) \ + -DQT_DIR=$(QT_DIR) %: - dh $@ + dh $@ --parallel override_dh_shlibdeps: dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info diff --git a/deepin-devicemanager-server/customgpuinfo/CMakeLists.txt b/deepin-devicemanager-server/customgpuinfo/CMakeLists.txt index e9071dde..a5fae842 100644 --- a/deepin-devicemanager-server/customgpuinfo/CMakeLists.txt +++ b/deepin-devicemanager-server/customgpuinfo/CMakeLists.txt @@ -2,7 +2,17 @@ cmake_minimum_required(VERSION 3.7) set(BIN_NAME "customgpuinfo") -find_package(Qt5 COMPONENTS Core REQUIRED) +macro(SET_QT_VERSION) + if(${QT_VERSION_MAJOR} EQUAL 6) + find_package(Qt6 COMPONENTS Core REQUIRED) + elseif(${QT_VERSION_MAJOR} EQUAL 5) + find_package(Qt5 COMPONENTS Core REQUIRED) + else() + message(FATAL_ERROR "Unsupported QT_VERSION_MAJOR: ${QT_VERSION_MAJOR}") + endif() +endmacro() + +SET_QT_VERSION() file(GLOB_RECURSE SRC "${CMAKE_CURRENT_SOURCE_DIR}/*.h" @@ -14,11 +24,11 @@ add_executable(${BIN_NAME} ) target_include_directories(${BIN_NAME} PUBLIC - Qt5::Core + Qt${QT_VERSION_MAJOR}::Core ) target_link_libraries(${BIN_NAME} PRIVATE - Qt5::Core + Qt${QT_VERSION_MAJOR}::Core ) install(TARGETS ${BIN_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/deepin-devicemanager)