Skip to content

Commit

Permalink
Add icons to Deb file
Browse files Browse the repository at this point in the history
  • Loading branch information
jmaglic committed Nov 15, 2022
1 parent 72fb738 commit 27ec3ac
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 21 deletions.
12 changes: 7 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,13 @@ set_source_files_properties(${SPACEGROUP_FILE} PROPERTIES MACOSX_PACKAGE_LOCATIO
set(OSX_RESOURCE_FILES ${OSX_ICON_FILE} ${ELEM_FILE} ${SPACEGROUP_FILE})

# Resource files for Debian package
set(DEB_COPYRIGHT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/copyright")
set(DEB_CHANGELOG_FILE "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/changelog")
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/MoloVol.desktop DEB_DESKTOP_FILE)
set(DEB_DESKTOP_FILE ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/MoloVol.desktop)
set(DEB_MAN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/molovol.1)
set(DEB_RES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/res/linux")
set(DEB_COPYRIGHT_FILE "${DEB_RES_DIR}/copyright")
set(DEB_CHANGELOG_FILE "${DEB_RES_DIR}/changelog")
file(STRINGS ${DEB_RES_DIR}/MoloVol.desktop DEB_DESKTOP_FILE)
set(DEB_DESKTOP_FILE ${DEB_RES_DIR}/MoloVol.desktop)
set(DEB_MAN_FILE ${DEB_RES_DIR}/molovol.1)
set(DEB_ICON ${DEB_RES_DIR}/molovol.png)

# RESOURCE FILES

Expand Down
23 changes: 20 additions & 3 deletions cmake/DebInstall.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ include(GNUInstallDirs)
# Compress changelog
set(DEB_CHANGELOG_COMPRESSED "${CMAKE_CURRENT_BINARY_DIR}/changelog.gz")
set(DEB_MAN_COMPRESSED "${CMAKE_CURRENT_BINARY_DIR}/molovol.1.gz")
set(HICOLOR_DIR "${CMAKE_CURRENT_BINARY_DIR}/hicolor")

add_custom_command(
OUTPUT ${DEB_CHANGELOG_COMPRESSED} ${DEB_MAN_COMPRESSED}
Expand All @@ -14,8 +15,18 @@ add_custom_command(
COMMENT "Compressing changelog and manual file"
)

add_custom_command(
OUTPUT ${HICOLOR_DIR}
COMMAND bash ${DEB_RES_DIR}/shell/resize_icon ${DEB_ICON} ./
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${DEB_ICON}
COMMENT "Resizing icon to supported sizes"
)

add_custom_target(compress ALL DEPENDS ${DEB_CHANGELOG_COMPRESSED} ${DEB_MAN_COMPRESSED})

add_custom_target(resize_icon ALL DEPENDS ${HICOLOR_DIR})

#
execute_process(COMMAND dpkg --print-architecture COMMAND tr -d '\n' OUTPUT_VARIABLE LINUX_ARCHITECTURE)

Expand All @@ -30,7 +41,13 @@ set(

# Install commands so that these files get added to the deb file
install(TARGETS ${EXE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${ELEM_FILE} ${SPACEGROUP_FILE} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${EXE_NAME})
install(FILES ${DEB_COPYRIGHT_FILE} ${DEB_CHANGELOG_COMPRESSED} DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/${EXE_NAME})
install(FILES ${DEB_DESKTOP_FILE} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
install(FILES ${ELEM_FILE} ${SPACEGROUP_FILE}
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${EXE_NAME})
install(FILES ${DEB_COPYRIGHT_FILE} ${DEB_CHANGELOG_COMPRESSED}
DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/${EXE_NAME})
install(FILES ${DEB_DESKTOP_FILE}
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
install(FILES ${DEB_MAN_COMPRESSED} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
install(FILES ${DEB_ICON} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
install(DIRECTORY ${HICOLOR_DIR} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons)

13 changes: 0 additions & 13 deletions res/linux/shell/icons.sh

This file was deleted.

15 changes: 15 additions & 0 deletions res/linux/shell/resize_icon
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!bin/sh
targeticon=$1
targetdir=$2

mkdir $targetdir/hicolor
for d in /usr/share/icons/hicolor/*/; do
d=${d::-1}
d=${d##*/}
mkdir $targetdir/hicolor/$d
mkdir $targetdir/hicolor/$d/apps
n=${d##*x}
if [[ $n =~ ^[0-9]+$ ]] ; then
convert -resize $d $targeticon $targetdir/hicolor/$d/apps/molovol.png
fi
done

0 comments on commit 27ec3ac

Please sign in to comment.