Skip to content

Fix MSVC version

Fix MSVC version #149

Workflow file for this run

name: Build
on:
push:
paths-ignore:
- "**/**.md"
pull_request:
branches:
- master
paths-ignore:
- "**/**.md"
workflow_dispatch:
defaults:
run:
shell: bash
permissions:
actions: none
checks: none
contents: write
deployments: none
issues: none
packages: read
pull-requests: none
repository-projects: none
security-events: none
statuses: read
env:
VCPKG_COMMITTISH: 962e5e39f8a25f42522f51fffc574e05a3efd26b
jobs:
build_windows:
name: Windows
runs-on: windows-2022
strategy:
fail-fast: false
env:
CMAKE_BUILD_TYPE: Release
CMAKE_GENERATOR: Visual Studio 17 2022
VCPKG_TRIPLET: custom-triplet
steps:
- name: Checkout Git repository
uses: actions/checkout@v3
with:
submodules: true
- name: Setup vcpkg
uses: friendlyanon/setup-vcpkg@v1
with:
committish: ${{env.VCPKG_COMMITTISH}}
- name: Setup Overlays
uses: actions/checkout@v3
with:
repository: complexlogic/vcpkg
ref: refs/heads/rsgain
path: build/overlays
- name: Configure
run: cmake -S . -B build
-G "${{env.CMAKE_GENERATOR}}" -T version=14.36
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_OVERLAY_PORTS=build/overlays/ports
-DVCPKG_OVERLAY_TRIPLETS=config/vcpkg_triplets
-DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TRIPLET}}
- name: Build
run: |
cmake \
--build build \
--target package \
--config ${{ env.CMAKE_BUILD_TYPE }}
build/${{env.CMAKE_BUILD_TYPE}}/rsgain.exe -v
- name: Upload Package
uses: actions/upload-artifact@v3
with:
name: Windows build
path: build/*.zip
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: build/*.zip
build_linux:
name: Linux
runs-on: ubuntu-latest
permissions:
packages: write
strategy:
fail-fast: false
matrix:
config:
- name: Debian
docker_image: debian:bookworm
package_type: DEB
package_ext: .deb
- name: Fedora
docker_image: fedora:38
package_type: RPM
package_ext: .rpm
container:
image: ${{matrix.config.docker_image}}
env:
CMAKE_BUILD_TYPE: Release
VCPKG_COMMITISH: 51de327421f4bd99b828a97b4e4adde54db032a6
VCPKG_TRIPLET: x64-linux
steps:
- name: Checkout Git repository
uses: actions/checkout@v3
- name: "Install dependencies"
run: |
if [[ "${{matrix.config.name}}" == "Debian" ]]; then
apt update && apt install -y curl zip unzip tar build-essential git cmake pkg-config libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libebur128-dev libtag1-dev libinih-dev
fi
if [[ "${{matrix.config.name}}" == "Fedora" ]]; then
dnf install -y curl zip unzip tar git make pkg-config gcc-c++ fedora-packager rpmdevtools cmake libavcodec-free-devel libavformat-free-devel libswresample-free-devel libavutil-free-devel libebur128-devel taglib-devel inih-devel
fi
- name: Setup vcpkg
uses: friendlyanon/setup-vcpkg@v1
with:
committish: ${{env.VCPKG_COMMITTISH}}
cache-key: vcpkg-${{matrix.config.name}}-${{env.VCPKG_COMMITISH}}
cache-restore-keys: vcpkg-${{matrix.config.name}}-${{env.VCPKG_COMMITISH}}
- name: Configure
run: cmake -S . -B build
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TRIPLET}}
-DVCPKG_MANIFEST_FEATURES="external-fmt;"
-DCMAKE_BUILD_TYPE=${{env.CMAKE_BUILD_TYPE}}
-DCMAKE_INSTALL_PREFIX=/usr
-DPACKAGE=${{matrix.config.package_type}}
- name: Build
run: |
cmake \
--build build \
--target package
build/rsgain -v
- name: Upload Package
uses: actions/upload-artifact@v3
with:
name: ${{matrix.config.name}} build
path: build/*${{matrix.config.package_ext}}
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: build/*${{matrix.config.package_ext}}
token: ${{secrets.ACTIONS_SECRET}}
build_macos:
name: macOS
runs-on: macos-12
permissions:
packages: write
strategy:
fail-fast: false
env:
CMAKE_BUILD_TYPE: Release
steps:
- name: Checkout Git repository
uses: actions/checkout@v3
- name: "Install dependencies"
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install libebur128 taglib ffmpeg fmt inih cmake pkg-config || true
- name: Configure
run: cmake -S . -B build
-DCMAKE_BUILD_TYPE=${{env.CMAKE_BUILD_TYPE}}
-DCMAKE_INSTALL_PREFIX=/usr
- name: Build
run: |
cmake \
--build build \
--config ${{env.CMAKE_BUILD_TYPE}}
build/rsgain -v