Skip to content

Commit

Permalink
Merge pull request #35 from henriquecolini/master
Browse files Browse the repository at this point in the history
Fix AppImage integration issue
  • Loading branch information
Ravbug committed Aug 3, 2023
2 parents cdcbf8c + 18a4d44 commit a4e871b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ INSTALL(CODE
EXE \"${CMAKE_INSTALL_PREFIX}/$<CONFIGURATION>/${PROJECT_NAME}\"
NAME \"${PROJECT_NAME}\"
ICON \"${CMAKE_CURRENT_SOURCE_DIR}/source/wxlin.xpm\"
DIR_ICON \"${CMAKE_CURRENT_SOURCE_DIR}/source/wxlin.xpm\"
OUTPUT_NAME \"${CMAKE_INSTALL_PREFIX}/$<CONFIGURATION>/${PROJECT_NAME}.AppImage\"
ASSETS \"\"
)
Expand Down
23 changes: 13 additions & 10 deletions appimage.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
function(make_appimage)
set(optional)
set(args EXE NAME DIR_ICON ICON OUTPUT_NAME)
set(args EXE NAME ICON OUTPUT_NAME)
set(list_args ASSETS)
cmake_parse_arguments(
PARSE_ARGV 0
Expand All @@ -22,10 +22,13 @@ function(make_appimage)
execute_process(COMMAND chmod +x ${AIT_PATH})
endif()

# make the AppDir
# make the AppDir and icons directory
set(APPDIR "${CMAKE_BINARY_DIR}/AppDir")
set(RICONDIR "usr/share/icons/hicolor/512x512/apps") # relative icon dir
set(ICONDIR "${APPDIR}/${RICONDIR}")
file(REMOVE_RECURSE "${APPDIR}") # remove if leftover
file(MAKE_DIRECTORY "${APPDIR}")
file(MAKE_DIRECTORY "${ICONDIR}")

# copy executable to appdir
file(COPY "${ARGS_EXE}" DESTINATION "${APPDIR}" FOLLOW_SYMLINK_CHAIN)
Expand All @@ -42,23 +45,23 @@ cd \"$(dirname \"$0\")\";
# copy assets to appdir
file(COPY ${ARGS_ASSETS} DESTINATION "${APPDIR}")

# copy icon thumbnail
file(COPY ${ARGS_DIR_ICON} DESTINATION "${APPDIR}")
get_filename_component(THUMB_NAME "${ARGS_DIR_ICON}" NAME)
file(RENAME "${APPDIR}/${THUMB_NAME}" "${APPDIR}/.DirIcon")

# copy icon highres
file(COPY ${ARGS_ICON} DESTINATION "${APPDIR}")
# copy icon
file(COPY ${ARGS_ICON} DESTINATION "${ICONDIR}")
get_filename_component(ICON_NAME "${ARGS_ICON}" NAME)
get_filename_component(ICON_EXT "${ARGS_ICON}" EXT)
file(RENAME "${APPDIR}/${ICON_NAME}" "${APPDIR}/${ARGS_NAME}${ICON_EXT}")
file(RENAME "${ICONDIR}/${ICON_NAME}" "${ICONDIR}/${ARGS_NAME}${ICON_EXT}")

# create icon symlinks
file(CREATE_LINK "${RICONDIR}/${ARGS_NAME}${ICON_EXT}" "${APPDIR}/.DirIcon" SYMBOLIC)
file(CREATE_LINK "${RICONDIR}/${ARGS_NAME}${ICON_EXT}" "${APPDIR}/${ARGS_NAME}${ICON_EXT}" SYMBOLIC)

# Create the .desktop file
file(WRITE "${APPDIR}/${ARGS_NAME}.desktop"
"[Desktop Entry]
Type=Application
Name=${ARGS_NAME}
Icon=${ARGS_NAME}
Exec=AppRun
Categories=X-None;"
)

Expand Down

0 comments on commit a4e871b

Please sign in to comment.