mirror of
https://github.com/ashaduri/gsmartcontrol.git
synced 2026-09-25 05:15:33 +00:00
76 lines
2.0 KiB
YAML
76 lines
2.0 KiB
YAML
name: Build (Tier 2 platforms)
|
|
|
|
on:
|
|
# Triggers the workflow on push or pull request events but only for the main branch
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
|
|
env:
|
|
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
|
BUILD_TYPE: RelWithDebInfo
|
|
|
|
|
|
jobs:
|
|
|
|
macos-homebrew:
|
|
runs-on: macos-latest
|
|
strategy:
|
|
matrix:
|
|
include: [
|
|
# We need AppleClang 16, but GitHub only has 14 for now.
|
|
# { compiler: apple-clang },
|
|
{ compiler: clang }
|
|
]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Dependencies
|
|
run: brew install pkg-config gtkmm3 cmake
|
|
|
|
- name: Install Clang Compiler
|
|
if: ${{ matrix.compiler == 'clang' }}
|
|
run: brew install llvm@17
|
|
|
|
- name: Create Build Directory
|
|
run: cmake -E make_directory build
|
|
|
|
- name: Configure CMake (Apple Clang)
|
|
if: ${{ matrix.compiler == 'apple-clang' }}
|
|
shell: bash
|
|
working-directory: ${{github.workspace}}/build
|
|
run: >
|
|
cmake $GITHUB_WORKSPACE
|
|
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
-DAPP_BUILD_EXAMPLES=ON
|
|
-DAPP_BUILD_TESTS=ON
|
|
-DAPP_COMPILER_ENABLE_WARNINGS=ON
|
|
|
|
- name: Configure CMake
|
|
if: ${{ matrix.compiler == 'clang' }}
|
|
shell: bash
|
|
working-directory: ${{github.workspace}}/build
|
|
run: >
|
|
cmake $GITHUB_WORKSPACE
|
|
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
-DAPP_BUILD_EXAMPLES=ON
|
|
-DAPP_BUILD_TESTS=ON
|
|
-DAPP_COMPILER_ENABLE_WARNINGS=ON
|
|
-DCMAKE_CXX_COMPILER=$(brew --prefix llvm@17)/bin/clang++
|
|
|
|
- name: Build
|
|
shell: bash
|
|
working-directory: ${{github.workspace}}/build
|
|
run: cmake --build . --config $BUILD_TYPE
|
|
|
|
- name: Test
|
|
working-directory: ${{github.workspace}}/build
|
|
shell: bash
|
|
run: ctest -C $BUILD_TYPE --rerun-failed --output-on-failure
|
|
|