Skip to content

Merge pull request #598 from bvernoux/master #278

Merge pull request #598 from bvernoux/master

Merge pull request #598 from bvernoux/master #278

Workflow file for this run

name: Build-macOS
on:
push:
pull_request:
workflow_dispatch:
jobs:
macOS:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Dependencies
run: |
brew install \
ninja \
libsigc++@2 \
yaml-cpp \
gtkmm3 \
glew \
glfw \
catch2
- name: Clone and Build FFTS Library
run: |
git clone https://github.com/anthonix/ffts.git /tmp/ffts
pushd /tmp/ffts
mkdir build
cd build
cmake \
-DENABLE_SHARED=ON \
..
make -j4
sudo make install
popd
- name: Install Vulkan SDK
uses: humbletim/[email protected]
with:
version: 1.3.224.1
cache: true
- name: Build
run: |
export PATH=$(brew --prefix llvm@14)/bin:$PATH
export DYLD_LIBRARY_PATH=$VULKAN_SDK/lib:$DYLD_LIBRARY_PATH
export VK_ICD_FILENAMES=$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d
export CC=clang
export CXX=clang++
mkdir build
cd build
cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_DOCS=OFF \
-DBUILD_TESTING=OFF \
-DCMAKE_PREFIX_PATH="$(brew --prefix);$(brew --prefix libomp)" \
..
ninja
- name: Run Tests
if: ${{ false }} # Temporary disable Run Tests
run: |
cd build
ninja test
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: glscopeclient-macos
path: |
build/src/glscopeclient/glscopeclient
build/src/glscopeclient/gradients/*
build/src/glscopeclient/shaders/*
build/src/glscopeclient/styles/*
build/lib/graphwidget/libgraphwidget.dylib
build/lib/scopehal/libscopehal.dylib
build/lib/scopeprotocols/libscopeprotocols.dylib
- name: Upload Documentation
if: ${{ false }} # a LaTeX toolchain for macOS takes a while to install, so skip for now
uses: actions/upload-artifact@v3
with:
name: glscopeclient-manual
path: build/doc/glscopeclient-manual.pdf