Fix cmake_minimum_required version range typo #653
Workflow file for this run
This file contains hidden or 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: Build | |
| on: [push, pull_request, workflow_dispatch] | |
| env: | |
| BUILD_TYPE: Release | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest, windows-2025] | |
| include: | |
| - os: windows-latest | |
| cmake_extra_args: '-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake"' | |
| - os: windows-2025 | |
| cmake_extra_args: '-G "MinGW Makefiles" -DCPPUNIT_INCLUDE_DIR="$env:GITHUB_WORKSPACE/pkg/usr/local/include" -DCPPUNIT_LIBRARIES="$($env:GITHUB_WORKSPACE -replace "\\", "/")/pkg/usr/local/lib/libcppunit.dll.a" -DCPPUNIT_INSTALLED_VERSION="1.15.1"' | |
| # The windows-2025 runner is used for MinGW. | |
| name: ${{ matrix.os == 'windows-2025' && 'mingw' || matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Set up Ubuntu | |
| run: sudo apt install -y libcppunit-dev libutfcpp-dev zlib1g-dev | |
| if: matrix.os == 'ubuntu-latest' | |
| - name: Set up macOS | |
| run: | | |
| brew update | |
| brew install cppunit utf8cpp | |
| if: matrix.os == 'macos-latest' | |
| - name: Set up Windows | |
| run: vcpkg install cppunit utfcpp zlib --triplet x64-windows | |
| if: matrix.os == 'windows-latest' | |
| - name: Set up MinGW | |
| shell: bash | |
| run: | | |
| # Fetch utf8cpp, build cppunit | |
| git submodule update --init | |
| # Fails with fatal error: cppunit/config-auto.h: No such file or directory | |
| # vcpkg install cppunit utfcpp zlib --triplet x64-mingw-dynamic | |
| # Probably not working with CMake and MinGW, so we have to build it ourselves. | |
| curl -sL "https://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz" | tar xz | |
| mkdir -p build_cppunit | |
| (cd build_cppunit && MAKE=mingw32-make ../cppunit-1.15.1/configure \ | |
| --enable-shared=yes --enable-static=no \ | |
| --disable-dependency-tracking --disable-doxygen) | |
| find build_cppunit -name Makefile -exec sed -i 's/\($[({]SHELL[)}]\)/"\1"/' {} \; | |
| sed -i 's/^\(SUBDIRS.*\) examples\(.*\)$/\1\2/' build_cppunit/Makefile | |
| (cd build_cppunit && mingw32-make -j$(nproc) install DESTDIR=$(cd .. && pwd)/pkg) | |
| if: matrix.os == 'windows-2025' | |
| - name: Configure | |
| run: > | |
| cmake -B${{github.workspace}}/build | |
| -DBUILD_SHARED_LIBS=ON -DVISIBILITY_HIDDEN=ON | |
| -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON -DBUILD_BINDINGS=ON | |
| -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
| ${{ matrix.cmake_extra_args }} | |
| - name: Build | |
| run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel | |
| - name: Test | |
| working-directory: ${{github.workspace}}/build | |
| run: ctest -C ${{env.BUILD_TYPE}} -V --no-tests=error | |
| if: matrix.os != 'windows-latest' && matrix.os != 'windows-2025' | |
| - name: Test Windows | |
| working-directory: ${{github.workspace}}/build | |
| run: | | |
| $env:Path += ";$PWD\taglib\Release;$PWD\bindings\c\Release" | |
| $env:Path += ";$env:VCPKG_INSTALLATION_ROOT\packages\cppunit_x64-windows\bin" | |
| $env:Path += ";$env:VCPKG_INSTALLATION_ROOT\packages\utfcpp_x64-windows\bin" | |
| $env:Path += ";$env:VCPKG_INSTALLATION_ROOT\packages\zlib_x64-windows\bin" | |
| ctest -C ${{env.BUILD_TYPE}} -V --no-tests=error | |
| if: matrix.os == 'windows-latest' | |
| - name: Test MinGW | |
| working-directory: ${{github.workspace}}/build | |
| run: | | |
| $env:Path += ";$PWD/taglib;$PWD/bindings/c;${{github.workspace}}/pkg/usr/local/bin" | |
| ctest -C ${{env.BUILD_TYPE}} -V --no-tests=error | |
| if: matrix.os == 'windows-2025' |