11function (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,23 +45,23 @@ 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"
5860 "[Desktop Entry]
5961Type=Application
6062Name=${ARGS_NAME}
6163Icon=${ARGS_NAME}
64+ Exec=AppRun
6265Categories=X-None;"
6366 )
6467
0 commit comments