name: Build on: [pull_request] jobs: build-mac-xcodebuild: name: Mac / xcodebuild / ${{ matrix.os }} strategy: matrix: os: [macos-latest] #[macos-13, macos-14, macos-15] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v6 - name: Install Xcode uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: latest-stable - name: Make working-directory: OSBindings/Mac run: | xcodebuild -downloadComponent MetalToolchain xcodebuild CODE_SIGN_IDENTITY=- build-sdl-cmake: name: SDL / cmake / ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v6 - name: Install dependencies shell: bash run: | case $RUNNER_OS in Linux) sudo apt-get --allow-releaseinfo-change update sudo apt-get --fix-missing install cmake gcc-10 libsdl2-dev ;; macOS) brew uninstall cmake brew install cmake sdl2 ;; esac - name: Make shell: bash run: | case $RUNNER_OS in Linux) jobs=$(nproc --all) ;; macOS) jobs=$(sysctl -n hw.activecpu) ;; *) jobs=1 esac cmake -S. -Bbuild -DCLK_UI=SDL -DCMAKE_BUILD_TYPE=Release cmake --build build -v -j"$jobs" build-sdl-scons: name: SDL / scons / ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v6 - name: Install dependencies shell: bash run: | case $RUNNER_OS in Linux) sudo apt-get --allow-releaseinfo-change update sudo apt-get --fix-missing install gcc-10 libsdl2-dev scons ;; macOS) brew install scons sdl2 ;; esac - name: Make working-directory: OSBindings/SDL shell: bash run: | case $RUNNER_OS in Linux) jobs=$(nproc --all) ;; macOS) jobs=$(sysctl -n hw.activecpu) ;; *) jobs=1 esac scons -j"$jobs" build-qt6: name: Qt / qmake / ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v6 - name: Install dependencies uses: jurplel/install-qt-action@v4 with: version: '6.8' modules: 'qtmultimedia' - name: Make working-directory: OSBindings/Qt shell: bash run: | qmake -o Makefile clksignal.pro make build-qt6-cmake: name: Qt / cmake / ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v6 - name: Install dependencies shell: bash run: | sudo apt-get --allow-releaseinfo-change update sudo apt-get --fix-missing install cmake gcc-10 qt6-base-dev qt6-multimedia-dev - name: Make shell: bash run: | cmake -S. -Bbuild -DCLK_UI=Qt -DCMAKE_BUILD_TYPE=Release jobs=$(nproc --all) cmake --build build -v -j"$jobs"