Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 17 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.7)
cmake_minimum_required(VERSION 3.10)

project(util-dfm)

Expand All @@ -10,16 +10,25 @@ SET(CMAKE_INCLUDE_CURRENT_DIR ON)
#SET(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall")

option(OPT_ENABLE_QT6 "Use Qt6" ON)
set(DFM_BUILD_WITH_QT6 FALSE)

include(GNUInstallDirs)

find_package(Qt6 QUIET)
if (Qt6_FOUND)
message(STATUS "Found Qt6: ${Qt6_VERSION}")
set(QT_VERSION_MAJOR 6)
set(DFM_VERSION_MAJOR 6)
else()
message(WARNING "Qt6 not found!")
if(OPT_ENABLE_QT6)
find_package(Qt6 QUIET)
if (Qt6_FOUND)
message(STATUS "Found Qt6: ${Qt6_VERSION}")
set(DFM_BUILD_WITH_QT6 TRUE)
set(QT_VERSION_MAJOR 6)
set(DFM_VERSION_MAJOR 6)
endif()
endif()

if(NOT DFM_BUILD_WITH_QT6)
message(WARNING "Qt6 not found, Use Qt5.")
set(QT_VERSION_MAJOR 5)
set(DFM_VERSION_MAJOR "")
endif()

# default
Expand Down
33 changes: 19 additions & 14 deletions debian/control
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# WARNING: This file is auto-generated from debian/control.in by debian/rules
# DO NOT EDIT THIS FILE DIRECTLY!
# Edit debian/control.in instead and rebuild the package.
#
# The generation logic:
# - If MajorVersion > 20 in /etc/os-version: generates Qt6 packages (libdfm6-*)
# - If MajorVersion <= 20 in /etc/os-version: generates Qt5 packages (libdfm-*)
# - If /etc/os-version doesn't exist: defaults to Qt6 packages

Source: util-dfm
Section: libs,utils
Priority: optional
Expand All @@ -6,19 +15,19 @@ Build-Depends:
debhelper (>=9),
cmake,
pkg-config,
qt6-base-dev,
qt6-base-private-dev,
libdtk6core-dev,
qmake6,
qt6-base-dev | qtbase5-dev,
qt6-base-private-dev | qtbase5-private-dev,
libdtk6core-dev | libdtkcore-dev,
libglibmm-2.4-dev,
qt6-tools-dev-tools,
qt6-tools-dev-tools | qttools5-dev-tools,
libglib2.0-dev,
libudisks2-dev,
libisoburn-dev,
libmediainfo-dev,
libsecret-1-dev,
liblucene++-dev,
libboost-filesystem-dev
libboost-filesystem-dev,
libboost-system-dev
Standards-Version: 4.3.0
Homepage: http://www.deepin.org
#Vcs-Browser: https://salsa.debian.org/debian/util-dfm
Expand All @@ -30,8 +39,7 @@ Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends},
libglibmm-2.4-1v5
${misc:Depends}
Description: A library about I/O.
A library that provides I/O interface.

Expand Down Expand Up @@ -61,11 +69,9 @@ Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${shlibs:Depends},
${misc:Depends},
libdfm6-mount (=${binary:Version}),
libsecret-1-dev,
libudisks2-dev
Description: A library about mount and umount dev.
A library that provides mount and umount interface dev.

Expand All @@ -86,10 +92,9 @@ Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${shlibs:Depends},
${misc:Depends},
libdfm6-burn (=${binary:Version}),
libisoburn-dev
Description: A library about mount burning CD.
A library that provides burning CD interface dev.

Expand All @@ -108,7 +113,7 @@ Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${shlibs:Depends},
${misc:Depends},
libdfm6-search (=${binary:Version})
Description: A library about searching files dev.
Expand Down
115 changes: 115 additions & 0 deletions debian/control.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
Source: util-dfm
Section: libs,utils
Priority: optional
Maintainer: Deepin Packages Builder <packages@linuxdeepin.com>
Build-Depends:
debhelper (>=9),
cmake,
pkg-config,
qt6-base-dev | qtbase5-dev,
qt6-base-private-dev | qtbase5-private-dev,
libdtk6core-dev | libdtkcore-dev,
libglibmm-2.4-dev,
qt6-tools-dev-tools | qttools5-dev-tools,
libglib2.0-dev,
libudisks2-dev,
libisoburn-dev,
libmediainfo-dev,
libsecret-1-dev,
liblucene++-dev,
libboost-filesystem-dev,
libboost-system-dev
Standards-Version: 4.3.0
Homepage: http://www.deepin.org
#Vcs-Browser: https://salsa.debian.org/debian/util-dfm
#Vcs-Git: https://salsa.debian.org/debian/util-dfm.git

Package: libdfm@QT_SUFFIX@-io
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends},
libglibmm-2.4-1v5
Description: A library about I/O.
A library that provides I/O interface.

Package: libdfm@QT_SUFFIX@-io-dev
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends},
libdfm@QT_SUFFIX@-io (=${binary:Version})
Description: A library about I/O dev.
A library that provides I/O interface dev.

Package: libdfm@QT_SUFFIX@-mount
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends}
Description: A library about mount and umount.
A library that provides mount and umount interface.

Package: libdfm@QT_SUFFIX@-mount-dev
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends},
libdfm@QT_SUFFIX@-mount (=${binary:Version}),
libsecret-1-dev,
libudisks2-dev
Description: A library about mount and umount dev.
A library that provides mount and umount interface dev.

Package: libdfm@QT_SUFFIX@-burn
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends}
Recommends:
libudfburn
Description: A library about burning CD.
A library that provides burning CD interface.

Package: libdfm@QT_SUFFIX@-burn-dev
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends},
libdfm@QT_SUFFIX@-burn (=${binary:Version}),
libisoburn-dev
Description: A library about mount burning CD.
A library that provides burning CD interface dev.

Package: libdfm@QT_SUFFIX@-search
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends}
Description: A library about searching files.
A library that provides file searching interface.

Package: libdfm@QT_SUFFIX@-search-dev
Architecture: any
Section: libdevel
Multi-Arch: same
Depends:
${shlibs:Depends},
${misc:Depends},
libdfm@QT_SUFFIX@-search (=${binary:Version})
Description: A library about searching files dev.
A library that provides file searching interface dev.
3 changes: 3 additions & 0 deletions debian/libdfm-burn-dev.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
usr/include/dfm-burn/*
usr/lib/*/pkgconfig/dfm-burn.pc
usr/lib/*/cmake/dfm-burn/*.cmake
1 change: 1 addition & 0 deletions debian/libdfm-burn.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/usr/lib/*/libdfm-burn*.so*
3 changes: 3 additions & 0 deletions debian/libdfm-io-dev.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
usr/include/dfm-io/*
usr/lib/*/pkgconfig/dfm-io.pc
usr/lib/*/cmake/dfm-io/*.cmake
1 change: 1 addition & 0 deletions debian/libdfm-io.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/usr/lib/*/libdfm-io*.so*
3 changes: 3 additions & 0 deletions debian/libdfm-mount-dev.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
usr/include/dfm-mount/*
usr/lib/*/pkgconfig/dfm-mount.pc
usr/lib/*/cmake/dfm-mount/*.cmake
1 change: 1 addition & 0 deletions debian/libdfm-mount.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/usr/lib/*/libdfm-mount*.so*
3 changes: 3 additions & 0 deletions debian/libdfm-search-dev.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
usr/include/dfm-search/*
usr/lib/*/pkgconfig/dfm-search.pc
usr/lib/*/cmake/dfm-search/*.cmake
2 changes: 2 additions & 0 deletions debian/libdfm-search.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
usr/lib/*/libdfm-search*.so*
usr/libexec/dfm-search-client
27 changes: 26 additions & 1 deletion debian/rules
Original file line number Diff line number Diff line change
@@ -1,8 +1,33 @@
#!/usr/bin/make -f
export QT_SELECT=5
include /usr/share/dpkg/default.mk
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)

# 版本检测逻辑 - 读取 /etc/os-version 中的 MajorVersion
OS_VERSION_FILE := /etc/os-version

# 提取 MajorVersion,如果文件不存在或解析失败则默认为 99 (使用 Qt6)
MAJOR_VERSION := $(shell if [ -f $(OS_VERSION_FILE) ]; then \
grep "^MajorVersion=" $(OS_VERSION_FILE) 2>/dev/null | cut -d'=' -f2; \
else \
echo 99; \
fi)

# 版本判断: MajorVersion > 20 使用 Qt6, 否则使用 Qt5
USE_QT6 := $(shell if [ "$(MAJOR_VERSION)" -gt 20 ] 2>/dev/null; then echo yes; else echo no; fi)

# 设置 QT_SELECT 环境变量
ifeq ($(USE_QT6),yes)
export QT_SELECT=6
QT_SUFFIX := 6
else
export QT_SELECT=5
QT_SUFFIX :=
endif

# 从 control.in 生成 control 文件
$(shell sed -e 's/@QT_SUFFIX@/$(QT_SUFFIX)/g' \
debian/control.in > debian/control)

%:
dh $@ --parallel

Expand Down
3 changes: 3 additions & 0 deletions include/dfm-search/dfm-search/dsearch_global.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
#ifndef DSEARCH_GLOBAL_H
#define DSEARCH_GLOBAL_H

#include <optional>
#include <memory>

#include <QObject>

#define DFMSEARCH dfmsearch
Expand Down
2 changes: 1 addition & 1 deletion include/dfm-search/dfm-search/searchoptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ class SearchOptions

/**
* @brief Enables or disables the addition of detailed information to search results.
*
*
* When enabled, search results will include additional metadata such as file size,
* modification time, file type, etc. When disabled, only the basic path information
* is included, which improves performance and reduces memory usage.
Expand Down
2 changes: 1 addition & 1 deletion misc/dfm-search/dfm-search.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Name: @BIN_NAME@
Description: @CMAKE_PROJECT_DESCRIPTION@
URL: @CMAKE_PROJECT_HOMEPAGE_URL@
Version: @PROJECT_VERSION@
Requires: Qt@QT_VERSION_MAJOR@Core dtk@QT_VERSION_MAJOR@core liblucene++ liblucene++-contrib
Requires: Qt@QT_VERSION_MAJOR@Core dtk@QT_VERSION_MAJOR@core liblucene++ liblucene++-contrib Boostsystem Threads
Cflags: -I"@CMAKE_INSTALL_FULL_INCLUDEDIR@/@BIN_NAME@"
Libs: -L"@CMAKE_INSTALL_FULL_LIBDIR@" -l@BIN_NAME@
Libs.private: -L"@CMAKE_INSTALL_FULL_LIBDIR@" -l@BIN_NAME@
2 changes: 2 additions & 0 deletions misc/dfm-search/dfm-searchConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ include(CMakeFindDependencyMacro)
# 添加必要的依赖
find_dependency(Qt@QT_VERSION_MAJOR@ COMPONENTS Core)
find_dependency(Dtk@QT_VERSION_MAJOR@ COMPONENTS Core)
find_dependency(Threads)
find_dependency(Boost COMPONENTS system)

# 查找 PkgConfig 和 liblucene++ 依赖
find_dependency(PkgConfig)
Expand Down
2 changes: 2 additions & 0 deletions src/dfm-burn/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
cmake_minimum_required(VERSION 3.10)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
#SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
Expand Down
2 changes: 1 addition & 1 deletion src/dfm-burn/dfm-burn-client/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.7)
cmake_minimum_required(VERSION 3.10)

project(dfm${DFM_VERSION_MAJOR}-burn-client)

Expand Down
12 changes: 6 additions & 6 deletions src/dfm-burn/dfm-burn-lib/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.7)
cmake_minimum_required(VERSION 3.10)

set (VERSION "1.0.0" CACHE STRING "define project version")
set(BASE_NAME dfm-burn)
Expand All @@ -19,8 +19,8 @@ FILE (GLOB_RECURSE SRCS CONFIGURE_DEPENDS
"./*.h"
)

#include(dfm-burn-qt5.cmake)

# Qt6
include(dfm-burn-qt6.cmake)

if (QT_VERSION_MAJOR MATCHES 6)
include(dfm-burn-qt6.cmake)
else()
include(dfm-burn-qt5.cmake)
endif()
2 changes: 2 additions & 0 deletions src/dfm-io/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
cmake_minimum_required(VERSION 3.10)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
#SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
Expand Down
9 changes: 6 additions & 3 deletions src/dfm-io/dfm-io/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.7)
cmake_minimum_required(VERSION 3.10)

set (VERSION "1.0.0" CACHE STRING "define project version")
set(BASE_NAME dfm-io)
Expand All @@ -16,7 +16,10 @@ FILE (GLOB_RECURSE IO_SRCS CONFIGURE_DEPENDS
"./*.h"
)

#include(dfm-io-qt5.cmake)
include(dfm-io-qt6.cmake)
if (QT_VERSION_MAJOR MATCHES 6)
include(dfm-io-qt6.cmake)
else()
include(dfm-io-qt5.cmake)
endif()


Loading
Loading