Compare commits
4 Commits
1.2.0
...
45caf28760
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45caf28760 | ||
|
|
f157648d1e | ||
|
|
d4baaeccfc | ||
|
|
d412b66c6e |
98
.github/workflows/appimage.yml
vendored
Normal file
98
.github/workflows/appimage.yml
vendored
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
name: "ci"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags: "**"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
appimage:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-bionic
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -y \
|
||||||
|
build-essential make wget libgl1-mesa-dev \
|
||||||
|
qt515declarative qt515graphicaleffects \
|
||||||
|
qt515quickcontrols qt515quickcontrols2
|
||||||
|
|
||||||
|
- name: Download QT appimage builder
|
||||||
|
run: |
|
||||||
|
wget -c -O linuxdeployqt.AppImage \
|
||||||
|
https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
|
||||||
|
chmod a+x linuxdeployqt.AppImage
|
||||||
|
|
||||||
|
- name: Build project
|
||||||
|
run: |
|
||||||
|
source /opt/qt*/bin/qt*-env.sh && \
|
||||||
|
qmake -v && \
|
||||||
|
qmake CONFIG+=release PREFIX=/usr && \
|
||||||
|
make -j$(nproc)
|
||||||
|
|
||||||
|
- name: Install to appdir
|
||||||
|
run: |
|
||||||
|
source /opt/qt*/bin/qt*-env.sh && \
|
||||||
|
make INSTALL_ROOT=appdir -j$(nproc) install
|
||||||
|
|
||||||
|
- name: Extract version number
|
||||||
|
run: |
|
||||||
|
# Extract version for linuxdeployqt to name the file. Use the tag as
|
||||||
|
# release name but remove prefix.
|
||||||
|
echo "VERSION=$(echo '${{ github.ref }}' | sed 's;.*/;;')" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build appimage directory
|
||||||
|
run: |
|
||||||
|
mkdir -p \
|
||||||
|
appdir/usr/bin \
|
||||||
|
appdir/usr/lib \
|
||||||
|
appdir/usr/share/applications \
|
||||||
|
appdir/usr/share/metainfo \
|
||||||
|
appdir/usr/share/icons/hicolor/128x128/apps
|
||||||
|
|
||||||
|
cp cool-retro-term appdir/usr/bin/
|
||||||
|
cp cool-retro-term.desktop appdir/usr/share/applications/
|
||||||
|
cp packaging/appdata/cool-retro-term.appdata.xml appdir/usr/share/metainfo/
|
||||||
|
cp app/icons/128x128/cool-retro-term.png appdir/usr/share/icons/hicolor/128x128/apps/
|
||||||
|
cp -r ./app/qml appdir/usr/
|
||||||
|
# Workaround for https://github.com/probonopd/linuxdeployqt/issues/78
|
||||||
|
cp -r ./qmltermwidget/QMLTermWidget appdir/usr/qml/
|
||||||
|
|
||||||
|
find appdir | sort
|
||||||
|
|
||||||
|
- name: Build appimage
|
||||||
|
run: |
|
||||||
|
source /opt/qt*/bin/qt*-env.sh && \
|
||||||
|
./linuxdeployqt.AppImage appdir/usr/share/applications/cool-retro-term.desktop \
|
||||||
|
-verbose=1 -appimage \
|
||||||
|
-qmldir=./app/qml/ \
|
||||||
|
-qmldir=./qmltermwidget/
|
||||||
|
env:
|
||||||
|
# Unset environment variables
|
||||||
|
QTDIR:
|
||||||
|
QT_PLUGIN_PATH:
|
||||||
|
LD_LIBRARY_PATH:
|
||||||
|
|
||||||
|
- name: Upload release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
body: appimage release
|
||||||
|
files: ./**/Cool_Retro_Term-*-x86_64.AppImage
|
||||||
|
|
||||||
|
- name: Clean up
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
|
||||||
|
make clean
|
||||||
|
rm -rf appdir
|
||||||
18
app/app.pro
18
app/app.pro
@@ -16,23 +16,29 @@ macx:ICON = icons/crt.icns
|
|||||||
RESOURCES += qml/resources.qrc
|
RESOURCES += qml/resources.qrc
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
## INTALLS
|
## INSTALLS
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
target.path += /usr/bin/
|
PREFIX = $$(PREFIX) # Pass the make install PREFIX via environment variable. E.g. "PREFIX=/path/to/my/dir qmake".
|
||||||
|
isEmpty(PREFIX) {
|
||||||
|
message(No prefix given. Using /usr.)
|
||||||
|
PREFIX=/usr
|
||||||
|
}
|
||||||
|
|
||||||
|
target.path = $$PREFIX/bin
|
||||||
|
|
||||||
INSTALLS += target
|
INSTALLS += target
|
||||||
|
|
||||||
# Install icons
|
# Install icons
|
||||||
unix {
|
unix {
|
||||||
icon32.files = icons/32x32/cool-retro-term.png
|
icon32.files = icons/32x32/cool-retro-term.png
|
||||||
icon32.path = /usr/share/icons/hicolor/32x32/apps
|
icon32.path = $$PREFIX/share/icons/hicolor/32x32/apps
|
||||||
icon64.files = icons/64x64/cool-retro-term.png
|
icon64.files = icons/64x64/cool-retro-term.png
|
||||||
icon64.path = /usr/share/icons/hicolor/64x64/apps
|
icon64.path = $$PREFIX/share/icons/hicolor/64x64/apps
|
||||||
icon128.files = icons/128x128/cool-retro-term.png
|
icon128.files = icons/128x128/cool-retro-term.png
|
||||||
icon128.path = /usr/share/icons/hicolor/128x128/apps
|
icon128.path = $$PREFIX/share/icons/hicolor/128x128/apps
|
||||||
icon256.files = icons/256x256/cool-retro-term.png
|
icon256.files = icons/256x256/cool-retro-term.png
|
||||||
icon256.path = /usr/share/icons/hicolor/256x256/apps
|
icon256.path = $$PREFIX/share/icons/hicolor/256x256/apps
|
||||||
|
|
||||||
INSTALLS += icon32 icon64 icon128 icon256
|
INSTALLS += icon32 icon64 icon128 icon256
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,17 @@ CONFIG += ordered
|
|||||||
SUBDIRS += qmltermwidget
|
SUBDIRS += qmltermwidget
|
||||||
SUBDIRS += app
|
SUBDIRS += app
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
## INSTALLS
|
||||||
|
#########################################
|
||||||
|
|
||||||
|
PREFIX = $$(PREFIX) # Pass the make install PREFIX via environment variable. E.g. "PREFIX=/path/to/my/dir qmake".
|
||||||
|
isEmpty(PREFIX) {
|
||||||
|
message(No prefix given. Using /usr.)
|
||||||
|
PREFIX=/usr
|
||||||
|
}
|
||||||
|
|
||||||
desktop.files += cool-retro-term.desktop
|
desktop.files += cool-retro-term.desktop
|
||||||
desktop.path += /usr/share/applications
|
desktop.path += $$PREFIX/share/applications
|
||||||
|
|
||||||
INSTALLS += desktop
|
INSTALLS += desktop
|
||||||
|
|||||||
Reference in New Issue
Block a user