1name: MacOS 2 3on: [push, pull_request] 4 5jobs: 6 compatibility: 7 runs-on: macos-latest 8 strategy: 9 matrix: 10 VER: [9, 11] 11 GEN: [Xcode, Ninja Multi-Config] 12 STD: [11, 17] 13 14 steps: 15 - name: Checkout OpenCL-Headers 16 uses: actions/checkout@v2 17 18 - name: Create Build Environment 19 shell: bash 20 run: | 21 cmake -E make_directory $GITHUB_WORKSPACE/build; 22 cmake -E make_directory $GITHUB_WORKSPACE/install; 23 if [[ "${{matrix.GEN}}" == "Ninja Multi-Config" && ! `which ninja` ]]; then brew install ninja; fi; 24 # Install Ninja only if it's the selected generator and it's not available. 25 cmake --version 26 27 - name: Configure CMake 28 shell: bash 29 run: cmake 30 -G "${{matrix.GEN}}" 31 -D BUILD_TESTING=ON 32 -D CMAKE_C_FLAGS="-Wall -Wextra -pedantic -Werror" 33 -D CMAKE_C_COMPILER=/usr/local/bin/gcc-${{matrix.VER}} 34 -D CMAKE_C_EXTENSIONS=OFF 35 -D CMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -Werror" 36 -D CMAKE_CXX_COMPILER=/usr/local/bin/g++-${{matrix.VER}} 37 -D CMAKE_CXX_EXTENSIONS=OFF 38 -D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install 39 -S $GITHUB_WORKSPACE 40 -B $GITHUB_WORKSPACE/build 41 42 - name: Build 43 shell: bash 44 run: | 45 cmake --build $GITHUB_WORKSPACE/build --config Release --parallel `sysctl -n hw.logicalcpu` `if [[ "${{matrix.GEN}}" == "Xcode" ]]; then echo "-- -quiet"; fi;` 46 cmake --build $GITHUB_WORKSPACE/build --config Debug --parallel `sysctl -n hw.logicalcpu` `if [[ "${{matrix.GEN}}" == "Xcode" ]]; then echo "-- -quiet"; fi;` 47 48 - name: Test 49 working-directory: ${{runner.workspace}}/OpenCL-Headers/build 50 shell: bash 51 run: | 52 ctest -C Release --output-on-failure --parallel `sysctl -n hw.logicalcpu` 53 ctest -C Debug --output-on-failure --parallel `sysctl -n hw.logicalcpu`