# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2017-05-01 11:28:41 # Node ID c074ded2449dc994721ed7e3ae0d2874234d2dac # Parent 7a38fc903af30699c4245af68a25db8518556b61 cmake command to build appimage diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -227,6 +227,8 @@ if (UNIX) endif (UNIX) # packaging +include(BuildLinuxAppImage) + if (UNIX) set(CPACK_GENERATOR "DEB") elseif (WIN32) diff --git a/cmake/modules/BuildLinuxAppImage.cmake b/cmake/modules/BuildLinuxAppImage.cmake new file mode 100644 --- /dev/null +++ b/cmake/modules/BuildLinuxAppImage.cmake @@ -0,0 +1,34 @@ +# Based on: https://github.com/mhoeher/opentodolist + +set(LINUXDEPLOYQT_URL "https://github.com/probonopd/linuxdeployqt/releases/download/1/linuxdeployqt-1-x86_64.AppImage") +set(LINUXDEPLOYQT_TOOL ${CMAKE_CURRENT_BINARY_DIR}/linuxdeployqt-1-x86_64.AppImage) + +set(APPIMAGE ${CMAKE_CURRENT_BINARY_DIR}/app/SerialPlot.AppImage) +# TODO: VERSION number +set(APPIMAGE_DIR ${CMAKE_CURRENT_BINARY_DIR}/SerialPlot-VERSION) + +add_custom_command( + OUTPUT + ${LINUXDEPLOYQT_TOOL} + COMMAND + wget ${LINUXDEPLOYQT_URL} + COMMAND + chmod a+x ${LINUXDEPLOYQT_TOOL}) + +add_custom_target( + appimage + + DEPENDS ${LINUXDEPLOYQT_TOOL} + + COMMAND + ${CMAKE_COMMAND} -E remove_directory ${APPIMAGE_DIR} + COMMAND + ${CMAKE_COMMAND} -E make_directory ${APPIMAGE_DIR} + COMMAND + ${CMAKE_COMMAND} -E copy $ ${APPIMAGE_DIR} + COMMAND + ${CMAKE_COMMAND} -E env PATH=${QT_INSTALL_PREFIX}/bin:$ENV{PATH} ${LINUXDEPLOYQT_TOOL} + ${APPIMAGE_DIR}/${PROGRAM_NAME} -appimage + -always-overwrite -bundle-non-qt-libs -verbose=2 + WORKING_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR})