Skip to content

cmake: rework deps management #1602

cmake: rework deps management

cmake: rework deps management #1602

# ref: https://github.com/actions/runner-images
name: amd64 Windows CMake Java
on: [push, pull_request, workflow_dispatch]
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
]
java: [
# see https://endoflife.date/azul-zulu
{distrib: 'zulu', version: '8'}, # 2030/12
{distrib: 'zulu', version: '11'}, # 2026/09
{distrib: 'zulu', version: '17'}, # 2029/09
{distrib: 'zulu', version: '21'}, # 2031/09
# see https://endoflife.date/eclipse-temurin
{distrib: 'temurin', version: '8'}, # 2026/11
{distrib: 'temurin', version: '11'}, # 2027/10
{distrib: 'temurin', version: '17'}, # 2027/10
{distrib: 'temurin', version: '21'}, # 2029/12
# see https://endoflife.date/microsoft-build-of-openjdk
{distrib: 'microsoft', version: '11'}, # 2027/09
{distrib: 'microsoft', version: '17'}, # 2027/09
{distrib: 'microsoft', version: '21'}, # 2028/09
]
fail-fast: false
name: Windows • ${{ matrix.cmake.generator }} • ${{ matrix.java.distrib }}-${{ matrix.java.version }}
runs-on: windows-latest
env:
CTEST_OUTPUT_ON_FAILURE: 1
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: ${{ matrix.java.distrib }}
java-version: ${{ matrix.java.version }}
- name: Update maven
run: |
choco upgrade maven
echo "C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.9\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Check java
run: |
java -version
mvn --version
- name: Check cmake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_JAVA=ON
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
-v -j2
- name: Test
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
-v