- update lukka/run-vcpkg@11 - vcpkg 2023-11-16 Release (new version was required anyway but taking somewhat newer but not latest) - lukka/run-vcpkg@11 documentation states cache is not needed so deleted anything related to caching Test plan: edited yaml file to run msvc job on PR and confirmed that it passes successfully
100 lines
3.4 KiB
YAML
100 lines
3.4 KiB
YAML
name: msvc
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
compile:
|
|
name: ${{matrix.os}}-vc-${{matrix.VCPKG_PLATFORM_TOOLSET}}-${{matrix.CMAKE_GENERATOR_PLATFORM}}-${{matrix.BUILD_TYPE}}-${{matrix.BUILD_SHARED_LIBS}}
|
|
|
|
strategy:
|
|
matrix:
|
|
BUILD_TYPE: [Release, Debug]
|
|
BUILD_SHARED_LIBS: [OFF, ON]
|
|
#VCPKG_PLATFORM_TOOLSET: [v143, v142, v141]
|
|
CMAKE_GENERATOR_PLATFORM: [x64, Win32]
|
|
os: [windows-latest]
|
|
include:
|
|
# MSVC 2022
|
|
- triplet: x64-windows
|
|
VCPKG_PLATFORM_TOOLSET: v143
|
|
CMAKE_GENERATOR_PLATFORM: x64
|
|
|
|
- triplet: x86-windows
|
|
VCPKG_PLATFORM_TOOLSET: v143
|
|
CMAKE_GENERATOR_PLATFORM: Win32
|
|
|
|
# MSVC 2019
|
|
- triplet: x86-windows
|
|
VCPKG_PLATFORM_TOOLSET: v142
|
|
CMAKE_GENERATOR_PLATFORM: Win32
|
|
|
|
# MSVC 2017
|
|
- triplet: x86-windows
|
|
VCPKG_PLATFORM_TOOLSET: v141
|
|
CMAKE_GENERATOR_PLATFORM: Win32
|
|
|
|
runs-on: ${{matrix.os}}
|
|
|
|
env:
|
|
SOURCE_DIR: ${{github.workspace}}\.cache\source
|
|
TOOLS_DIR: ${{github.workspace}}\.cache\tools
|
|
INSTALL_DIR: ${{github.workspace}}\.cache\install_msvc_${{matrix.triplet}}_${{matrix.BUILD_TYPE}}
|
|
VCPKGGITCOMMITID: 53bef8994c541b6561884a8395ea35715ece75db
|
|
VCPKG_PLATFORM_TOOLSET: ${{matrix.VCPKG_PLATFORM_TOOLSET}}
|
|
CMAKE_GENERATOR_PLATFORM: ${{matrix.CMAKE_GENERATOR_PLATFORM}}
|
|
|
|
defaults:
|
|
run:
|
|
shell: cmd
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: make directory
|
|
run: |
|
|
cmake -E make_directory ${{env.SOURCE_DIR}}
|
|
cmake -E make_directory ${{env.TOOLS_DIR}}
|
|
cmake -E make_directory ${{env.INSTALL_DIR}}
|
|
|
|
- name: run-vcpkg
|
|
uses: lukka/run-vcpkg@v11
|
|
with:
|
|
# If not using a submodule for vcpkg sources, this specifies which commit
|
|
# id must be checkout from a Git repo. It must not set if using a submodule
|
|
# for vcpkg.
|
|
vcpkgGitCommitId: '${{ env.VCPKGGITCOMMITID }}'
|
|
|
|
- name: build coturn
|
|
run: |
|
|
cmake -E make_directory ${{github.workspace}}/build
|
|
cd ${{github.workspace}}/build
|
|
cmake ${{github.workspace}} ^
|
|
-A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^
|
|
-T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^
|
|
-DWITH_MYSQL=OFF ^
|
|
-DBUILD_SHARED_LIBS=${{matrix.BUILD_SHARED_LIBS}} ^
|
|
-DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^
|
|
-DCMAKE_INSTALL_PREFIX=${{github.workspace}}/build/install ^
|
|
-DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake
|
|
cmake --build . --config ${{matrix.BUILD_TYPE}}
|
|
cmake --build . --config ${{matrix.BUILD_TYPE}} --target install
|
|
|
|
- name: Package
|
|
if: ${{ matrix.BUILD_TYPE == 'Release' }}
|
|
working-directory: ${{github.workspace}}\build
|
|
run: |
|
|
7z a coturn_windows_msvc.zip ${{github.workspace}}\build\install\*
|
|
cmake --build . --config ${{matrix.BUILD_TYPE}} --target package
|
|
|
|
- name: update
|
|
if: ${{ matrix.BUILD_TYPE == 'Release' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: coturn_msvc-${{matrix.VCPKG_PLATFORM_TOOLSET}}-${{matrix.CMAKE_GENERATOR_PLATFORM}}-${{matrix.BUILD_SHARED_LIBS}}
|
|
path: |
|
|
${{github.workspace}}\build\coturn_windows_msvc.zip
|
|
${{github.workspace}}\build\coturn*.exe
|
|
${{github.workspace}}\build\coturn*.md5
|