Skip to content

Update c-cpp.yml

Update c-cpp.yml #531

Workflow file for this run

name: Linux and macOS CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
ubuntuBuild:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: apt-update
run: sudo apt-get update -qq
- name: apt get qt
run: sudo apt-get install -y --no-install-recommends qtdeclarative5-dev libqt5svg5-dev qml-module-qtgraphicaleffects qml-module-qtquick-layouts qml-module-qtquick-dialogs qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings libqt5websockets5-dev qtmultimedia5-dev libqt5multimedia5-plugins qml-module-qtmultimedia qtquickcontrols2-5-dev libvlccore-dev libvlc-dev libmpv-dev pkg-config
- name: run qmake
run: qmake -makefile -o src/Makefile src/AniLibria.pro CONFIG+=unixvlc CONFIG+=unixmpv
- name: run make
run: make -j2 -C src
macosbuild:
runs-on: macos-12
steps:
- uses: actions/checkout@v4
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: install mpv
run: brew install mpv@0.38.0
- name: Install Qt dependencies
uses: jurplel/install-qt-action@v3.3.0
with:
version: 5.15.2
target: 'desktop'
arch: 'clang_64'
- name: run qmake
run: qmake -makefile -o src/Makefile src/AniLibria.pro
- name: run make
run: make -j4 -C src
- name: Run MacDeployQt
run: cd src && macdeployqt AniLibria.app -appstore-compliant -qmldir=.
- name: patch libraries paths
run: |
cp /usr/local/lib/libsharpyuv.0.dylib src/AniLibria.app/Contents/Frameworks/
cp /usr/local/lib/libjxl_cms.0.10.dylib src/AniLibria.app/Contents/Frameworks/
cp /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Python src/AniLibria.app/Contents/Frameworks/
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libswresample.5.dylib @executable_path/../Frameworks/libswresample.5.dylib src/AniLibria.app/Contents/Frameworks/libavcodec.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavutil.59.dylib @executable_path/../Frameworks/libavutil.59.dylib src/AniLibria.app/Contents/Frameworks/libavcodec.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libswscale.8.dylib @executable_path/../Frameworks/libswscale.8.dylib src/AniLibria.app/Contents/Frameworks/libavfilter.10.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavutil.59.dylib @executable_path/../Frameworks/libavutil.59.dylib src/AniLibria.app/Contents/Frameworks/libavfilter.10.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavcodec.61.dylib @executable_path/../Frameworks/libavcodec.61.dylib src/AniLibria.app/Contents/Frameworks/libavfilter.10.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavformat.61.dylib @executable_path/../Frameworks/libavformat.61.dylib src/AniLibria.app/Contents/Frameworks/libavfilter.10.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libpostproc.58.dylib @executable_path/../Frameworks/libpostproc.58.dylib src/AniLibria.app/Contents/Frameworks/libavfilter.10.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libswresample.5.dylib @executable_path/../Frameworks/libswresample.5.dylib src/AniLibria.app/Contents/Frameworks/libavfilter.10.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavutil.59.dylib @executable_path/../Frameworks/libavutil.59.dylib src/AniLibria.app/Contents/Frameworks/libswresample.5.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavutil.59.dylib @executable_path/../Frameworks/libavutil.59.dylib src/AniLibria.app/Contents/Frameworks/libswscale.8.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavutil.59.dylib @executable_path/../Frameworks/libavutil.59.dylib src/AniLibria.app/Contents/Frameworks/libpostproc.58.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavcodec.61.dylib @executable_path/../Frameworks/libavcodec.61.dylib src/AniLibria.app/Contents/Frameworks/libavformat.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libswresample.5.dylib @executable_path/../Frameworks/libswresample.5.dylib src/AniLibria.app/Contents/Frameworks/libavformat.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavutil.59.dylib @executable_path/../Frameworks/libavutil.59.dylib src/AniLibria.app/Contents/Frameworks/libavformat.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavfilter.10.dylib @executable_path/../Frameworks/libavfilter.10.dylib src/AniLibria.app/Contents/Frameworks/libavdevice.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libswscale.8.dylib @executable_path/../Frameworks/libswscale.8.dylib src/AniLibria.app/Contents/Frameworks/libavdevice.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libpostproc.58.dylib @executable_path/../Frameworks/libpostproc.58.dylib src/AniLibria.app/Contents/Frameworks/libavdevice.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavformat.61.dylib @executable_path/../Frameworks/libavformat.61.dylib src/AniLibria.app/Contents/Frameworks/libavdevice.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavcodec.61.dylib @executable_path/../Frameworks/libavcodec.61.dylib src/AniLibria.app/Contents/Frameworks/libavdevice.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libswresample.5.dylib @executable_path/../Frameworks/libswresample.5.dylib src/AniLibria.app/Contents/Frameworks/libavdevice.61.dylib
install_name_tool -change /usr/local/Cellar/ffmpeg/7.0_1/lib/libavutil.59.dylib @executable_path/../Frameworks/libavutil.59.dylib src/AniLibria.app/Contents/Frameworks/libavdevice.61.dylib
install_name_tool -change /usr/local/Cellar/brotli/1.1.0/lib/libbrotlicommon.1.dylib @executable_path/../Frameworks/libbrotlicommon.1.dylib src/AniLibria.app/Contents/Frameworks/libbrotlidec.1.dylib
install_name_tool -change /usr/local/Cellar/brotli/1.1.0/lib/libbrotlicommon.1.dylib @executable_path/../Frameworks/libbrotlicommon.1.dylib src/AniLibria.app/Contents/Frameworks/libbrotlienc.1.dylib
install_name_tool -change /usr/local/Cellar/brotli/1.1.0/lib/libbrotlicommon.1.dylib @executable_path/../Frameworks/ src/AniLibria.app/Contents/Frameworks/librubberband.2.dylib
install_name_tool -change /usr/local/opt/little-cms2/lib/liblcms2.2.dylib @executable_path/../Frameworks/liblcms2.2.dylib src/AniLibria.app/Contents/Frameworks/libjxl_cms.0.10.dylib
install_name_tool -change /usr/local/opt/highway/lib/libhwy.1.dylib @executable_path/../Frameworks/libhwy.1.dylib src/AniLibria.app/Contents/Frameworks/libjxl_cms.0.10.dylib
install_name_tool -change @loader_path/../../../../opt/libsamplerate/lib/libsamplerate.0.dylib @executable_path/../Frameworks/libhwy.1.dylib src/AniLibria.app/Contents/Frameworks/librubberband.2.dylib
install_name_tool -change /usr/local/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/Python @executable_path/../Frameworks/Python src/AniLibria.app/Contents/Frameworks/libvapoursynth-script.0.dylib
install_name_tool -change /usr/local/Cellar/nettle/3.9.1/lib/libnettle.8.dylib @executable_path/../Frameworks/libnettle.8.dylib src/AniLibria.app/Contents/Frameworks/libhogweed.6.dylib
install_name_tool -change /usr/local/Cellar/libxcb/1.17.0/lib/libxcb.1.dylib @executable_path/../Frameworks/libxcb.1.dylib src/AniLibria.app/Contents/Frameworks/libxcb-shm.0.dylib
install_name_tool -change /usr/local/Cellar/libxcb/1.17.0/lib/libxcb.1.dylib @executable_path/../Frameworks/libxcb.1.dylib src/AniLibria.app/Contents/Frameworks/libxcb-shape.0.dylib
install_name_tool -change /usr/local/Cellar/libxcb/1.17.0/lib/libxcb.1.dylib @executable_path/../Frameworks/libxcb.1.dylib src/AniLibria.app/Contents/Frameworks/libxcb-xfiles.0.dylib
hdiutil create -fs HFS+ -srcfolder src/AniLibria.app/ -volname AniLibria AniLibria.dmg
- uses: actions/upload-artifact@v4
with:
path: AniLibria.dmg