name: macos

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: macOS-latest
    steps:
    - uses: actions/checkout@v2
    - name: Install macos libraries
      run: brew install capstone tbb pkg-config glfw meson
    - name: Profiler GUI
      run: make -j`nproc` -C profiler/build/unix debug release
    - name: Update utility
      run: make -j`nproc` -C update/build/unix debug release
    - name: Capture utility
      run: make -j`nproc` -C capture/build/unix debug release
    - name: Csvexport utility
      run: make -j`nproc` -C csvexport/build/unix debug release
    - name: Import-chrome utility
      run: make -j`nproc` -C import-chrome/build/unix debug release
    - name: Import-fuchsia utility
      run: make -j`nproc` -C import-fuchsia/build/unix debug release
    - name: Library
      run: make -j`nproc` -C library/unix debug release
    - name: Library (meson)
      run: meson setup -Dprefix=$PWD/install build && meson compile -C build && meson install -C build
    - name: Test application
      run: |
        make -j`nproc` -C test
        make -j`nproc` -C test clean
        make -j`nproc` -C test TRACYFLAGS=-DTRACY_ON_DEMAND
        make -j`nproc` -C test clean
        make -j`nproc` -C test TRACYFLAGS="-DTRACY_DELAYED_INIT -DTRACY_MANUAL_LIFETIME"
        make           -C test -B ../public/TracyClient.o DEFINES='-DTRACY_DEMANGLE'
