Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 102 additions & 6 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ jobs:

steps:
- name: Setup NASM
uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1
uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2

- name: Checkout repo
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0

- name: Setup environment
run: |
Expand All @@ -51,13 +51,76 @@ jobs:

steps:
- name: Setup NASM
uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1
uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2

- name: Checkout repo
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0

- name: Setup environment
run: |
New-Item -ItemType Directory -Path "$pwd\build"
New-Item -ItemType Directory -Path "$pwd\build\bin"
"BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV
"BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV
$env:PATH += "$pwd\build\bin;"

- name: Configure CMake
run: cmake -A x64 -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}}

- name: Build
run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}}

# CMake release build with shared library (msbuild) on VS2022
release-cmake-msvc-msbuild-vs2022:
env:
BUILD_TYPE: Release
runs-on: windows-2022

steps:
- name: Setup NASM
uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2

- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0

- name: Setup environment
run: |
New-Item -ItemType Directory -Path "$pwd\build"
New-Item -ItemType Directory -Path "$pwd\build\bin"
"BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV
"BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV
$env:PATH += "$pwd\build\bin;"

- name: Configure CMake
run: cmake -A x64 -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}}

- name: Build
run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}}

- name: Test
run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}}

# CMake debug build with shared library (msbuild) on VS2022
debug-cmake-msvc-msbuild-vs2022:
env:
BUILD_TYPE: Debug
runs-on: windows-2022

steps:
- name: Setup NASM
uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2

- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0

- name: Setup environment
run: |
Expand All @@ -75,3 +138,36 @@ jobs:

- name: Test
run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}}

# CMake release build with shared library (ninja) on VS2022
release-cmake-ninja-vs2022:
runs-on: windows-2022

steps:
- name: Setup NASM
uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2

- name: Setup MSVC dev environment
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with:
arch: x64

- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Setup environment
run: |
New-Item -ItemType Directory -Path "$pwd\build"
New-Item -ItemType Directory -Path "$pwd\build\bin"
"BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV
"BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV
$env:PATH += "$pwd\build\bin;"

- name: Configure CMake
run: cmake -G Ninja -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}}

- name: Build
run: cmake --build ${{env.BUILD_DIR}}

- name: Test
run: ctest -j 5 --test-dir ${{env.BUILD_DIR}}
Loading