diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 607b5878..475c7ac6 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -114,6 +114,7 @@ jobs: fail-fast: false matrix: os: [macos-latest, ubuntu-latest, windows-latest] + shared_libs: [OFF, ON] enable_module: [OFF, ON] runs-on: ${{ matrix.os }} @@ -139,15 +140,15 @@ jobs: - name: CMake configure if: runner.os == 'Linux' - run: CC=clang CXX=clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=OFF -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON + run: CC=clang CXX=clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:${{ matrix.shared_libs }} -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON - name: CMake configure if: runner.os == 'macOS' - run: CC=$(brew --prefix llvm@15)/bin/clang CXX=$(brew --prefix llvm@15)/bin/clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=OFF -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON + run: CC=$(brew --prefix llvm@15)/bin/clang CXX=$(brew --prefix llvm@15)/bin/clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:${{ matrix.shared_libs }} -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON - name: CMake configure if: runner.os == 'Windows' - run: cmake -B ${{ env.BUILD_DIR }} -A x64 -T "ClangCL" -DBUILD_SHARED_LIBS:BOOL=OFF -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON + run: cmake -B ${{ env.BUILD_DIR }} -A x64 -T "ClangCL" -DBUILD_SHARED_LIBS:${{ matrix.shared_libs }} -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON - name: CMake build run: cmake --build ${{ env.BUILD_DIR }} @@ -158,58 +159,7 @@ jobs: - name: Upload results uses: actions/upload-artifact@v4 with: - name: ${{ matrix.os }}-${{ github.job }}-ENABLE_MODULE=${{ matrix.enable_module }}-results - path: ${{ github.workspace }}/${{ env.BUILD_DIR }}/Testing/ - - test-shared-clang: - strategy: - fail-fast: false - matrix: - os: [macos-latest, ubuntu-latest, windows-latest] - - runs-on: ${{ matrix.os }} - env: - BUILD_DIR: _build - - steps: - - uses: actions/checkout@v4 - - - name: Install ninja valgrind (Linux) - if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y ninja-build valgrind - - - name: Install ninja (macOS) - if: runner.os == 'macOS' - run: brew install ninja - - - name: Set up Visual Studio shell (Windows) - if: runner.os == 'Windows' - uses: egor-tensin/vs-shell@v2 - with: - arch: x64 - - - name: CMake configure - if: runner.os == 'Linux' - run: CC=clang CXX=clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON - - - name: CMake configure - if: runner.os == 'macOS' - run: CC=$(brew --prefix llvm@15)/bin/clang CXX=$(brew --prefix llvm@15)/bin/clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON - - - name: CMake configure - if: runner.os == 'Windows' - run: cmake -B ${{ env.BUILD_DIR }} -A x64 -T "ClangCL" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON - - - name: CMake build - run: cmake --build ${{ env.BUILD_DIR }} - - - name: CTest - run: ctest --test-dir ${{ env.BUILD_DIR }} - - - name: Upload results - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.os }}-${{ github.job }}-results + name: ${{ matrix.os }}-${{ github.job }}-SHARED=${{ matrix.shared_libs }}-MODULE=${{ matrix.enable_module }}-results path: ${{ github.workspace }}/${{ env.BUILD_DIR }}/Testing/ chm: