Fix GitHub Actions (CI) for Windows builds

This was necessary because the latest GitHub "runner" image (20221120.1)
includes incompatible image libs (libjpeg, libpng, and zlib). This
caused `fluid-cmd.exe` to fail with error code -1073741511. For further
information please refer to this GitHub Issue:
  https://github.com/actions/runner-images/issues/6627

The previous runner version (20221027.1) did not include these libs
and our build used the internal libs and worked.

The fix is to disable the search for system libs in CMake.

Note: this does not explain *why* these libs are incompatible.
This commit is contained in:
Albrecht Schlosser
2022-11-25 17:24:18 +01:00
parent 130a504a39
commit c1a7c4af04
+10 -16
View File
@@ -103,32 +103,26 @@ jobs:
run: cmake --build . --config $BUILD_TYPE run: cmake --build . --config $BUILD_TYPE
build-windows: build-windows:
# The CMake configure and build commands are platform agnostic and should work equally # This build config has been minimized. Please see other configs for further advice.
# well on Windows or Mac. You can convert this to a matrix build if you need # We don't use the "bash" shell (defaults to PowerShell) and avoid using environment
# cross-platform coverage. # variables as far as possible and useful.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix #
# Note:
# We *must* disable system image libs to make sure we don't find incompatible ones on
# GitHub Actions runners "windows-latest" (since Nov. 22, 2022, version: 20221120.1).
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Create Build Environment - name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{github.workspace}}/build run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure CMake - name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{github.workspace}}/build working-directory: ${{github.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source run: cmake -D OPTION_USE_SYSTEM_LIBJPEG:BOOL=OFF -D OPTION_USE_SYSTEM_LIBPNG:BOOL=OFF -D OPTION_USE_SYSTEM_ZLIB:BOOL=OFF ..
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build - name: Build
working-directory: ${{github.workspace}}/build working-directory: ${{github.workspace}}/build
shell: bash run: cmake --build . --config Release
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE