Skip to content

Commit cb611d2

Browse files
authored
Re-add Linux AppImage support
Re-add AppImage support; build in CI
2 parents 36cf322 + 709a611 commit cb611d2

File tree

13 files changed

+61
-11
lines changed

13 files changed

+61
-11
lines changed

.github/workflows/build.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ jobs:
3232
configure_preset_name: "linux-x64-release"
3333
build_preset_name: "linux-release"
3434
package_preset_name: "linux"
35-
artifact: ./out/build/linux-x64-release/package/*
35+
artifact: |
36+
./out/build/linux-x64-release/package/*
37+
sACNView-x86_64.AppImage
3638
3739
- os: windows-latest
3840
qt: '6.8.3'
@@ -97,6 +99,17 @@ jobs:
9799
if: matrix.package_preset_name
98100
run: cpack --preset ${{matrix.package_preset_name}}
99101

102+
- name: Install Linuxdeploy (Linux)
103+
if: runner.os == 'linux'
104+
uses: miurahr/install-linuxdeploy-action@v1.8.0
105+
with:
106+
dir: ${{ github.workspace }}
107+
plugins: qt appimage
108+
109+
- name: Build AppImage (Linux)
110+
if: runner.os == 'linux'
111+
run: install/linux/build_appimage.sh
112+
100113
- name: Upload Artifact(s)
101114
if: matrix.artifact
102115
uses: actions/upload-artifact@v4

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ ipch/
6767
#Build Output
6868
out/*
6969
build/*
70+
AppDir/*
71+
*.AppImage
7072

7173
#macos
7274
.DS_Store

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,32 @@ Once configuration is successful, you can run the build by navigating to the dir
5151

5252
cd out\build\windows-x64-release-installer
5353
cmake --build .
54+
55+
## Linux
56+
57+
Note that we use a newer version of Qt than is provided by many distributions, so recommend using the Qt installer tool to install a recent LTS version.
58+
59+
Set an environment variable, QT_ROOT_DIR, pointing to the root directory of your Qt installation, including the version and compiler parts, for example:
60+
61+
export QT_ROOT_DIR=~/Qt/6.8.3/gcc_64
62+
63+
Configure the application for the appropriate target using a CMake preset, e.g:
64+
65+
cmake --preset "linux-x64-release"
66+
67+
Once configuration is successful, you can run the build by navigating to the directory in the out folder and running
68+
69+
cd out\build\linux-x64-release
70+
cmake --build .
71+
72+
The build can be packaged as either an AppImage or a DEB package:
73+
74+
### AppImage
75+
76+
To build an AppImage, you will need the linuxdeploy utility, which is itself an appimage. Obtain it and locate it in your path.
77+
78+
Then from the root of the repository run the script `install/linux/build_appimage.sh`. This will run the build and then use the linuxdeploy tool to build the AppImage.
79+
80+
### Debian Package (DEB)
81+
82+
To build a DEB package, run the command `cpack --package "linux"`. This will generate the deb package under the output directory.

install/linux/build_appimage.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
# Generate the Appimage
3+
4+
# Need qmake in path
5+
export PATH=$QT_ROOT_DIR/bin:$PATH
6+
cmake --build --preset "linux-release" --target install
7+
8+
linuxdeploy-x86_64.AppImage --appdir AppDir \
9+
--executable out/install/linux-x64-release/bin/sACNView \
10+
--desktop-file install/linux/sacnview.desktop \
11+
--icon-file install/linux/sacnview.png \
12+
--plugin qt \
13+
--output appimage

install/linux/opt/sacnview/.placeholder

Lines changed: 0 additions & 1 deletion
This file was deleted.

install/linux/usr/share/applications/sacnview.desktop renamed to install/linux/sacnview.desktop

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[Desktop Entry]
2-
Type=Application
3-
Name=sACNView 2
4-
Exec=/opt/sacnview/sACNView2.AppImage
2+
Name=sACNView
3+
Exec=sACNView
54
Icon=sacnview
5+
Type=Application
66
Comment=Streaming ACN Viewer mark2
77
Categories=Network;
88
Terminal=false

install/linux/sacnview.png

2.56 KB
Loading

install/linux/usr/share/icons/hicolor/16x16/apps/.placeholder

Lines changed: 0 additions & 1 deletion
This file was deleted.

install/linux/usr/share/icons/hicolor/24x24/apps/.placeholder

Lines changed: 0 additions & 1 deletion
This file was deleted.

install/linux/usr/share/icons/hicolor/256x256/apps/.placeholder

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)