Skip to content

Add MSVC2022 project files #273

Add MSVC2022 project files

Add MSVC2022 project files #273

name: Checks
on: [push, pull_request]
jobs:
unix:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
fail-fast: false
runs-on: ${{ matrix.os }}
env:
PYTHONPATH: /usr/local/lib/python2.7:/usr/local/lib/python2.7/dist-packages:/usr/local/lib/python2.7/site-packages
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Dependencies
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update
sudo apt-get install -y zlib1g-dev libxml2-dev libxslt-dev libcurl4-gnutls-dev libsqlite3-dev libjansson-dev libevent-dev libxml2-utils qtbase5-dev qtwebengine5-dev qt5-qmake xmlstarlet ffmpeg sshpass
sudo curl -L http://stahlworks.com/dev/sfk/sfk-linux-64.exe -o /usr/local/bin/sfk
sudo chmod +x /usr/local/bin/sfk
pip --disable-pip-version-check install git+https://github.com/vi/mkvparse.git
fi
if [ "$RUNNER_OS" == "macOS" ]; then
brew install libtool automake libxslt sqlite jansson libevent qt@5 sfk xmlstarlet ffmpeg
sudo pip --disable-pip-version-check install --prefix /usr/local git+https://github.com/vi/mkvparse.git
fi
- name: Get ZenLib info
id: zenlib-info
run: |
echo "::set-output name=hash::$(git ls-remote https://github.com/MediaArea/ZenLib.git HEAD | cut -f1)"
echo "::set-output name=path::$(dirname $PWD)/ZenLib"
- name: ZenLib cache
id: zenlib-cache
uses: actions/cache@v2
with:
path: ${{ steps.zenlib-info.outputs.path }}
key: ${{ runner.os }}-ZenLib-${{ steps.zenlib-info.outputs.hash }}
- name: ZenLib
if: steps.zenlib-cache.outputs.cache-hit != 'true'
run: |
git -C .. clone --depth=1 https://github.com/MediaArea/ZenLib.git
pushd ../ZenLib/Project/GNU/Library
autoreconf -if
./configure --enable-static
make
popd
- name: Get MediaInfoLib info
id: mediainfolib-info
run: |
echo "::set-output name=hash::$(git ls-remote https://github.com/MediaArea/MediaInfoLib.git HEAD | cut -f1)"
echo "::set-output name=path::$(dirname $PWD)/MediaInfoLib"
- name: MediaInfoLib cache
id: mediainfolib-cache
uses: actions/cache@v2
with:
path: ${{ steps.mediainfolib-info.outputs.path }}
key: ${{ runner.os }}-MediaInfoLib-${{ steps.mediainfolib-info.outputs.hash }}
- name: MediaInfoLib
if: steps.mediainfolib-cache.outputs.cache-hit != 'true'
run: |
git -C .. clone --depth=1 https://github.com/MediaArea/MediaInfoLib.git
pushd ../MediaInfoLib/Project/GNU/Library
autoreconf -if
./configure --enable-static
make
popd
- name: Configure
run: |
cd Project/GNU/CLI
autoreconf -if
./configure
- name: Build
run: |
cd Project/GNU/CLI
make
- name: Check files
run: |
cd Project/GNU/CLI
make clone_sample_files
- name: Check
run: |
cd Project/GNU/CLI
make check
- name: Configure GUI
run: |
cd Project/Qt
export PATH=/opt/homebrew/opt/qt@5/bin:$PATH
./prepare CONFIG+=c++11 -after QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9 QMAKE_LFLAGS-=-Wl,-ld_classic
- name: Build GUI
run: |
cd Project/Qt
export PATH=/usr/local/opt/qt/bin:$PATH
make