WIP: CMake Build System Changes #1
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: linux | ||
on: | ||
push: | ||
branches: [master] | ||
pull_request: | ||
branches: [master] | ||
jobs: | ||
strategy: | ||
matrix: | ||
os: [ubuntu-22.04, windows-2022, macos-latest] | ||
config: [Debug, Release] | ||
env: | ||
parallel: ${{ matrix.os == 'windows-2022' && "--parallel" || "-j`nproc`" }} | ||
build: | ||
name: Build ${{ matrix.os }} ${{ matrix.config }} | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: microsoft/setup-msbuild@v1.0.2 | ||
if: matrix.os == 'windows-2022' | ||
## Install required libraries | ||
- name: Install linux libraries | ||
if: matrix.os == 'ubuntu-22.04' | ||
run: sudo apt-get install -y libcapstone-dev libtbb-dev libglfw3-dev pkg-config | ||
- name: Install windows libraries | ||
if: matrix.os == 'windows-2022' | ||
run: choco install capstone tbb glfw pkgconfiglite | ||
- name: Install macos libraries | ||
if: matrix.os == 'macos-latest' | ||
run: brew install capstone tbb pkg-config glfw meson | ||
## Configure | ||
- name: Configure | ||
run: | | ||
cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DTRACY_WITH_EXECUTABLES=ON | ||
## Build | ||
- name: Profiler GUI | ||
run: cmake --build build --config ${{ matrix.config }} --target profiler ${{ env.parallel }} | ||
- name: Update utility | ||
run: cmake --build build --config ${{ matrix.config }} --target update ${{ env.parallel }} | ||
- name: Capture utility | ||
run: cmake --build build --config ${{ matrix.config }} --target capture ${{ env.parallel }} | ||
- name: Csvexport utility | ||
run: cmake --build build --config ${{ matrix.config }} --target csvexport ${{ env.parallel }} | ||
- name: Import-chrome utility | ||
run: cmake --build build --config ${{ matrix.config }} --target import-chrome ${{ env.parallel }} | ||
- name: Import-fuchsia utility | ||
run: cmake --build build --config ${{ matrix.config }} --target import-fuchsia ${{ env.parallel }} | ||
- name: Library | ||
run: cmake --build build --config ${{ matrix.config }} --target TracyClient ${{ env.parallel }} | ||
- name: Library (meson) | ||
run: | | ||
meson setup -Dprefix=$PWD/install build | ||
meson compile -C build | ||
meson install -C build | ||
- name: Package binaries | ||
run: | | ||
7z a Tracy-${{ matrix.os }}.7z build/bin | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
path: Tracy-${{ matrix.os }}.7z |