1
+ set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH} ;${CMAKE_SOURCE_DIR} /cmake/modules" )
1
2
cmake_minimum_required (VERSION 3.5 )
2
3
4
+ set (MAJOR "1" )
5
+ set (MINOR "1" )
6
+ set (PATCH "1" )
7
+ cmake_policy (SET CMP0048 NEW )
8
+
3
9
project (Qldd
4
10
LANGUAGES CXX
5
- VERSION 1.0.0 )
11
+ VERSION ${MAJOR} .${MINOR}.${PATCH} )
12
+
13
+
14
+ find_package (VersionHeader )
15
+ set (PROJECT_VERSION "${MAJOR} .${MINOR} .${PATCH} .${COMMITTER_SHORTSHA} " )
16
+
17
+ message (STATUS "COMMITTER_FULLSHA ${COMMITTER_FULLSHA} " )
18
+ message (STATUS "COMMITTER_SHORTSHA ${COMMITTER_SHORTSHA} " )
19
+ message (STATUS "COMMITTER_DATE ${COMMITTER_DATE} " )
20
+ message (STATUS "PROJECT_VERSION ${PROJECT_VERSION} " )
6
21
7
22
set (CMAKE_INCLUDE_CURRENT_DIR ON )
8
23
@@ -26,7 +41,7 @@ if (APPLE)
26
41
else ()
27
42
add_executable (Qldd )
28
43
endif ()
29
-
44
+ include_directories ( ${CMAKE_BINARY_DIR} )
30
45
set (SOURCES
31
46
main.cpp
32
47
mainwindow.cpp
@@ -40,18 +55,9 @@ set(SOURCES
40
55
resources/resources.qrc
41
56
)
42
57
target_sources (Qldd PRIVATE ${SOURCES} )
43
-
58
+ target_compile_definitions ( Qldd PRIVATE -DPROJECT_VERSION= " ${PROJECT_VERSION} " )
44
59
target_link_libraries (Qldd PRIVATE ${QtVer} ::Widgets )
45
60
46
- install (TARGETS Qldd
47
- RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} /bin
48
- BUNDLE DESTINATION ${CMAKE_INSTALL_PREFIX} /bin
49
- COMPONENT DependencyViewer )
50
-
51
- install (FILES ${CMAKE_SOURCE_DIR} /nemo/actions/dependency-viewer.nemo_action
52
- DESTINATION share/nemo/actions
53
- COMPONENT nemo-integration )
54
-
55
61
if (APPLE )
56
62
set (CMAKE_MACOSX_BUNDLE ON )
57
63
set (CMAKE_MACOSX_RPATH ON )
@@ -63,7 +69,7 @@ if(APPLE)
63
69
set_target_properties (Qldd
64
70
PROPERTIES
65
71
MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME} "
66
- MACOSX_BUNDLE_INFO_STRING "${PROJECT_NAME} Copyright (c) 2020 bas524@yandex.ru"
72
+ MACOSX_BUNDLE_INFO_STRING "${PROJECT_NAME} Copyright (c) 2023 bas524@yandex.ru"
67
73
MACOSX_BUNDLE_ICON_FILE Qldd.icns
68
74
MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_NAME} "
69
75
MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION} "
@@ -79,23 +85,82 @@ if(APPLE)
79
85
endif ()
80
86
endif ()
81
87
82
- set (desktop.path applications )
83
- set (desktop.files resources/qldd.desktop )
84
- set (icon.path icons/hicolor/64x64/apps )
85
- set (icon.files resources/Qldd.png )
86
- set (iconsvg.path icons/hicolor/scalable/apps )
87
- set (iconsvg.files resources/Qldd.svg )
88
- foreach (items IN ITEMS desktop icon iconsvg )
89
- install (FILES ${CMAKE_CURRENT_SOURCE_DIR} /${${items}.files}
90
- DESTINATION share/${${items}.path}
91
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
92
- endforeach ()
93
88
# Components:
94
89
if (CMAKE_BUILD_TYPE_UPPER MATCHES "^(DEBUG|RELWITHDEBINFO)$" )
95
90
set (CPACK_STRIP_FILES FALSE )
96
91
else ()
97
92
set (CPACK_STRIP_FILES TRUE )
98
93
endif ()
99
94
100
- include (${CMAKE_CURRENT_LIST_DIR} /Packaging.cmake )
95
+ install (TARGETS Qldd RUNTIME DESTINATION bin COMPONENT application )
96
+ install (FILES ${CMAKE_SOURCE_DIR} /resources/qldd.desktop DESTINATION share/applications/ COMPONENT application )
97
+ install (FILES ${CMAKE_SOURCE_DIR} /resources/Qldd.png DESTINATION share/pixmaps/ COMPONENT application )
98
+ install (FILES ${CMAKE_SOURCE_DIR} /nemo/actions/dependency-viewer.nemo_action
99
+ DESTINATION share/nemo/actions
100
+ COMPONENT nemo-integration )
101
+ install (FILES ${CMAKE_SOURCE_DIR} /nautilus-python/extensions/dependency-viewer.py
102
+ DESTINATION nautilus-python/extensions
103
+ COMPONENT nautilus-integration )
104
+
105
+ set (CPACK_SOURCE_IGNORE_FILES
106
+ #svn files
107
+ "\\\\ .svn/"
108
+ "\\\\ .cvsignore$"
109
+ #git files
110
+ "\\\\ .git/"
111
+ "\\\\ .github/"
112
+ # temporary files
113
+ "\\\\ .swp$"
114
+ # backup files
115
+ "~$"
116
+ # eclipse files
117
+ "\\\\ .cdtproject$"
118
+ "\\\\ .cproject$"
119
+ "\\\\ .project$"
120
+ "\\\\ .settings/"
121
+ # others
122
+ "\\\\ .#"
123
+ "/#"
124
+ "/build/"
125
+ "/_build/"
126
+ "/\\\\ .git/"
127
+ # used before
128
+ "/CVS/"
129
+ "/\\\\ .libs/"
130
+ "/\\\\ .deps/"
131
+ "\\\\ .o$"
132
+ "\\\\ .lo$"
133
+ "\\\\ .la$"
134
+ "Makefile\\\\ .in$"
135
+ )
136
+
137
+
138
+ set (CPACK_PACKAGE_NAME "Qldd" )
139
+ set (CPACK_PACKAGE_VERSION "${MAJOR} .${MINOR} .${PATCH} " )
140
+ set (CPACK_PACKAGE_VENDOR "community" )
141
+ set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION} -${CMAKE_SYSTEM_PROCESSOR} " )
142
+ set (CMAKE_PROJECT_HOMEPAGE_URL "https://github.com/bas524/linuxdependency" )
143
+ set (CPACK_PACKAGE_CONTACT "bas524" )
144
+ set (CPACK_PACKAGE_DESCRIPTION "DependencyViewer shows all dependecies of a given executable or dynamic library. It is a GUI wrapper for the ldd, file and nm commands" )
145
+
146
+ set (CPACK_DEBIAN_PACKAGE_NAME ${CPACK_PACKAGE_NAME} )
147
+ set (CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION} )
148
+ set (CPACK_DEBIAN_PACKAGE_SECTION "utils" )
149
+ set (CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_MAINTAINER} )
150
+ set (CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION} )
151
+ set (CPACK_DEBIAN_PACKAGE_HOMEPAGE ${CMAKE_PROJECT_HOMEPAGE_URL} )
152
+ set (CPACK_DEBIAN_PACKAGE_LICENSE "Apache-2.0" )
153
+ set (CPACK_DEBIAN_PACKAGE_DEPENDS "python3-nautilus, binutils, libqt5core5a, libqt5gui5, libqt5widgets5" )
154
+
155
+ set (CPACK_RPM_PACKAGE_NAME ${CPACK_PACKAGE_NAME} )
156
+ set (CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION} )
157
+ set (CPACK_RPM_PACKAGE_SECTION "net" )
158
+ set (CPACK_RPM_PACKAGE_MAINTAINER ${CPACK_PACKAGE_MAINTAINER} )
159
+ set (CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION} )
160
+ set (CPACK_RPM_PACKAGE_URL ${CMAKE_PROJECT_HOMEPAGE_URL} )
161
+ set (CPACK_RPM_PACKAGE_LICENSE "Apache-2.0" )
162
+ set (CPACK_RPM_PACKAGE_REQUIRES "python3-nautilus, binutils, qt5-qtbase" )
163
+
164
+ include (CPack )
165
+ cpack_add_component (application DISPLAY_NAME "DependencyViewer" REQUIRED )
101
166
0 commit comments