changeset 124:4c812fdf82a6

linux: add material for creating appimages, upload artifacts after CI build
author Paper <mrpapersonic@gmail.com>
date Thu, 09 Nov 2023 00:57:05 -0500
parents a45edd073f9e
children 4067388485c1
files .builds/linux.yml CMakeLists.txt rc/favicon256.png rc/linux/Minori.desktop.in
diffstat 4 files changed, 43 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/.builds/linux.yml	Wed Nov 08 21:40:02 2023 -0500
+++ b/.builds/linux.yml	Thu Nov 09 00:57:05 2023 -0500
@@ -14,9 +14,15 @@
       cd minori
       mkdir build
       cd build
-      cmake .. -G "Unix Makefiles"
+      cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
       make
+
+      wget -O linuxdeploy "https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20231026-1/linuxdeploy-x86_64.AppImage"
+      chmod +x linuxdeploy
+      ./linuxdeploy --appdir Minori --executable minori -l libanimia.so -l libanitomy.so -l libpugixml.so.1.13 -d rc/Minori.desktop -i rc/Minori.png --output appimage
+artifacts:
+  - minori/build/Minori-x86_64.AppImage
 triggers:
   - action: email
     condition: failure
-    to: Paper <mrpapersonic@gmail.com>
\ No newline at end of file
+    to: Paper <mrpapersonic@gmail.com>
--- a/CMakeLists.txt	Wed Nov 08 21:40:02 2023 -0500
+++ b/CMakeLists.txt	Thu Nov 09 00:57:05 2023 -0500
@@ -177,6 +177,17 @@
 		rc/win32/resource.rc
 		${CMAKE_CURRENT_BINARY_DIR}/rc/version.rc
 	)
+elseif(LINUX)
+	configure_file(
+		${CMAKE_CURRENT_SOURCE_DIR}/rc/linux/Minori.desktop.in
+		${CMAKE_CURRENT_BINARY_DIR}/rc/Minori.desktop
+		@ONLY
+	)
+	configure_file(
+		${CMAKE_CURRENT_SOURCE_DIR}/rc/favicon256.png
+		${CMAKE_CURRENT_BINARY_DIR}/rc/Minori.png
+		COPYONLY
+	)
 endif()
 
 add_executable(minori WIN32 MACOSX_BUNDLE ${SRC_FILES})
Binary file rc/favicon256.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc/linux/Minori.desktop.in	Thu Nov 09 00:57:05 2023 -0500
@@ -0,0 +1,24 @@
+[Desktop Entry]
+
+# The type as listed above
+Type=Application
+
+# The version of the desktop entry specification to which this file complies
+Version=1.4
+
+# The name of the application
+Name=Minori
+
+# A comment which can/will be used as a tooltip
+Comment=@RC_INFO_STRING@
+
+# Executable name
+Exec=minori
+
+# Favicon
+Icon=Minori
+
+# Describes whether this application needs to be run in a terminal or not
+Terminal=false
+
+Categories=Utility;Qt;
\ No newline at end of file