Skip to content
This repository was archived by the owner on May 13, 2025. It is now read-only.

Commit f8c6295

Browse files
cathaysiacathaysia
authored andcommitted
fix(CPack): 修复了 CPack 问题
1 parent 0774cd3 commit f8c6295

File tree

3 files changed

+61
-30
lines changed

3 files changed

+61
-30
lines changed

CMakeLists.txt

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,46 @@
11
cmake_minimum_required(VERSION 3.0)
22

3-
project(digikamflowplugin
4-
VERSION 0.0.9
5-
DESCRIPTION "a plugin add a Flow View to digikam"
6-
HOMEPAGE_URL https://github.com/cathaysia/digikamflowplugin)
3+
project(
4+
digikamflowplugin
5+
VERSION 0.1.0
6+
DESCRIPTION "a plugin add a Flow View to digikam"
7+
HOMEPAGE_URL https://github.com/cathaysia/digikamflowplugin
8+
)
9+
set(CMAKE_CXX_STANDARD 17)
10+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
11+
# CMAKE_PREFIX_PATH 不应当被改变,但是这里不做强制要求
12+
option(CMAKE_INSTALL_PREFIX "/usr/")
713

814
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
915
include(FeatureSummary)
1016
include(CMakePrintHelpers)
1117

18+
1219
add_subdirectory(extern/QtFlowLayout)
1320
include_directories(extern/QtFlowLayout)
1421
add_subdirectory(src)
1522

1623
include(InstallRequiredSystemLibraries)
17-
# set(CPACK_PACKAGE_VENDOR Z)
18-
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE)
24+
set(CPACK_GENERATOR "TGZ;TXZ;STGZ;RPM")
25+
set(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_BINARY_DIR}" "${CMAKE_PROJECT_NAME}" ALL .)
26+
set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}/pack")
27+
28+
set(CPACK_PACKAGE_VENDOR "cathaysia")
29+
set(CPCK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_DESCRIPTION}")
30+
set(CPACK_PROJECT_URL "${CMAKE_PROJECT_HOMEPAGE_URL}")
1931
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
2032
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
2133
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
22-
set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/pack)
23-
24-
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
34+
set(CMAKE_PACKAGE_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
35+
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/")
36+
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
2537
set(CPACK_STRIP_FILES ON)
38+
# RPM
39+
set(CPACK_RPM_PACKAGE_LICENSE "GPLv3")
40+
set(CPACK_RPM_PACKAGE_URL ${CPACK_PROJECT_URL})
41+
set(CPACK_RPM_PACKAGE_DESCRIPTION ${CMAKE_PROJECT_DESCRIPTION})
42+
# set(CPACK_RPM_PACKAGE_REQUIRES "digikam,spdlog,qt5-qtbase")
43+
2644
include(CPack)
27-
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME})
2845
cmake_print_variables(CPACK_PACKAGE_FILE_NAME)
29-
3046
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)

README.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,38 @@
1+
# 说明
2+
3+
这是一个依赖于 Digikam 的插件,为 Digikam 添加了更加紧凑、美观的流式布局。
4+
5+
刚写这个软件的时候不是很清楚版本号的发行规范,因此早期版本有些问题,但是所幸今天(2021-08-10)迎来了 v0.1.0 版本,在上面的十个版本中我完成了软件的外观实现和性能优化,从部件布局一体化到部件布局分离,从单线程到读写线程分离,从双线程到多线程。
6+
7+
在 v0.0.8 中使用图片压缩大幅降低了大图片的内存将用,而且使用了多线程读图片大幅度提高了图片读取速度。
8+
9+
在 v0.0.9 版本中修复了小图片占用更多内存的问题。
10+
11+
v0.1.0 是一个比较简单的版本,只是修复了 CPack 的问题。
12+
13+
至此,此项目应该已经足够健壮了,除了一些在小问题外,日常使用应当问题不大。目前疑存的 Bug
14+
是一个窗口停止会导致其他窗口停止加载图片,但是这个测试起来比较棘手,而且我日常使用感知不到,就暂时不管了。另外几个相关的 issues 是:
15+
16+
- 是否让多个窗口共用锁?
17+
- 是否添加接口限制图片的最大读取数量?
18+
- 是否添加自定义图片压缩的大小?
19+
- 是否在双击图片时显示无损大图?
20+
121
# 截图
222

323
![1.gif](screenshot/1.gif)
424
![缩放.gif](./screenshot/缩放.gif)
525
![节省内存.gif](./screenshot/节省内存.gif)
626

7-
827
# 构建
928

10-
此项目依赖于以下组件(Fedora):
29+
此项目构建时依赖于以下组件(Fedora):
1130

1231
- spdlog-devel
1332
- digikam-devel
1433
- qt5-qtbase-devel
1534
- c++ 17
16-
- cmake
35+
- CMake
1736

1837
要构建并安装,请执行以下指令:
1938

src/CMakeLists.txt

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,14 @@ set_package_properties(
1515
DESCRIPTION "digiKam core library"
1616
)
1717

18-
add_library(
19-
PicFlowView MODULE
20-
PicFlowView.cpp
21-
PicFlowView.cpp
22-
)
18+
add_library(PicFlowView MODULE PicFlowView.cpp)
2319

2420
set_target_properties(
2521
PicFlowView
2622
PROPERTIES PREFIX ""
2723
LINK_WHAT_YOU_USE ON
2824
)
25+
2926
target_include_directories(
3027
PicFlowView PRIVATE
3128
Digikam::digikamcore
@@ -47,17 +44,16 @@ target_link_libraries(
4744
spdlog::spdlog
4845
)
4946

50-
include(GNUInstallDirs)
51-
find_file(
52-
DIGIKAM_PLUGIN_CONFIG DigikamPluginConfig.cmake
53-
HINTS ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/DigikamPlugin/
54-
HINTS /usr/lib64/cmake/DigikamPlugin/
55-
HINTS /usr/lib/cmake/DigikamPlugin/
56-
)
57-
include(${DIGIKAM_PLUGIN_CONFIG})
58-
cmake_print_variables(DPluginGenericInstallPath)
47+
# find_file(
48+
# DIGIKAM_PLUGIN_CONFIG DigikamPluginConfig.cmake
49+
# HINTS ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/DigikamPlugin/
50+
# HINTS /usr/lib64/cmake/DigikamPlugin/
51+
# HINTS /usr/lib/cmake/DigikamPlugin/
52+
# )
53+
# include(${DIGIKAM_PLUGIN_CONFIG})
54+
# cmake_print_variables(DPluginGenericInstallPath)
5955
# 这里需要使用相对路径,否则 CPack 不识别
6056
install(
61-
TARGETS PicFlowView
62-
LIBRARY DESTINATION "${DPluginGenericInstallPath}"
57+
# TARGETS PicFlowView DESTINATION "${DPluginGenericInstallPath}"
58+
TARGETS PicFlowView DESTINATION "lib64/qt5/plugins/digikam/generic/"
6359
)

0 commit comments

Comments
 (0)