Create static.yml #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.) |