Merge pull request #598 from bvernoux/master #278
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |