mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-01-01 11:07:36 +01:00
106 lines
3.4 KiB
YAML
106 lines
3.4 KiB
YAML
name: LinuxInstall
|
|
|
|
on:
|
|
create:
|
|
tags:
|
|
- 'v*'
|
|
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build_ubuntu:
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libxcb-cursor0
|
|
sudo apt-get install -y libspeechd2
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: pdf4qt
|
|
|
|
- name: Set up GCC
|
|
uses: egor-tensin/setup-gcc@v1
|
|
with:
|
|
version: 11
|
|
platform: x64
|
|
|
|
- name: 'VCPKG: Set up VCPKG'
|
|
run: |
|
|
git clone --depth=1 https://github.com/microsoft/vcpkg.git
|
|
cd vcpkg
|
|
./bootstrap-vcpkg.sh
|
|
./vcpkg integrate install
|
|
|
|
- name: 'VCPKG: Cache vcpkg dependencies'
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
./vcpkg/downloads
|
|
./vcpkg/packages
|
|
key: ${{ runner.os }}-vcpkg-v2-${{ hashFiles('**/vcpkg.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-vcpkg-v2-
|
|
|
|
- name: 'VCPKG: Install project dependencies'
|
|
run: |
|
|
./vcpkg install tbb openssl lcms zlib openjpeg freetype ijg-libjpeg libpng blend2d
|
|
working-directory: vcpkg
|
|
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v3
|
|
with:
|
|
version: '6.6.0'
|
|
host: 'linux'
|
|
target: 'desktop'
|
|
dir: '${{ github.workspace }}/qt/'
|
|
install-deps: 'true'
|
|
modules: 'qtspeech qtmultimedia'
|
|
cache: 'true'
|
|
cache-key-prefix: ${{ runner.os }}-qt-660
|
|
|
|
- name: Build project
|
|
working-directory: pdf4qt
|
|
run: |
|
|
cmake -B build -S . -DPDF4QT_INSTALL_QT_DEPENDENCIES=0 -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DVCPKG_OVERLAY_PORTS=vcpkg/overlays -DPDF4QT_INSTALL_TO_USR=ON
|
|
cmake --build build -j6
|
|
cmake --install build
|
|
cp -rp build/install build/install_appimage
|
|
|
|
- name: 'Linux Deploy Qt'
|
|
working-directory: pdf4qt/build
|
|
run: |
|
|
wget -O deploy.AppImage https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
|
|
chmod +x deploy.AppImage
|
|
./deploy.AppImage install/usr/share/applications/io.github.JakubMelka.Pdf4qt.desktop -executable-dir=install/usr/bin -extra-plugins=iconengines,imageformats,texttospeech
|
|
|
|
- name: Make DEB package
|
|
working-directory: pdf4qt/build
|
|
run: |
|
|
sh make-package.sh
|
|
|
|
- name: Upload DEB package
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ubuntu-deb-package
|
|
path: ./pdf4qt/build/*.deb
|
|
retention-days: 30
|
|
|
|
- name: 'Make AppImage'
|
|
working-directory: pdf4qt/build
|
|
run: |
|
|
cp install_appimage/usr/share/icons/hicolor/scalable/apps/io.github.JakubMelka.Pdf4qt.svg install_appimage/io.github.JakubMelka.Pdf4qt.svg
|
|
./deploy.AppImage install_appimage/usr/share/applications/io.github.JakubMelka.Pdf4qt.desktop -appimage -executable-dir=install_appimage/usr/bin -always-overwrite -extra-plugins=iconengines,imageformats,texttospeech
|
|
|
|
- name: Upload AppImage package
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ubuntu-appimage
|
|
path: ./pdf4qt/build/*.AppImage
|
|
retention-days: 30
|
|
|