Skip to content

Commit 18a4d44

Browse files
author
Henrique Colini
committed
Fixed AppImage icons missing
1 parent e398ba0 commit 18a4d44

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ INSTALL(CODE
101101
EXE \"${CMAKE_INSTALL_PREFIX}/$<CONFIGURATION>/${PROJECT_NAME}\"
102102
NAME \"${PROJECT_NAME}\"
103103
ICON \"${CMAKE_CURRENT_SOURCE_DIR}/source/wxlin.xpm\"
104-
DIR_ICON \"${CMAKE_CURRENT_SOURCE_DIR}/source/wxlin.xpm\"
105104
OUTPUT_NAME \"${CMAKE_INSTALL_PREFIX}/$<CONFIGURATION>/${PROJECT_NAME}.AppImage\"
106105
ASSETS \"\"
107106
)

appimage.cmake

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
function(make_appimage)
22
set(optional)
3-
set(args EXE NAME DIR_ICON ICON OUTPUT_NAME)
3+
set(args EXE NAME ICON OUTPUT_NAME)
44
set(list_args ASSETS)
55
cmake_parse_arguments(
66
PARSE_ARGV 0
@@ -22,10 +22,13 @@ function(make_appimage)
2222
execute_process(COMMAND chmod +x ${AIT_PATH})
2323
endif()
2424

25-
# make the AppDir
25+
# make the AppDir and icons directory
2626
set(APPDIR "${CMAKE_BINARY_DIR}/AppDir")
27+
set(RICONDIR "usr/share/icons/hicolor/512x512/apps") # relative icon dir
28+
set(ICONDIR "${APPDIR}/${RICONDIR}")
2729
file(REMOVE_RECURSE "${APPDIR}") # remove if leftover
2830
file(MAKE_DIRECTORY "${APPDIR}")
31+
file(MAKE_DIRECTORY "${ICONDIR}")
2932

3033
# copy executable to appdir
3134
file(COPY "${ARGS_EXE}" DESTINATION "${APPDIR}" FOLLOW_SYMLINK_CHAIN)
@@ -42,16 +45,15 @@ cd \"$(dirname \"$0\")\";
4245
# copy assets to appdir
4346
file(COPY ${ARGS_ASSETS} DESTINATION "${APPDIR}")
4447

45-
# copy icon thumbnail
46-
file(COPY ${ARGS_DIR_ICON} DESTINATION "${APPDIR}")
47-
get_filename_component(THUMB_NAME "${ARGS_DIR_ICON}" NAME)
48-
file(RENAME "${APPDIR}/${THUMB_NAME}" "${APPDIR}/.DirIcon")
49-
50-
# copy icon highres
51-
file(COPY ${ARGS_ICON} DESTINATION "${APPDIR}")
48+
# copy icon
49+
file(COPY ${ARGS_ICON} DESTINATION "${ICONDIR}")
5250
get_filename_component(ICON_NAME "${ARGS_ICON}" NAME)
5351
get_filename_component(ICON_EXT "${ARGS_ICON}" EXT)
54-
file(RENAME "${APPDIR}/${ICON_NAME}" "${APPDIR}/${ARGS_NAME}${ICON_EXT}")
52+
file(RENAME "${ICONDIR}/${ICON_NAME}" "${ICONDIR}/${ARGS_NAME}${ICON_EXT}")
53+
54+
# create icon symlinks
55+
file(CREATE_LINK "${RICONDIR}/${ARGS_NAME}${ICON_EXT}" "${APPDIR}/.DirIcon" SYMBOLIC)
56+
file(CREATE_LINK "${RICONDIR}/${ARGS_NAME}${ICON_EXT}" "${APPDIR}/${ARGS_NAME}${ICON_EXT}" SYMBOLIC)
5557

5658
# Create the .desktop file
5759
file(WRITE "${APPDIR}/${ARGS_NAME}.desktop"

0 commit comments

Comments
 (0)