Browse Source

Cleanup MSVC CI, add Windows ARM64 (#507)

* Cleanup msvc CI

Signed-off-by: falkTX <falktx@falktx.com>

* Add msvc-arm64 to CI

Signed-off-by: falkTX <falktx@falktx.com>

* Recognize windows arm builds for vst3 output filename

Signed-off-by: falkTX <falktx@falktx.com>

* Use windows-11-arm for msvc-arm64 CI step

Signed-off-by: falkTX <falktx@falktx.com>

---------

Signed-off-by: falkTX <falktx@falktx.com>
pull/509/head^2
Filipe Coelho GitHub 1 month ago
parent
commit
5d2c29f493
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
2 changed files with 39 additions and 52 deletions
  1. +32
    -52
      .github/workflows/cmake.yml
  2. +7
    -0
      cmake/DPF-plugin.cmake

+ 32
- 52
.github/workflows/cmake.yml View File

@@ -8,9 +8,6 @@ on:
branches:
- '*'

env:
BUILD_TYPE: Release

jobs:
ubuntu-22-04:
strategy:
@@ -87,78 +84,61 @@ jobs:
suffix: _15
target: ${{ matrix.target }}

cmake_win32:
msvc-win32:
runs-on: windows-2022
steps:
- name: Set environment
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure
run: |
echo "release_arch=Win32" >> "${Env:GITHUB_ENV}"
echo "vcpkg_triplet=x86-windows-static" >> "${Env:GITHUB_ENV}"
echo "vcpkg_git_commit_id=a3db16a4475b963cacf0260068c497fb72c8f3c0" >> "${Env:GITHUB_ENV}"
- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v6
cmake -S . -B build -G"Visual Studio 17 2022" -A"Win32" -DCMAKE_BUILD_TYPE="Release"
- name: Build
run: cmake --build build --config "Release" -j 2
- name: Show built files
working-directory: build/bin
run: tree
- uses: actions/upload-artifact@v4
with:
setupOnly: true
vcpkgTriplet: ${{env.vcpkg_triplet}}
vcpkgGitCommitId: ${{env.vcpkg_git_commit_id}}
#- name: Install packages
# run: |
# & "${Env:VCPKG_ROOT}/vcpkg" install "cairo:${Env:vcpkg_triplet}"
name: msvc-win32
path: build/bin/
msvc-win64:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Create Build Environment
working-directory: ${{runner.workspace}}
run: cmake -E make_directory build
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake "${Env:GITHUB_WORKSPACE}" -G"Visual Studio 17 2022" -A"${Env:release_arch}" -DCMAKE_BUILD_TYPE="${Env:BUILD_TYPE}" -DVCPKG_TARGET_TRIPLET="${Env:vcpkg_triplet}" -DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
cmake -S . -B build -G"Visual Studio 17 2022" -A"x64" -DCMAKE_BUILD_TYPE="Release"
- name: Build all
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config "${Env:BUILD_TYPE}" -j 2
working-directory: build
run: cmake --build . --config "Release" -j 2
- name: Show built files
working-directory: ${{runner.workspace}}/build/bin
working-directory: build/bin
run: tree
- uses: actions/upload-artifact@v4
with:
name: Win32 artifacts
path: ${{runner.workspace}}/build/bin/
name: msvc-win64
path: build/bin/

cmake_win64:
runs-on: windows-2022
msvc-arm64:
runs-on: windows-11-arm
steps:
- name: Set environment
run: |
echo "release_arch=x64" >> "${Env:GITHUB_ENV}"
echo "vcpkg_triplet=x64-windows-static" >> "${Env:GITHUB_ENV}"
echo "vcpkg_git_commit_id=a3db16a4475b963cacf0260068c497fb72c8f3c0" >> "${Env:GITHUB_ENV}"
- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v6
with:
setupOnly: true
vcpkgTriplet: ${{env.vcpkg_triplet}}
vcpkgGitCommitId: ${{env.vcpkg_git_commit_id}}
#- name: Install packages
# run: |
# & "${Env:VCPKG_ROOT}/vcpkg" install "cairo:${Env:vcpkg_triplet}"
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Create Build Environment
working-directory: ${{runner.workspace}}
run: cmake -E make_directory build
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake "${Env:GITHUB_WORKSPACE}" -G"Visual Studio 17 2022" -A"${Env:release_arch}" -DCMAKE_BUILD_TYPE="${Env:BUILD_TYPE}" -DVCPKG_TARGET_TRIPLET="${Env:vcpkg_triplet}" -DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
cmake -S . -B build -G"Visual Studio 17 2022" -A"ARM64" -DCMAKE_BUILD_TYPE="Release"
- name: Build all
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config "${Env:BUILD_TYPE}" -j 2
working-directory: build
run: cmake --build . --config "Release" -j 2
- name: Show built files
working-directory: ${{runner.workspace}}/build/bin
working-directory: build/bin
run: tree
- uses: actions/upload-artifact@v4
with:
name: Win64 artifacts
path: ${{runner.workspace}}/build/bin/
name: msvc-arm64
path: build/bin/

+ 7
- 0
cmake/DPF-plugin.cmake View File

@@ -678,8 +678,15 @@ function(dpf__determine_vst3_package_architecture OUTPUT_VARIABLE)
endif()

# transform the processor name to a format that VST3 recognizes
# see https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Locations+Format/Plugin+Format.html
if(vst3_system_arch MATCHES "^(x86_64|amd64|AMD64|x64|X64)$")
set(vst3_package_arch "x86_64")
elseif(vst3_system_arch MATCHES "^(ARM)$")
set(vst3_package_arch "arm")
elseif(vst3_system_arch MATCHES "^(ARM64)$")
set(vst3_package_arch "arm64")
elseif(vst3_system_arch MATCHES "^(ARM64EC)$")
set(vst3_package_arch "arm64x")
elseif(vst3_system_arch MATCHES "^(i.86|x86|X86)$")
if(WIN32)
set(vst3_package_arch "x86")


Loading…
Cancel
Save