Skip to content

Commit c66bdb7

Browse files
committed
modify cmake for package dependencies correction
1 parent 2942032 commit c66bdb7

File tree

2 files changed

+39
-10
lines changed

2 files changed

+39
-10
lines changed

.github/workflows/action-cpp.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- uses: actions/checkout@v3
2525
# install dependencies
2626
- name: devel-pkgs
27-
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++
27+
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
2828
# build project
2929
- name: mkdir
3030
run: ls -l && mkdir cmake-build-release
@@ -74,7 +74,7 @@ jobs:
7474
- name: devel-pkgs
7575
run: |
7676
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections &&
77-
apt-get update -y && apt-get install -yq python-nautilus binutils make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++
77+
apt-get update -y && apt-get install -yq python-nautilus binutils make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
7878
# build project
7979
- name: mkdir
8080
run: mkdir cmake-build-release
@@ -122,7 +122,7 @@ jobs:
122122
- uses: actions/checkout@v3
123123
# install dependencies
124124
- name: devel-pkgs
125-
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++
125+
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
126126
# build project
127127
- name: mkdir
128128
run: mkdir cmake-build-release
@@ -170,7 +170,7 @@ jobs:
170170
- uses: actions/checkout@v3
171171
# install dependencies
172172
- name: devel-pkgs
173-
run: apt-get update -y && apt-get install -yq binutils python-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++
173+
run: apt-get update -y && apt-get install -yq binutils python-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
174174
# build project
175175
- name: mkdir
176176
run: mkdir cmake-build-release
@@ -224,7 +224,7 @@ jobs:
224224
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* &&
225225
cd / &&
226226
yum update -y && yum install -yq epel-next-release &&
227-
yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build
227+
yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build lsb-release
228228
# build project
229229
- name: mkdir
230230
run: mkdir cmake-build-release
@@ -272,7 +272,7 @@ jobs:
272272
- uses: actions/checkout@v3
273273
# install dependencies
274274
- name: devel-pkgs
275-
run: yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build
275+
run: yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build lsb-release
276276
# build project
277277
- name: mkdir
278278
run: mkdir cmake-build-release

CMakeLists.txt

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,32 @@ project(Qldd
1414
find_package(VersionHeader)
1515
set(PROJECT_VERSION "${MAJOR}.${MINOR}.${PATCH}.${COMMITTER_SHORTSHA}")
1616

17+
function(get_linux_lsb_release_information)
18+
find_program(LSB_RELEASE_EXEC lsb_release)
19+
if(NOT LSB_RELEASE_EXEC)
20+
message(FATAL_ERROR "Could not detect lsb_release executable, can not gather required information")
21+
endif()
22+
23+
execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --id OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
24+
execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --release OUTPUT_VARIABLE LSB_RELEASE_VERSION_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
25+
execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --codename OUTPUT_VARIABLE LSB_RELEASE_CODENAME_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
26+
27+
set(LSB_RELEASE_ID_SHORT "${LSB_RELEASE_ID_SHORT}" PARENT_SCOPE)
28+
set(LSB_RELEASE_VERSION_SHORT "${LSB_RELEASE_VERSION_SHORT}" PARENT_SCOPE)
29+
set(LSB_RELEASE_CODENAME_SHORT "${LSB_RELEASE_CODENAME_SHORT}" PARENT_SCOPE)
30+
endfunction()
31+
1732
message(STATUS "COMMITTER_FULLSHA ${COMMITTER_FULLSHA}")
1833
message(STATUS "COMMITTER_SHORTSHA ${COMMITTER_SHORTSHA}")
1934
message(STATUS "COMMITTER_DATE ${COMMITTER_DATE}")
2035
message(STATUS "PROJECT_VERSION ${PROJECT_VERSION}")
36+
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
37+
get_linux_lsb_release_information()
38+
message(STATUS "OS Linux ${LSB_RELEASE_ID_SHORT} ${LSB_RELEASE_VERSION_SHORT} ${LSB_RELEASE_CODENAME_SHORT}")
39+
else()
40+
message(STATUS "OS ${CMAKE_SYSTEM_NAME}")
41+
message(STATUS "OS VERSION ${CMAKE_SYSTEM_VERSION}")
42+
endif()
2143

2244
set(CMAKE_INCLUDE_CURRENT_DIR ON)
2345

@@ -92,7 +114,7 @@ else()
92114
set(CPACK_STRIP_FILES TRUE)
93115
endif()
94116

95-
install(TARGETS Qldd RUNTIME DESTINATION bin COMPONENT application)
117+
install(TARGETS Qldd RUNTIME BUNDLE DESTINATION bin COMPONENT application)
96118
install(FILES ${CMAKE_SOURCE_DIR}/resources/qldd.desktop DESTINATION share/applications/ COMPONENT application)
97119
install(FILES ${CMAKE_SOURCE_DIR}/resources/Qldd.png DESTINATION share/pixmaps/ COMPONENT application)
98120
install(FILES ${CMAKE_SOURCE_DIR}/nemo/actions/dependency-viewer.nemo_action
@@ -134,7 +156,14 @@ set(CPACK_SOURCE_IGNORE_FILES
134156
"Makefile\\\\.in$"
135157
)
136158

137-
159+
set(PYTHON_NAUTILUS_DEB "python-nautilus")
160+
set(PYTHON_NAUTILUS_RPM "nautilus-python")
161+
if (LSB_RELEASE_ID_SHORT MATCHES "Ubuntu" AND LSB_RELEASE_CODENAME_SHORT MATCHES "jammy")
162+
set(PYTHON_NAUTILUS_DEB "python3-nautilus")
163+
endif()
164+
if (LSB_RELEASE_ID_SHORT MATCHES "Debian" AND LSB_RELEASE_CODENAME_SHORT MATCHES "bullseye")
165+
set(PYTHON_NAUTILUS_DEB "python3-nautilus")
166+
endif()
138167
set(CPACK_PACKAGE_NAME "Qldd")
139168
set(CPACK_PACKAGE_VERSION "${MAJOR}.${MINOR}.${PATCH}")
140169
set(CPACK_PACKAGE_VENDOR "community")
@@ -150,7 +179,7 @@ set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_MAINTAINER})
150179
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
151180
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${CMAKE_PROJECT_HOMEPAGE_URL})
152181
set(CPACK_DEBIAN_PACKAGE_LICENSE "Apache-2.0")
153-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "python3-nautilus, binutils, libqt5core5a, libqt5gui5, libqt5widgets5")
182+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${PYTHON_NAUTILUS_DEB}, binutils, libqt5core5a, libqt5gui5, libqt5widgets5")
154183

155184
set(CPACK_RPM_PACKAGE_NAME ${CPACK_PACKAGE_NAME})
156185
set(CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
@@ -159,7 +188,7 @@ set(CPACK_RPM_PACKAGE_MAINTAINER ${CPACK_PACKAGE_MAINTAINER})
159188
set(CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
160189
set(CPACK_RPM_PACKAGE_URL ${CMAKE_PROJECT_HOMEPAGE_URL})
161190
set(CPACK_RPM_PACKAGE_LICENSE "Apache-2.0")
162-
set(CPACK_RPM_PACKAGE_REQUIRES "python3-nautilus, binutils, qt5-qtbase")
191+
set(CPACK_RPM_PACKAGE_REQUIRES "${PYTHON_NAUTILUS_RPM}, binutils, qt5-qtbase")
163192

164193
include(CPack)
165194
cpack_add_component(application DISPLAY_NAME "DependencyViewer" REQUIRED)

0 commit comments

Comments
 (0)