LinuxCapture: Add mutex around AVC calls #258
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: dvrescue-gui | |
on: [push, pull_request] | |
jobs: | |
build-macos-brew: | |
strategy: | |
matrix: | |
compiler: ['clang-9'] | |
include: | |
- compiler: clang-9 | |
packages: llvm@13 | |
env: { 'CC': 'clang', 'CXX': 'clang++' } | |
runs-on: macos-latest | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Install dependencies | |
run: | | |
brew install ${{ matrix.packages }} pkg-config ffmpeg | |
- name: Install qwt-qt5 | |
run: | | |
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/56cd02e96876d1fb5b9ae951d605585fe8d614de/Formula/qwt.rb | |
brew install ./qwt.rb | |
- name: Set Qt5 environment path | |
run: | | |
echo "/usr/local/opt/qt@5/bin" >> $GITHUB_PATH | |
- name: Build dvrescue-gui | |
env: | |
USE_BREW: true | |
run: | | |
cd Source/GUI/dvrescue/ | |
mkdir build | |
cd build | |
qmake .. | |
make CC=$CC CXX=$CXX -j4 | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/build | |
ls | |
ls ./dvrescue | |
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH | |
open ./dvrescue/dvrescue.app | |
build-macos-brew-Qt6: | |
strategy: | |
matrix: | |
compiler: ['clang-9'] | |
include: | |
- compiler: clang-9 | |
packages: llvm@13 | |
env: { 'CC': 'clang-9', 'CXX': 'clang++-9', 'HOMEBREW_NO_INSTALL_CLEANUP': '1', 'HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK': '1' } | |
- qt_version: "6.3.0" | |
qt_modules: "qtmultimedia" | |
runs-on: macos-latest | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Install dependencies | |
run: | | |
brew install ${{ matrix.packages }} pkg-config ffmpeg | |
- name: Install Qt6 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
modules: ${{ matrix.qt_modules }} | |
- name: Install qwt | |
run: | | |
brew install --ignore-dependencies qwt | |
- name: Set Qt6 environment path | |
run: | | |
echo "/usr/local/opt/qt6/bin" >> $GITHUB_PATH | |
- name: Build dvrescue-gui | |
env: | |
USE_BREW: true | |
run: | | |
cd Source/GUI/dvrescue/ | |
mkdir build | |
cd build | |
qmake .. | |
make -j4 | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/build | |
ls | |
ls ./dvrescue | |
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH | |
open ./dvrescue/dvrescue.app | |
build-macos-no-brew: | |
strategy: | |
matrix: | |
compiler: ['clang-9'] | |
include: | |
- compiler: clang-9 | |
packages: llvm@13 | |
env: { 'CC': 'clang', 'CXX': 'clang++' } | |
runs-on: macos-latest | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Install dependencies | |
run: | | |
brew install ${{ matrix.packages }} nasm qt@5 | |
- name: Set Qt5 environment path | |
run: | | |
echo "/usr/local/opt/qt@5/bin" >> $GITHUB_PATH | |
- name: Build qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
cd ../qwt | |
qmake -r | |
make -j4 | |
- name: Build FFmpeg | |
run: | | |
git clone --depth 1 --branch n5.1 https://github.com/FFmpeg/FFmpeg ../ffmpeg | |
cd ../ffmpeg | |
./configure --enable-gpl \ | |
--enable-static \ | |
--disable-shared \ | |
--disable-autodetect \ | |
--disable-securetransport \ | |
--disable-videotoolbox \ | |
--disable-doc \ | |
--disable-ffplay \ | |
--disable-ffprobe \ | |
--disable-debug | |
make -j12 | |
- name: Build dvrescue-gui | |
env: | |
USE_BREW: false | |
run: | | |
cd Source/GUI/dvrescue/ | |
mkdir build | |
cd build | |
qmake .. | |
make CC=$CC CXX=$CXX -j4 | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/build | |
ls | |
ls ./dvrescue | |
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH | |
open ./dvrescue/dvrescue.app | |
build-macos-no-brew-Qt6: | |
strategy: | |
matrix: | |
compiler: ['clang-9'] | |
include: | |
- compiler: clang-9 | |
packages: llvm@13 | |
env: { 'CC': 'clang-9', 'CXX': 'clang++-9', 'HOMEBREW_NO_INSTALL_CLEANUP': '1', 'HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK': '1' } | |
- qt_version: "6.3.0" | |
qt_modules: "qtmultimedia" | |
runs-on: macos-latest | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Install dependencies | |
run: | | |
brew install ${{ matrix.packages }} nasm | |
- name: Install Qt6 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
modules: ${{ matrix.qt_modules }} | |
- name: Set Qt6 environment path | |
run: | | |
echo "/usr/local/opt/qt6/bin" >> $GITHUB_PATH | |
- name: Build qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
cd ../qwt | |
qmake -r | |
make -j4 | |
- name: Build FFmpeg | |
run: | | |
git clone --depth 1 --branch n5.1 https://github.com/FFmpeg/FFmpeg ../ffmpeg | |
cd ../ffmpeg | |
./configure --enable-gpl \ | |
--enable-static \ | |
--disable-shared \ | |
--disable-autodetect \ | |
--disable-securetransport \ | |
--disable-videotoolbox \ | |
--disable-doc \ | |
--disable-ffplay \ | |
--disable-ffprobe \ | |
--disable-debug | |
make -j12 | |
- name: Build dvrescue-gui | |
env: | |
USE_BREW: false | |
run: | | |
cd Source/GUI/dvrescue/ | |
mkdir build | |
cd build | |
qmake .. | |
make -j4 | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/build | |
ls | |
ls ./dvrescue | |
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH | |
open ./dvrescue/dvrescue.app | |
build-linux: | |
strategy: | |
matrix: | |
compiler: ['gcc-9'] | |
include: | |
- compiler: gcc-9 | |
packages: gcc-9 g++-9 | |
env: { 'CC': 'gcc-9', 'CXX': 'g++-9' } | |
- qt_version: "5.15.2" | |
qt_packages: "libxkbcommon-dev libgstreamer-plugins-base1.0-0 libgstreamer-gl1.0-0" | |
runs-on: ubuntu-latest | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Install Python 3.7 version | |
uses: actions/setup-python@v1 | |
with: | |
python-version: '3.7' | |
architecture: 'x64' | |
- name: Install compiler and FFmpeg dependencies | |
run: | | |
sudo apt-get update && | |
sudo apt-get install -y ${{ matrix.packages }} \ | |
libunwind-dev \ | |
libavcodec-dev \ | |
libavformat-dev \ | |
libavdevice-dev \ | |
libegl1-mesa-dev \ | |
libglew-dev \ | |
libxv-dev \ | |
libraw1394-dev \ | |
libavc1394-dev \ | |
libiec61883-dev | |
- name: Install Qt 5.15 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
- name: Cleanup | |
run: | | |
sudo apt-get clean -y | |
sudo rm -rf /var/lib/apt/lists/* | |
- name: Build qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
cd ../qwt | |
qmake -r | |
make -j4 | |
- name: Build dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
qmake | |
make -j4 | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
ls | |
ls ./dvrescue | |
./dvrescue/dvrescue --platform minimal 2>&1 & | |
sleep 2 | |
pidof dvrescue | |
build-linux-Qt6: | |
strategy: | |
matrix: | |
compiler: ['gcc-9'] | |
include: | |
- compiler: gcc-9 | |
packages: gcc-9 g++-9 | |
env: { 'CC': 'gcc-9', 'CXX': 'g++-9' } | |
- qt_version: "6.5.0" | |
qt_modules: "qtmultimedia qt5compat qtshadertools" | |
qt_packages: "libxkbcommon-dev libgstreamer-plugins-base1.0-0 libgstreamer-gl1.0-0" | |
runs-on: ubuntu-latest | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Install Python 3.7 version | |
uses: actions/setup-python@v1 | |
with: | |
python-version: '3.7' | |
architecture: 'x64' | |
- name: Install compiler and FFmpeg dependencies | |
run: | | |
sudo apt-get update && | |
sudo apt-get install -y ${{ matrix.packages }} \ | |
libunwind-dev \ | |
libgstreamer-plugins-base1.0-dev \ | |
libavcodec-dev \ | |
libavformat-dev \ | |
libavdevice-dev \ | |
libegl1-mesa-dev \ | |
libglew-dev \ | |
libxkbcommon-dev \ | |
libxv-dev | |
- name: Install Qt 6 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
modules: ${{ matrix.qt_modules }} | |
- name: Cleanup | |
run: | | |
sudo apt-get clean -y | |
sudo rm -rf /var/lib/apt/lists/* | |
- name: Build qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
cd ../qwt | |
qmake -r | |
make -j4 | |
- name: Build dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
qmake | |
make -j4 | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
ls | |
ls ./dvrescue | |
./dvrescue/dvrescue --platform minimal 2>&1 & | |
sleep 2 | |
pidof dvrescue | |
build-windows-mingw: | |
strategy: | |
matrix: | |
qt_version: ["5.15.2"] | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Build and install zlib | |
shell: cmd | |
run: | | |
git clone --depth 1 https://github.com/madler/zlib ../zlib-dev | |
cd ../zlib-dev | |
mkdir build | |
cd build | |
cmake -G "Unix Makefiles" ^ | |
-DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\..\zlib" ^ | |
-DBUILD_SHARED_LIBS=0 ^ | |
-DCMAKE_BUILD_TYPE=Release ^ | |
.. | |
make install | |
- name: Install Qt 5.15 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
arch: win64_mingw81 | |
version: ${{ matrix.qt_version }} | |
- name: Install FFmpeg | |
shell: pwsh | |
run: | | |
Set-Location .. | |
$json = $(curl -L -H "Accept: application/vnd.github+json" https://api.github.com/repos/BtbN/FFmpeg-Builds/releases/latest) | |
$ffmpeg_name = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).name | sub("\\.zip$";"")') | |
$ffmpeg_url = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).browser_download_url') | |
Invoke-WebRequest -Uri "$ffmpeg_url" -OutFile "$ffmpeg_name.zip" | |
Expand-Archive -Path "$ffmpeg_name.zip" -DestinationPath . | |
Rename-Item -Path "$ffmpeg_name" -NewName "ffmpeg" | |
- name: Download and configure qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
copy .github\workflows\qwtconfig.pri ..\qwt | |
cd ../qwt | |
qmake -r | |
- name: Build qwt | |
shell: cmd | |
run: | | |
cd ../qwt | |
mingw32-make -j4 | |
- name: Configure dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
qmake | |
# - name: Start SSH session | |
# uses: luchihoratiu/debug-via-ssh@main | |
# with: | |
# NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }} | |
# SSH_PASS: ${{ secrets.SSH_PASS }} | |
- name: Build dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
mingw32-make | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
ls | |
ls ./dvrescue | |
./dvrescue/release/dvrescue | |
build-windows-mingw-Qt6: | |
strategy: | |
matrix: | |
include: | |
- qt_version: "6.3.0" | |
qt_modules: "qtmultimedia qt5compat" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Build and install zlib | |
shell: cmd | |
run: | | |
git clone --depth 1 https://github.com/madler/zlib ../zlib-dev | |
cd ../zlib-dev | |
mkdir build | |
cd build | |
cmake -G "Unix Makefiles" ^ | |
-DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\..\zlib" ^ | |
-DBUILD_SHARED_LIBS=0 ^ | |
-DCMAKE_BUILD_TYPE=Release ^ | |
.. | |
make install | |
- name: Install Qt 6 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
arch: win64_mingw | |
version: ${{ matrix.qt_version }} | |
modules: ${{ matrix.qt_modules }} | |
- name: Install FFmpeg | |
shell: pwsh | |
run: | | |
Set-Location .. | |
$json = $(curl -L -H "Accept: application/vnd.github+json" https://api.github.com/repos/BtbN/FFmpeg-Builds/releases/latest) | |
$ffmpeg_name = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).name | sub("\\.zip$";"")') | |
$ffmpeg_url = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).browser_download_url') | |
Invoke-WebRequest -Uri "$ffmpeg_url" -OutFile "$ffmpeg_name.zip" | |
Expand-Archive -Path "$ffmpeg_name.zip" -DestinationPath . | |
Rename-Item -Path "$ffmpeg_name" -NewName "ffmpeg" | |
- name: Download and configure qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
copy .github\workflows\qwtconfig.pri ..\qwt | |
cd ../qwt | |
qmake -r | |
- name: Build qwt | |
shell: cmd | |
run: | | |
cd ../qwt | |
mingw32-make -j4 | |
- name: Configure dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
qmake | |
# - name: Start SSH session | |
# uses: luchihoratiu/debug-via-ssh@main | |
# with: | |
# NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }} | |
# SSH_PASS: ${{ secrets.SSH_PASS }} | |
- name: Build dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
mingw32-make | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
ls | |
ls ./dvrescue | |
./dvrescue/release/dvrescue | |
build-windows-vs: | |
strategy: | |
matrix: | |
qt_version: ["5.15.2"] | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Init vs environment | |
uses: egor-tensin/vs-shell@v2 | |
with: | |
arch: x64 | |
- name: Build and install zlib | |
shell: cmd | |
run: | | |
git clone --depth 1 https://github.com/madler/zlib ../zlib-dev | |
cd ../zlib-dev | |
mkdir build | |
cd build | |
cmake -G "NMake Makefiles" ^ | |
-DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\..\zlib" ^ | |
-DBUILD_SHARED_LIBS=0 ^ | |
-DCMAKE_BUILD_TYPE=Release ^ | |
.. | |
nmake install | |
- name: Install Qt 5.15 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
- name: Install FFmpeg | |
shell: pwsh | |
run: | | |
Set-Location .. | |
$json = $(curl -L -H "Accept: application/vnd.github+json" https://api.github.com/repos/BtbN/FFmpeg-Builds/releases/latest) | |
$ffmpeg_name = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).name | sub("\\.zip$";"")') | |
$ffmpeg_url = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).browser_download_url') | |
Invoke-WebRequest -Uri "$ffmpeg_url" -OutFile "$ffmpeg_name.zip" | |
Expand-Archive -Path "$ffmpeg_name.zip" -DestinationPath . | |
Rename-Item -Path "$ffmpeg_name" -NewName "ffmpeg" | |
- name: Download and configure qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
copy .github\workflows\qwtconfig.pri ..\qwt | |
cd ../qwt | |
qmake -r | |
- name: Build qwt | |
shell: cmd | |
run: | | |
cd ../qwt | |
nmake | |
- name: Configure dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
qmake | |
- name: Build dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
nmake | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
ls | |
ls ./dvrescue | |
./dvrescue/release/dvrescue | |
build-windows-vs-Qt6: | |
strategy: | |
matrix: | |
include: | |
- qt_version: "6.3.0" | |
qt_modules: "qtmultimedia qt5compat" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch: 1 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
GIT_PATH=https://github.com/.extraheader | |
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)" | |
git submodule sync --recursive | |
git -c "http.extraheader=$AUTH_HEADER" \ | |
-c protocol.version=2 \ | |
submodule update --init --force --recursive --depth=1 | |
- name: Init vs environment | |
uses: egor-tensin/vs-shell@v2 | |
with: | |
arch: x64 | |
- name: Build and install zlib | |
shell: cmd | |
run: | | |
git clone --depth 1 https://github.com/madler/zlib ../zlib-dev | |
cd ../zlib-dev | |
mkdir build | |
cd build | |
cmake -G "NMake Makefiles" ^ | |
-DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\..\zlib" ^ | |
-DBUILD_SHARED_LIBS=0 ^ | |
-DCMAKE_BUILD_TYPE=Release ^ | |
.. | |
nmake install | |
- name: Install Qt 6 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
arch: win64_msvc2019_64 | |
version: ${{ matrix.qt_version }} | |
modules: ${{ matrix.qt_modules }} | |
- name: Install FFmpeg | |
shell: pwsh | |
run: | | |
Set-Location .. | |
$json = $(curl -L -H "Accept: application/vnd.github+json" https://api.github.com/repos/BtbN/FFmpeg-Builds/releases/latest) | |
$ffmpeg_name = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).name | sub("\\.zip$";"")') | |
$ffmpeg_url = $($json | jq -r '.assets[] | select(.name | endswith("-gpl-shared-6.1.zip")).browser_download_url') | |
Invoke-WebRequest -Uri "$ffmpeg_url" -OutFile "$ffmpeg_name.zip" | |
Expand-Archive -Path "$ffmpeg_name.zip" -DestinationPath . | |
Rename-Item -Path "$ffmpeg_name" -NewName "ffmpeg" | |
- name: Download and configure qwt | |
run: | | |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt | |
copy .github\workflows\qwtconfig.pri ..\qwt | |
cd ../qwt | |
qmake -r | |
- name: Build qwt | |
shell: cmd | |
run: | | |
cd ../qwt | |
nmake | |
- name: Configure dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
qmake | |
- name: Build dvrescue-gui | |
shell: cmd | |
run: | | |
cd Source/GUI/dvrescue/ | |
nmake | |
- name: Launch dvrescue-gui | |
run: | | |
cd Source/GUI/dvrescue/ | |
ls | |
ls ./dvrescue | |
./dvrescue/release/dvrescue |