Cmake #31
Workflow file for this run
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 | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- if: startsWith(matrix.os, 'ubuntu') | |
name: Install linux dependencies | |
run: sudo apt-get update && sudo apt-get install -y libfreetype6-dev libtbb-dev libwayland-dev libdbus-1-dev libxkbcommon-dev libglvnd-dev meson wayland-protocols | |
- if: startsWith(matrix.os, 'windows') | |
uses: microsoft/setup-msbuild@v2 | |
- if: startsWith(matrix.os, 'windows') | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
- if: startsWith(matrix.os, 'windows') | |
run: pip install meson ninja | |
- if: startsWith(matrix.os, 'macos') | |
name: Install macos dependencies | |
run: brew install pkg-config glfw meson | |
- name: Profiler GUI | |
run: | | |
cmake -B profiler/build -S profiler | |
cmake --build profiler/build --config Release --parallel | |
- name: Update utility | |
run: | | |
cmake -B update/build -S update | |
cmake --build update/build --config Release --parallel | |
- name: Capture utility | |
run: | | |
cmake -B capture/build -S capture | |
cmake --build capture/build --config Release --parallel | |
- name: Csvexport utility | |
run: | | |
cmake -B csvexport/build -S csvexport | |
cmake --build csvexport/build --config Release --parallel | |
- name: Import-chrome utility | |
run: | | |
cmake -B import-chrome/build -S import-chrome | |
cmake --build import-chrome/build --config Release --parallel | |
- name: Import-fuchsia utility | |
run: | | |
cmake -B import-fuchsia/build -S import-fuchsia | |
cmake --build import-fuchsia/build --config Release --parallel | |
- name: Library | |
run: meson setup -Dprefix=$PWD/install build && meson compile -C build && meson install -C build | |
- if: startsWith(matrix.os, 'ubuntu') | |
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' | |
- if: ${{ !startsWith(matrix.os, 'windows') }} | |
name: Find Artifacts | |
id: find_artifacts | |
run: | | |
mkdir bin | |
cp profiler/build/tracy-profiler bin | |
cp update/build/tracy-update bin | |
cp capture/build/tracy-capture bin | |
cp csvexport/build/tracy-csvexport bin | |
cp import-chrome/build/tracy-import-chrome bin | |
cp import-fuchsia/build/tracy-import-fuchsia bin | |
- if: startsWith(matrix.os, 'windows') | |
name: Find Artifacts | |
id: find_artifacts_windows | |
run: | | |
mkdir bin | |
copy profiler\build\Release\Tracy.exe bin | |
copy update\build\Release\update.exe bin | |
copy capture\build\Release\capture.exe bin | |
copy csvexport\build\Release\csvexport.exe bin | |
copy import-chrome\build\Release\import-chrome.exe bin | |
copy import-fuchsia\build\Release\import-fuchsia.exe bin | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.os }} | |
path: bin |