72 lines
2.4 KiB
YAML
72 lines
2.4 KiB
YAML
name: CI Windows
|
|
|
|
on:
|
|
push:
|
|
branches: [master, GD-*]
|
|
pull_request:
|
|
branches: [master, GD-*]
|
|
|
|
env:
|
|
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
|
BUILD_TYPE: RELWITHDEBINFO
|
|
|
|
jobs:
|
|
CI:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
arch:
|
|
- x64
|
|
- x86
|
|
- amd64_arm64
|
|
name: ${{ matrix.arch }}
|
|
defaults:
|
|
run:
|
|
shell: cmd
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
- uses: ilammy/msvc-dev-cmd@v1
|
|
with:
|
|
arch: ${{ matrix.arch }}
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
curl -o ${{ matrix.arch }}-windows.7z https://raw.githubusercontent.com/libgd/libgd-windows-vcpkg-prebuild/main/${{matrix.arch}}-windows.7z
|
|
7z.exe x ${{ matrix.arch }}-windows.7z -o${{github.workspace}}\vcpkgusr
|
|
|
|
- name: Configure CMake
|
|
# vcpkg libde265 fails on arm64 and match prefix
|
|
if: matrix.arch == 'amd64_arm64'
|
|
run: cmake -D CMAKE_GENERATOR="NMake Makefiles" -DENABLE_PNG=1 -DENABLE_FREETYPE=1 -DENABLE_JPEG=1
|
|
-DENABLE_GD_FORMATS=1 -DENABLE_TIFF=1 -DBUILD_TEST=1
|
|
-B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
|
|
-DCMAKE_LIBRARY_PATH=${{github.workspace}}\vcpkgusr\arm64-windows\lib
|
|
-DCMAKE_INCLUDE_PATH=${{github.workspace}}\vcpkgusr\arm64-windows\include
|
|
|
|
- name: Configure CMake
|
|
if: matrix.arch != 'amd64_arm64'
|
|
run: cmake -D CMAKE_GENERATOR="NMake Makefiles" -DENABLE_PNG=1 -DENABLE_FREETYPE=1 -DENABLE_JPEG=1
|
|
-DENABLE_GD_FORMATS=1 -DENABLE_TIFF=1 -DENABLE_HEIF=1
|
|
-DBUILD_TEST=1 -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
|
|
-DCMAKE_LIBRARY_PATH=${{github.workspace}}\vcpkgusr\${{ matrix.arch }}-windows\lib
|
|
-DCMAKE_INCLUDE_PATH=${{github.workspace}}\vcpkgusr\${{ matrix.arch }}-windows\include
|
|
|
|
- name: Build
|
|
run: |
|
|
cd ${{github.workspace}}/build
|
|
nmake
|
|
|
|
- name: Tests
|
|
working-directory: ${{github.workspace}}/build
|
|
# skip test for cross builds
|
|
if: matrix.arch != 'amd64_arm64'
|
|
run: |
|
|
echo ${{runner.temp}}
|
|
echo %TMP%
|
|
echo %TEMP%
|
|
set PATH=${{github.workspace}}\vcpkgusr\${{ matrix.arch }}-windows\bin;%PATH%
|
|
set CTEST_OUTPUT_ON_FAILURE=1
|
|
nmake test
|