mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-25 15:34:36 +00:00
Update CI.
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
This commit is contained in:
parent
8b8cd7d28b
commit
aac38a7deb
82
.github/workflows/build.yml
vendored
Normal file
82
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ windows-latest, macos-latest ]
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
continue-on-error: true
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- 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
|
||||||
|
- if: ${{ !startsWith(matrix.os, 'windows') }}
|
||||||
|
name: Library
|
||||||
|
run: meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib build && meson compile -C build && meson install -C build
|
||||||
|
- if: ${{ !startsWith(matrix.os, 'windows') }}
|
||||||
|
name: Find Artifacts
|
||||||
|
id: find_artifacts
|
||||||
|
run: |
|
||||||
|
mkdir -p 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-profiler.exe bin
|
||||||
|
copy update\build\Release\tracy-update.exe bin
|
||||||
|
copy capture\build\Release\tracy-capture.exe bin
|
||||||
|
copy csvexport\build\Release\tracy-csvexport.exe bin
|
||||||
|
copy import-chrome\build\Release\tracy-import-chrome.exe bin
|
||||||
|
copy import-fuchsia\build\Release\tracy-import-fuchsia.exe bin
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.os }}
|
||||||
|
path: bin
|
50
.github/workflows/linux.yml
vendored
50
.github/workflows/linux.yml
vendored
@ -8,29 +8,38 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
container: archlinux:base-devel
|
container: archlinux:base-devel
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Install linux libraries
|
- name: Install dependencies
|
||||||
run: pacman -Syu --noconfirm && pacman -S --noconfirm --needed freetype2 capstone tbb debuginfod wayland dbus libxkbcommon libglvnd meson
|
run: pacman -Syu --noconfirm && pacman -S --noconfirm --needed freetype2 capstone tbb debuginfod wayland dbus libxkbcommon libglvnd meson cmake git wayland-protocols
|
||||||
- name: Profiler GUI
|
- name: Profiler GUI
|
||||||
run: make -j`nproc` -C profiler/build/unix debug release
|
run: |
|
||||||
|
cmake -B profiler/build -S profiler
|
||||||
|
cmake --build profiler/build --config Release --parallel
|
||||||
- name: Update utility
|
- name: Update utility
|
||||||
run: make -j`nproc` -C update/build/unix debug release
|
run: |
|
||||||
|
cmake -B update/build -S update
|
||||||
|
cmake --build update/build --config Release --parallel
|
||||||
- name: Capture utility
|
- name: Capture utility
|
||||||
run: make -j`nproc` -C capture/build/unix debug release
|
run: |
|
||||||
|
cmake -B capture/build -S capture
|
||||||
|
cmake --build capture/build --config Release --parallel
|
||||||
- name: Csvexport utility
|
- name: Csvexport utility
|
||||||
run: make -j`nproc` -C csvexport/build/unix debug release
|
run: |
|
||||||
|
cmake -B csvexport/build -S csvexport
|
||||||
|
cmake --build csvexport/build --config Release --parallel
|
||||||
- name: Import-chrome utility
|
- name: Import-chrome utility
|
||||||
run: make -j`nproc` -C import-chrome/build/unix debug release
|
run: |
|
||||||
|
cmake -B import-chrome/build -S import-chrome
|
||||||
|
cmake --build import-chrome/build --config Release --parallel
|
||||||
- name: Import-fuchsia utility
|
- name: Import-fuchsia utility
|
||||||
run: make -j`nproc` -C import-fuchsia/build/unix debug release
|
run: |
|
||||||
|
cmake -B import-fuchsia/build -S import-fuchsia
|
||||||
|
cmake --build import-fuchsia/build --config Release --parallel
|
||||||
- name: Library
|
- name: Library
|
||||||
run: make -j`nproc` -C library/unix debug release
|
run: meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib build && meson compile -C build && meson install -C build
|
||||||
- name: Library (meson)
|
|
||||||
run: meson setup -Dprefix=$PWD/install build && meson compile -C build && meson install -C build
|
|
||||||
- name: Test application
|
- name: Test application
|
||||||
run: |
|
run: |
|
||||||
make -j`nproc` -C test
|
make -j`nproc` -C test
|
||||||
@ -39,3 +48,18 @@ jobs:
|
|||||||
make -j`nproc` -C test clean
|
make -j`nproc` -C test clean
|
||||||
make -j`nproc` -C test TRACYFLAGS="-DTRACY_DELAYED_INIT -DTRACY_MANUAL_LIFETIME"
|
make -j`nproc` -C test TRACYFLAGS="-DTRACY_DELAYED_INIT -DTRACY_MANUAL_LIFETIME"
|
||||||
make -C test -B ../public/TracyClient.o DEFINES='-DTRACY_DEMANGLE'
|
make -C test -B ../public/TracyClient.o DEFINES='-DTRACY_DEMANGLE'
|
||||||
|
- name: Find Artifacts
|
||||||
|
id: find_artifacts
|
||||||
|
run: |
|
||||||
|
mkdir -p 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
|
||||||
|
strip bin/tracy-*
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: arch-linux
|
||||||
|
path: bin
|
||||||
|
40
.github/workflows/macos.yml
vendored
40
.github/workflows/macos.yml
vendored
@ -1,40 +0,0 @@
|
|||||||
name: macos
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ master ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ master ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
|
|
||||||
runs-on: macOS-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- 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'
|
|
76
.github/workflows/msvc.yml
vendored
76
.github/workflows/msvc.yml
vendored
@ -1,76 +0,0 @@
|
|||||||
name: MSVC
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ master ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ master ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-with-vcpkg-integration:
|
|
||||||
|
|
||||||
runs-on: windows-2022
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: microsoft/setup-msbuild@v2
|
|
||||||
- name: Integrate vcpkg
|
|
||||||
run: vcpkg integrate install
|
|
||||||
- name: Profiler GUI Debug
|
|
||||||
run: msbuild .\profiler\build\win32\Tracy.vcxproj /property:Configuration=Debug /property:Platform=x64
|
|
||||||
- name: Profiler GUI Release
|
|
||||||
run: msbuild .\profiler\build\win32\Tracy.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Update utility Debug
|
|
||||||
run: msbuild .\update\build\win32\update.vcxproj /property:Configuration=Debug /property:Platform=x64
|
|
||||||
- name: Update utility Release
|
|
||||||
run: msbuild .\update\build\win32\update.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Capture utility Debug
|
|
||||||
run: msbuild .\capture\build\win32\capture.vcxproj /property:Configuration=Debug /property:Platform=x64
|
|
||||||
- name: Capture utility Release
|
|
||||||
run: msbuild .\capture\build\win32\capture.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Csvexport utility Debug
|
|
||||||
run: msbuild .\csvexport\build\win32\csvexport.vcxproj /property:Configuration=Debug /property:Platform=x64
|
|
||||||
- name: Csvexport utility Release
|
|
||||||
run: msbuild .\csvexport\build\win32\csvexport.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Import-chrome utility Debug
|
|
||||||
run: msbuild .\import-chrome\build\win32\import-chrome.vcxproj /property:Configuration=Debug /property:Platform=x64
|
|
||||||
- name: Import-chrome utility Release
|
|
||||||
run: msbuild .\import-chrome\build\win32\import-chrome.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Import-fuchsia utility Debug
|
|
||||||
run: msbuild .\import-fuchsia\build\win32\import-fuchsia.vcxproj /property:Configuration=Debug /property:Platform=x64
|
|
||||||
- name: Import-fuchsia utility Release
|
|
||||||
run: msbuild .\import-fuchsia\build\win32\import-fuchsia.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Library
|
|
||||||
run: msbuild .\library\win32\TracyProfiler.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Package binaries
|
|
||||||
run: |
|
|
||||||
mkdir bin
|
|
||||||
mkdir bin\dev
|
|
||||||
copy profiler\build\win32\x64\Release\Tracy.exe bin
|
|
||||||
copy update\build\win32\x64\Release\update.exe bin
|
|
||||||
copy capture\build\win32\x64\Release\capture.exe bin
|
|
||||||
copy import-chrome\build\win32\x64\Release\import-chrome.exe bin
|
|
||||||
copy csvexport\build\win32\x64\Release\csvexport.exe bin
|
|
||||||
copy library\win32\x64\Release\TracyProfiler.dll bin\dev
|
|
||||||
copy library\win32\x64\Release\TracyProfiler.lib bin\dev
|
|
||||||
7z a Tracy.7z bin
|
|
||||||
- uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
path: Tracy.7z
|
|
||||||
|
|
||||||
build-without-vcpkg-integration:
|
|
||||||
|
|
||||||
runs-on: windows-2022
|
|
||||||
|
|
||||||
env:
|
|
||||||
VCPKG_ROOT: ''
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: microsoft/setup-msbuild@v2
|
|
||||||
- name: Install vcpkg dependencies
|
|
||||||
run: vcpkg/install_vcpkg_dependencies.bat
|
|
||||||
- name: Profiler GUI Release
|
|
||||||
run: msbuild .\profiler\build\win32\Tracy.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
||||||
- name: Capture utility Release
|
|
||||||
run: msbuild .\capture\build\win32\capture.vcxproj /property:Configuration=Release /property:Platform=x64
|
|
@ -36,7 +36,3 @@ endif()
|
|||||||
if(UNIX AND NOT APPLE AND NOT EMSCRIPTEN)
|
if(UNIX AND NOT APPLE AND NOT EMSCRIPTEN)
|
||||||
target_link_libraries(TracyServer PRIVATE TracyTbb)
|
target_link_libraries(TracyServer PRIVATE TracyTbb)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
target_link_libraries(TracyServer PRIVATE ws2_32)
|
|
||||||
endif()
|
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
# pragma warning(disable:4267)
|
# pragma warning(disable:4267)
|
||||||
# endif
|
# endif
|
||||||
# define poll WSAPoll
|
# define poll WSAPoll
|
||||||
|
# ifdef _MSC_VER
|
||||||
|
# pragma comment(lib, "ws2_32.lib")
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
# include <arpa/inet.h>
|
# include <arpa/inet.h>
|
||||||
# include <sys/socket.h>
|
# include <sys/socket.h>
|
||||||
|
@ -26,7 +26,3 @@ set(PROGRAM_FILES
|
|||||||
|
|
||||||
add_executable(${PROJECT_NAME} ${PROGRAM_FILES} ${COMMON_FILES} ${SERVER_FILES})
|
add_executable(${PROJECT_NAME} ${PROGRAM_FILES} ${COMMON_FILES} ${SERVER_FILES})
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE TracyServer TracyGetOpt)
|
target_link_libraries(${PROJECT_NAME} PRIVATE TracyServer TracyGetOpt)
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE dbghelp)
|
|
||||||
endif()
|
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
#include "OfflineSymbolResolver.h"
|
#include "OfflineSymbolResolver.h"
|
||||||
|
|
||||||
|
#pragma comment(lib, "dbghelp.lib")
|
||||||
|
|
||||||
class SymbolResolver
|
class SymbolResolver
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
Loading…
Reference in New Issue
Block a user