Skip to content

Create static.yml

Create static.yml #1

Workflow file for this run

name: Windows
on:
push:
branches:
- gh-pages
pull_request:
branches:
- gh-pages
env:
WXVERSION: 3.2.4
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [windows-2022]
build_type: [Debug, Release]
runs-on: ${{ matrix.os }}
steps:
- name: git clone
uses: actions/checkout@v4
- name: Prepare Visual Studio command prompt
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86
- name: Cache wxWidgets (Release)
if: matrix.build_type == 'Release'
id: cache-wxwidgets-3-2-4-release
uses: actions/cache@v4
with:
path: wxWidgets-${{env.WXVERSION}}
key: ${{runner.os}}-build-wxWidgets-3-2-4-release
- name: Cache wxWidgets (Debug)
if: matrix.build_type == 'Debug'
id: cache-wxwidgets-3-2-4-debug
uses: actions/cache@v4
with:
path: wxWidgets-${{env.WXVERSION}}
key: ${{runner.os}}-build-wxWidgets-3.2.4-debug
- name: Compile wxWidgets (Release)
if: matrix.build_type == 'Release' && steps.cache-wxwidgets-3-2-4-release.outputs.cache-hit != 'true'
run: |
Invoke-WebRequest -Uri https://github.com/wxWidgets/wxWidgets/releases/download/v${{env.WXVERSION}}/wxWidgets-${{env.WXVERSION}}.zip -OutFile wxWidgets-${{env.WXVERSION}}.zip
Expand-Archive -LiteralPath wxWidgets-${{env.WXVERSION}}.zip -DestinationPath wxWidgets-${{env.WXVERSION}}
cd wxWidgets-${{env.WXVERSION}}/build/msw
nmake -C -f makefile.vc BUILD=release RUNTIME_LIBS=static UNICODE=1 DEBUG_INFO=0 DEBUG_FLAG=0
- name: Compile wxWidgets (Debug)
if: matrix.build_type == 'Debug' && steps.cache-wxwidgets-3-2-4-debug.outputs.cache-hit != 'true'
run: |
Invoke-WebRequest -Uri https://github.com/wxWidgets/wxWidgets/releases/download/v${{env.WXVERSION}}/wxWidgets-${{env.WXVERSION}}.zip -OutFile wxWidgets-${{env.WXVERSION}}.zip
Expand-Archive -LiteralPath wxWidgets-${{env.WXVERSION}}.zip -DestinationPath wxWidgets-${{env.WXVERSION}}
cd wxWidgets-${{env.WXVERSION}}/build/msw
nmake -C -f makefile.vc BUILD=debug RUNTIME_LIBS=static UNICODE=1 DEBUG_INFO=1 DEBUG_FLAG=1
- name: Cache OpenCL
id: cache-opencl
uses: actions/cache@v4
env:
cache-name: cache-opencl
with:
path: opencl-nug.0.777.77
key: ${{ runner.os }}-build-${{ env.cache-name }}
- name: Install OpenCL
if: steps.cache-opencl.outputs.cache-hit != 'true'
run: |
nuget install opencl-nug -Version 0.777.77
- name: Cache VTK
id: cache-vtk
uses: actions/cache@v4
env:
cache-name: cache-vtk
with:
path: VTK
key: ${{ runner.os }}-build-${{ env.cache-name }}
- name: Download VTK
if: steps.cache-vtk.outputs.cache-hit != 'true'
shell: pwsh
run: |
C:\msys64\usr\bin\wget.exe -q https://github.com/GollyGang/ready/releases/download/0.8/VTK-8.1.2_msvc14_x86_shared.7z
7z x VTK-8.1.2_msvc14_x86_shared.7z
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -A Win32 \
-DVTK_DIR:PATH=$GITHUB_WORKSPACE/VTK/lib/cmake/vtk-8.1 \
-DwxWidgets_ROOT_DIR:PATH=$GITHUB_WORKSPACE/wxWidgets-${{env.WXVERSION}}/ \
-DwxWidgets_LIB_DIR:PATH=$GITHUB_WORKSPACE/wxWidgets-${{env.WXVERSION}}/lib/vc_lib \
-DOPENCL_INCLUDE_DIRS:PATH=$GITHUB_WORKSPACE/opencl-nug.0.777.77/build/native/include \
-DOPENCL_LIBRARIES:PATH=$GITHUB_WORKSPACE/opencl-nug.0.777.77/build/native/lib/x86/OpenCL.lib
- name: Build
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config ${{matrix.build_type}}
# (On Windows we can't even run rdy.exe, not sure why, so no tests.)