github actions: Split CMake build into separate steps.

Failures within multi-line commands aren't detected properly
in the windows runner environment. Therefore split each
line into a separate step for the cmake build.

Use the `working-directory` key to mark the build subdir without
having the prepend a `cd` command.
This commit is contained in:
Ralph Giles
2021-07-04 22:07:06 -07:00
parent 21a217e737
commit bac77f73f2

View File

@@ -144,17 +144,36 @@ jobs:
make make
make check make check
- name: Build with CMake - name: Prepare CMake build directory
if: startsWith(matrix.build-system,'cmake') if: startsWith(matrix.build-system,'cmake')
env: env:
CC: ${{ matrix.cc }} CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }} CXX: ${{ matrix.cxx }}
run: | run: mkdir cmake-build
mkdir cmake-build
cd cmake-build - name: CMake generator
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.configure-opts }} -DCMAKE_FIND_FRAMEWORK=NEVER if: startsWith(matrix.build-system,'cmake')
cmake --build . env:
ctest -V CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
working-directory: cmake-build
run: cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.configure-opts }} -DCMAKE_FIND_FRAMEWORK=NEVER
- name: CMake build
if: startsWith(matrix.build-system,'cmake')
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
working-directory: cmake-build
run: cmake --build .
- name: CMake test
if: startsWith(matrix.build-system,'cmake')
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
working-directory: cmake-build
run: ctest -V
- name: Upload logs on failure - name: Upload logs on failure
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2