From ee7bd300e97bdaca4482769a11260aa56faeb493 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 6 Aug 2022 20:09:13 -0400 Subject: [PATCH 01/15] Updated to build profiler --- imgui/meson.build | 5 +++++ meson.build | 32 ++++++++++++++++++++++++-------- meson_options.txt | 4 ++++ profiler/meson.build | 21 +++++++++++++++++++++ server/meson.build | 27 +++++++++++++++++++++++++++ 5 files changed, 81 insertions(+), 8 deletions(-) create mode 100644 imgui/meson.build create mode 100644 profiler/meson.build create mode 100644 server/meson.build diff --git a/imgui/meson.build b/imgui/meson.build new file mode 100644 index 00000000..5e24794f --- /dev/null +++ b/imgui/meson.build @@ -0,0 +1,5 @@ +imgui_sources = files('imgui.cpp', 'imgui_draw.cpp', 'imgui_tables.cpp', 'imgui_widgets.cpp') + +imgui_inc = include_directories('.') +imgui_lib = library('imgui_lib', imgui_sources, include_directories: imgui_inc) +imgui_dep = declare_dependency(include_directories: imgui_inc, link_with: imgui_lib) diff --git a/meson.build b/meson.build index 54a81c0f..1a9dc7ed 100644 --- a/meson.build +++ b/meson.build @@ -89,9 +89,21 @@ if get_option('tracy_no_crash_handler') add_project_arguments('-DTRACY_NO_CRASH_HANDLER', language : 'cpp') endif +if get_option('tracy_use_wayland') + add_project_arguments('-DDISPLAY_SERVER_WAYLAND', language: 'cpp') +else + add_project_arguments('-DDISPLAY_SERVER_X11', language: 'cpp') +endif + +if not get_option('tracy_gtk_fileselector') + if get_option('tracy_no_fileselector') + add_project_arguments('-DTRACY_NO_FILESELECTOR', language: 'cpp') + endif +endif + threads_dep = dependency('threads') -includes = [ +includes = files( 'TracyC.h', 'Tracy.hpp', 'TracyD3D11.hpp', @@ -100,9 +112,9 @@ includes = [ 'TracyOpenCL.hpp', 'TracyOpenGL.hpp', 'TracyVulkan.hpp' -] +) -client_includes = [ +client_includes = files( 'client/tracy_concurrentqueue.h', 'client/tracy_rpmalloc.hpp', 'client/tracy_SPSCQueue.h', @@ -120,9 +132,9 @@ client_includes = [ 'client/TracySysTime.hpp', 'client/TracySysTrace.hpp', 'client/TracyThread.hpp' -] +) -common_includes = [ +common_includes = files( 'common/tracy_lz4.hpp', 'common/tracy_lz4hc.hpp', 'common/TracyAlign.hpp', @@ -139,13 +151,13 @@ common_includes = [ 'common/TracySystem.hpp', 'common/TracyUwp.hpp', 'common/TracyYield.hpp' -] +) tracy_header_files = common_includes + client_includes + includes -tracy_src = [ +tracy_src = files( 'TracyClient.cpp' -] +) tracy_public_include_dirs = include_directories('.') @@ -188,3 +200,7 @@ tracy_dep_dynamic = declare_dependency( include_directories : tracy_public_include_dirs) meson.override_dependency('tracy', tracy_dep) + +subdir('imgui') +subdir('server') +subdir('profiler') diff --git a/meson_options.txt b/meson_options.txt index ecf6ea1e..48027bb4 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -20,3 +20,7 @@ option('tracy_manual_lifetime', type : 'boolean', value : false, description : ' option('tracy_fibers', type : 'boolean', value : false, description : 'Enable fibers support') option('tracy_shared_libs', type : 'boolean', value : false, description : 'Builds Tracy as a shared object') option('tracy_no_crash_handler', type : 'boolean', value : false, description : 'Disable crash handling') + +option('tracy_use_wayland', type : 'boolean', value : false, description : 'Profiler: Set the Display Server on linux to wayland') +option('tracy_no_fileselector', type : 'boolean', value : true, description : 'Profiler: Disable fileselector') +option('tracy_gtk_fileselector', type : 'boolean', value : false, description : 'Profiler: Set the fileselector to native GTK') diff --git a/profiler/meson.build b/profiler/meson.build new file mode 100644 index 00000000..1ae19ab9 --- /dev/null +++ b/profiler/meson.build @@ -0,0 +1,21 @@ +profiler_sources = files( + 'src/main.cpp', + 'src/BackendGlfw.cpp', + 'src/ConnectionHistory.cpp', + 'src/Filters.cpp', + 'src/Fonts.cpp', + 'src/HttpRequest.cpp', + 'src/ImGuiContext.cpp', + 'src/ResolvService.cpp', + 'src/RunQueue.cpp', + 'src/WindowPosition.cpp') + +if get_option('tracy_gtk_fileselector') + profiler_sources += files('../nfd/nfd_gtk.cpp') +endif + +profiler_inc = include_directories('src', 'src/imgui') + +glfw = dependency('glfw3') + +executable('profiler', profiler_sources, include_directories: profiler_inc, dependencies: [glfw, threads_dep, server_dep, tracy_dep]) \ No newline at end of file diff --git a/server/meson.build b/server/meson.build new file mode 100644 index 00000000..662a7322 --- /dev/null +++ b/server/meson.build @@ -0,0 +1,27 @@ +server_sources = files( + 'TracyBadVersion.cpp', + 'TracyColor.cpp', + # 'TracyEventDebug.cpp', + 'TracyFilesystem.cpp', + 'TracyImGui.cpp', + 'TracyMemory.cpp', + 'TracyMicroArchitecture.cpp', + 'TracyMmap.cpp', + 'TracyMouse.cpp', + 'TracyPrint.cpp', + 'TracyProtoHistory.cpp', + 'TracySourceContents.cpp', + 'TracySourceTokenizer.cpp', + 'TracySourceView.cpp', + 'TracyStorage.cpp', + 'TracyTaskDispatch.cpp', + 'TracyTexture.cpp', + 'TracyTextureCompression.cpp', + 'TracyThreadCompression.cpp', + 'TracyTexture.cpp') + +capstone = dependency('capstone') + +deps = [imgui_dep, capstone, tracy_dep] +server_lib = static_library('tracy_server', server_sources, dependencies: deps) +server_dep = declare_dependency(dependencies: deps, link_with: server_lib) \ No newline at end of file From e88df6e2739b8ff817ace7be6cbe07a4e44ce638 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 6 Aug 2022 20:35:09 -0400 Subject: [PATCH 02/15] profile compiles --- meson.build | 7 +++++-- profiler/meson.build | 6 ++++-- server/meson.build | 33 +++++++++++++++++++++++++++++++-- zstd/meson.build | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 zstd/meson.build diff --git a/meson.build b/meson.build index 9c406d9f..ec8faaac 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('tracy', ['cpp']) +project('tracy', ['cpp', 'c']) if get_option('tracy_enable') add_project_arguments('-DTRACY_ENABLE', language : 'cpp') @@ -156,7 +156,9 @@ common_includes = [ tracy_header_files = common_includes + client_includes + includes tracy_src = [ - 'public/TracyClient.cpp' + 'public/TracyClient.cpp', + 'public/common/tracy_lz4.cpp', + 'public/common/tracy_lz4hc.cpp' ] tracy_public_include_dirs = include_directories('public') @@ -201,6 +203,7 @@ tracy_dep_dynamic = declare_dependency( meson.override_dependency('tracy', tracy_dep) +subdir('zstd') subdir('imgui') subdir('server') subdir('profiler') diff --git a/profiler/meson.build b/profiler/meson.build index 1ae19ab9..f189f1b1 100644 --- a/profiler/meson.build +++ b/profiler/meson.build @@ -8,7 +8,9 @@ profiler_sources = files( 'src/ImGuiContext.cpp', 'src/ResolvService.cpp', 'src/RunQueue.cpp', - 'src/WindowPosition.cpp') + 'src/WindowPosition.cpp', + 'src/imgui/imgui_impl_glfw.cpp', + 'src/imgui/imgui_impl_opengl3.cpp') if get_option('tracy_gtk_fileselector') profiler_sources += files('../nfd/nfd_gtk.cpp') @@ -18,4 +20,4 @@ profiler_inc = include_directories('src', 'src/imgui') glfw = dependency('glfw3') -executable('profiler', profiler_sources, include_directories: profiler_inc, dependencies: [glfw, threads_dep, server_dep, tracy_dep]) \ No newline at end of file +executable('profiler', profiler_sources, include_directories: profiler_inc, dependencies: [glfw, threads_dep, server_dep, tracy_dep, zstd_dep]) \ No newline at end of file diff --git a/server/meson.build b/server/meson.build index 662a7322..fee42cd2 100644 --- a/server/meson.build +++ b/server/meson.build @@ -17,8 +17,37 @@ server_sources = files( 'TracyTaskDispatch.cpp', 'TracyTexture.cpp', 'TracyTextureCompression.cpp', - 'TracyThreadCompression.cpp', - 'TracyTexture.cpp') + 'TracyThreadCompress.cpp', + 'TracyUserData.cpp', + 'TracyView_Annotations.cpp', + 'TracyView_Callstack.cpp', + 'TracyView_Compare.cpp', + 'TracyView_ConnectionState.cpp', + 'TracyView_ContextSwitch.cpp', + 'TracyView_CpuData.cpp', + 'TracyView_FindZone.cpp', + 'TracyView_FrameOverview.cpp', + 'TracyView_FrameTimeline.cpp', + 'TracyView_FrameTree.cpp', + 'TracyView_Locks.cpp', + 'TracyView_Memory.cpp', + 'TracyView_Messages.cpp', + 'TracyView_Navigation.cpp', + 'TracyView_NotificationArea.cpp', + 'TracyView_Options.cpp', + 'TracyView_Playback.cpp', + 'TracyView_Plots.cpp', + 'TracyView_Ranges.cpp', + 'TracyView_Samples.cpp', + 'TracyView_Statistics.cpp', + 'TracyView_Timeline.cpp', + 'TracyView_TraceInfo.cpp', + 'TracyView_Utility.cpp', + 'TracyView_ZoneInfo.cpp', + 'TracyView_ZoneTimeline.cpp', + 'TracyView.cpp', + 'TracyWeb.cpp', + 'TracyWorker.cpp') capstone = dependency('capstone') diff --git a/zstd/meson.build b/zstd/meson.build new file mode 100644 index 00000000..4b8a9524 --- /dev/null +++ b/zstd/meson.build @@ -0,0 +1,36 @@ +zstd_sources = files( + 'common/debug.c', + 'common/entropy_common.c', + 'common/error_private.c', + 'common/fse_decompress.c', + 'common/pool.c', + 'common/threading.c', + 'common/xxhash.c', + 'common/zstd_common.c', + 'compress/fse_compress.c', + 'compress/hist.c', + 'compress/huf_compress.c', + 'compress/zstd_compress_literals.c', + 'compress/zstd_compress_sequences.c', + 'compress/zstd_compress_superblock.c', + 'compress/zstd_compress.c', + 'compress/zstd_double_fast.c', + 'compress/zstd_fast.c', + 'compress/zstd_lazy.c', + 'compress/zstd_ldm.c', + 'compress/zstd_opt.c', + 'compress/zstdmt_compress.c', + 'decompress/huf_decompress_amd64.S', + 'decompress/huf_decompress.c', + 'decompress/zstd_ddict.c', + 'decompress/zstd_decompress_block.c', + 'decompress/zstd_decompress.c', + 'dictBuilder/cover.c', + 'dictBuilder/divsufsort.c', + 'dictBuilder/fastcover.c', + 'dictBuilder/zdict.c', + ) + +zstd_inc = include_directories('.') +zstd_lib = static_library('zstd', zstd_sources, include_directories: zstd_inc) +zstd_dep = declare_dependency(include_directories: zstd_inc, link_with: zstd_lib) \ No newline at end of file From 0ee4ad68f7743a29fc0d7e21081b291a781177e0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 6 Aug 2022 20:37:58 -0400 Subject: [PATCH 03/15] whitespace --- zstd/meson.build | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zstd/meson.build b/zstd/meson.build index 4b8a9524..d0995b92 100644 --- a/zstd/meson.build +++ b/zstd/meson.build @@ -28,8 +28,7 @@ zstd_sources = files( 'dictBuilder/cover.c', 'dictBuilder/divsufsort.c', 'dictBuilder/fastcover.c', - 'dictBuilder/zdict.c', - ) + 'dictBuilder/zdict.c') zstd_inc = include_directories('.') zstd_lib = static_library('zstd', zstd_sources, include_directories: zstd_inc) From 57184963ec94bd54431e99c4e98ed54013fd31e5 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 7 Aug 2022 08:02:36 -0400 Subject: [PATCH 04/15] Simplified a little bit --- meson.build | 77 +++++++------------------------------------- meson_options.txt | 3 +- profiler/meson.build | 14 +++++--- server/meson.build | 3 +- 4 files changed, 25 insertions(+), 72 deletions(-) diff --git a/meson.build b/meson.build index ec8faaac..58273d8f 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('tracy', ['cpp', 'c']) +project('tracy', ['cpp', 'c'], default_options: 'cpp_std=c++17') if get_option('tracy_enable') add_project_arguments('-DTRACY_ENABLE', language : 'cpp') @@ -91,74 +91,21 @@ endif if get_option('tracy_use_wayland') add_project_arguments('-DDISPLAY_SERVER_WAYLAND', language: 'cpp') -else + add_project_arguments('-DGLFW_EXPOSE_NATIVE_WAYLAND', language: 'cpp') +else add_project_arguments('-DDISPLAY_SERVER_X11', language: 'cpp') endif -if not get_option('tracy_gtk_fileselector') - if get_option('tracy_no_fileselector') - add_project_arguments('-DTRACY_NO_FILESELECTOR', language: 'cpp') - endif +if get_option('tracy_fileselector') == 'none' + add_project_arguments('-DTRACY_NO_FILESELECTOR', language: 'cpp') endif - + threads_dep = dependency('threads') -includes = [ - 'public/tracy/TracyC.h', - 'public/tracy/Tracy.hpp', - 'public/tracy/TracyD3D11.hpp', - 'public/tracy/TracyD3D12.hpp', - 'public/tracy/TracyLua.hpp', - 'public/tracy/TracyOpenCL.hpp', - 'public/tracy/TracyOpenGL.hpp', - 'public/tracy/TracyVulkan.hpp' -] - -client_includes = files( - 'public/client/tracy_concurrentqueue.h', - 'public/client/tracy_rpmalloc.hpp', - 'public/client/tracy_SPSCQueue.h', - 'public/client/TracyArmCpuTable.hpp', - 'public/client/TracyCallstack.h', - 'public/client/TracyCallstack.hpp', - 'public/client/TracyDebug.hpp', - 'public/client/TracyDxt1.hpp', - 'public/client/TracyFastVector.hpp', - 'public/client/TracyLock.hpp', - 'public/client/TracyProfiler.hpp', - 'public/client/TracyRingBuffer.hpp', - 'public/client/TracyScoped.hpp', - 'public/client/TracyStringHelpers.hpp', - 'public/client/TracySysTime.hpp', - 'public/client/TracySysTrace.hpp', - 'public/client/TracyThread.hpp' -) - -common_includes = [ - 'public/common/tracy_lz4.hpp', - 'public/common/tracy_lz4hc.hpp', - 'public/common/TracyAlign.hpp', - 'public/common/TracyAlign.hpp', - 'public/common/TracyAlloc.hpp', - 'public/common/TracyApi.h', - 'public/common/TracyColor.hpp', - 'public/common/TracyForceInline.hpp', - 'public/common/TracyMutex.hpp', - 'public/common/TracyProtocol.hpp', - 'public/common/TracyQueue.hpp', - 'public/common/TracySocket.hpp', - 'public/common/TracyStackFrames.hpp', - 'public/common/TracySystem.hpp', - 'public/common/TracyUwp.hpp', - 'public/common/TracyYield.hpp' -] - -tracy_header_files = common_includes + client_includes + includes +# tracy_header_files = common_includes + client_includes + includes tracy_src = [ 'public/TracyClient.cpp', - 'public/common/tracy_lz4.cpp', - 'public/common/tracy_lz4hc.cpp' ] tracy_public_include_dirs = include_directories('public') @@ -170,22 +117,22 @@ if compiler.get_id() != 'msvc' endif if tracy_shared_libs - tracy = shared_library('tracy', tracy_src, tracy_header_files, + tracy = shared_library('tracy', tracy_src, dependencies : [ threads_dep ], include_directories : tracy_public_include_dirs, override_options : override_options, install : true) else - tracy = static_library('tracy', tracy_src, tracy_header_files, + tracy = static_library('tracy', tracy_src, dependencies : [ threads_dep ], include_directories : tracy_public_include_dirs, override_options : override_options, install : true) endif -install_headers(includes) -install_headers(common_includes, subdir : 'common') -install_headers(client_includes, subdir : 'client') +# install_headers(includes) +# install_headers(common_includes, subdir : 'common') +# install_headers(client_includes, subdir : 'client') tracy_dep_compile_args = [] diff --git a/meson_options.txt b/meson_options.txt index 48027bb4..f8061e88 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -22,5 +22,4 @@ option('tracy_shared_libs', type : 'boolean', value : false, description : 'Buil option('tracy_no_crash_handler', type : 'boolean', value : false, description : 'Disable crash handling') option('tracy_use_wayland', type : 'boolean', value : false, description : 'Profiler: Set the Display Server on linux to wayland') -option('tracy_no_fileselector', type : 'boolean', value : true, description : 'Profiler: Disable fileselector') -option('tracy_gtk_fileselector', type : 'boolean', value : false, description : 'Profiler: Set the fileselector to native GTK') +option('tracy_fileselector', type : 'combo', choices : ['none', 'gtk'], value : 'none', description : 'Profiler: Choose fileselector') diff --git a/profiler/meson.build b/profiler/meson.build index f189f1b1..0c9d5cdc 100644 --- a/profiler/meson.build +++ b/profiler/meson.build @@ -12,12 +12,18 @@ profiler_sources = files( 'src/imgui/imgui_impl_glfw.cpp', 'src/imgui/imgui_impl_opengl3.cpp') -if get_option('tracy_gtk_fileselector') +glfw = dependency('glfw3') +deps = [glfw, threads_dep, server_dep, tracy_dep, zstd_dep] + +if get_option('tracy_fileselector') == 'gtk' profiler_sources += files('../nfd/nfd_gtk.cpp') + deps += dependency('gtk+-3.0') +endif + +if get_option('tracy_use_wayland') + deps += dependency('wayland-client') endif profiler_inc = include_directories('src', 'src/imgui') -glfw = dependency('glfw3') - -executable('profiler', profiler_sources, include_directories: profiler_inc, dependencies: [glfw, threads_dep, server_dep, tracy_dep, zstd_dep]) \ No newline at end of file +executable('profiler', profiler_sources, include_directories: profiler_inc, dependencies: deps, cpp_args: '-UTRACY_ENABLE') \ No newline at end of file diff --git a/server/meson.build b/server/meson.build index fee42cd2..a31bd662 100644 --- a/server/meson.build +++ b/server/meson.build @@ -1,4 +1,5 @@ server_sources = files( + '../public/common/tracy_lz4hc.cpp', 'TracyBadVersion.cpp', 'TracyColor.cpp', # 'TracyEventDebug.cpp', @@ -52,5 +53,5 @@ server_sources = files( capstone = dependency('capstone') deps = [imgui_dep, capstone, tracy_dep] -server_lib = static_library('tracy_server', server_sources, dependencies: deps) +server_lib = static_library('tracy_server', server_sources, dependencies: deps, cpp_args: '-UTRACY_ENABLE') server_dep = declare_dependency(dependencies: deps, link_with: server_lib) \ No newline at end of file From 61b4be993420dd91e0e572f5526dc8dda0b59d92 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 7 Aug 2022 08:06:07 -0400 Subject: [PATCH 05/15] Readded header --- meson.build | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 58273d8f..cf09be60 100644 --- a/meson.build +++ b/meson.build @@ -102,7 +102,95 @@ endif threads_dep = dependency('threads') -# tracy_header_files = common_includes + client_includes + includes +includes = [ + 'public/tracy/TracyC.h', + 'public/tracy/TracyC.h', + 'public/tracy/Tracy.hpp', + 'public/tracy/Tracy.hpp', + 'public/tracy/TracyD3D11.hpp', + 'public/tracy/TracyD3D11.hpp', + 'public/tracy/TracyD3D12.hpp', + 'public/tracy/TracyD3D12.hpp', + 'public/tracy/TracyLua.hpp', + 'public/tracy/TracyLua.hpp', + 'public/tracy/TracyOpenCL.hpp', + 'public/tracy/TracyOpenCL.hpp', + 'public/tracy/TracyOpenGL.hpp', + 'public/tracy/TracyOpenGL.hpp', + 'public/tracy/TracyVulkan.hpp' +] + +client_includes = [ + 'public/client/tracy_concurrentqueue.h', + 'public/client/tracy_concurrentqueue.h', + 'public/client/tracy_rpmalloc.hpp', + 'public/client/tracy_rpmalloc.hpp', + 'public/client/tracy_SPSCQueue.h', + 'public/client/tracy_SPSCQueue.h', + 'public/client/TracyArmCpuTable.hpp', + 'public/client/TracyArmCpuTable.hpp', + 'public/client/TracyCallstack.h', + 'public/client/TracyCallstack.h', + 'public/client/TracyCallstack.hpp', + 'public/client/TracyCallstack.hpp', + 'public/client/TracyDebug.hpp', + 'public/client/TracyDebug.hpp', + 'public/client/TracyDxt1.hpp', + 'public/client/TracyDxt1.hpp', + 'public/client/TracyFastVector.hpp', + 'public/client/TracyFastVector.hpp', + 'public/client/TracyLock.hpp', + 'public/client/TracyLock.hpp', + 'public/client/TracyProfiler.hpp', + 'public/client/TracyProfiler.hpp', + 'public/client/TracyRingBuffer.hpp', + 'public/client/TracyRingBuffer.hpp', + 'public/client/TracyScoped.hpp', + 'public/client/TracyScoped.hpp', + 'public/client/TracyStringHelpers.hpp', + 'public/client/TracyStringHelpers.hpp', + 'public/client/TracySysTime.hpp', + 'public/client/TracySysTime.hpp', + 'public/client/TracySysTrace.hpp', + 'public/client/TracySysTrace.hpp', + 'public/client/TracyThread.hpp' +] + +common_includes = [ + 'public/common/tracy_lz4.hpp', + 'public/common/tracy_lz4.hpp', + 'public/common/tracy_lz4hc.hpp', + 'public/common/tracy_lz4hc.hpp', + 'public/common/TracyAlign.hpp', + 'public/common/TracyAlign.hpp', + 'public/common/TracyAlign.hpp', + 'public/common/TracyAlign.hpp', + 'public/common/TracyAlloc.hpp', + 'public/common/TracyAlloc.hpp', + 'public/common/TracyApi.h', + 'public/common/TracyApi.h', + 'public/common/TracyColor.hpp', + 'public/common/TracyColor.hpp', + 'public/common/TracyForceInline.hpp', + 'public/common/TracyForceInline.hpp', + 'public/common/TracyMutex.hpp', + 'public/common/TracyMutex.hpp', + 'public/common/TracyProtocol.hpp', + 'public/common/TracyProtocol.hpp', + 'public/common/TracyQueue.hpp', + 'public/common/TracyQueue.hpp', + 'public/common/TracySocket.hpp', + 'public/common/TracySocket.hpp', + 'public/common/TracyStackFrames.hpp', + 'public/common/TracyStackFrames.hpp', + 'public/common/TracySystem.hpp', + 'public/common/TracySystem.hpp', + 'public/common/TracyUwp.hpp', + 'public/common/TracyUwp.hpp', + 'public/common/TracyYield.hpp' +] + +tracy_header_files = common_includes + client_includes + includes tracy_src = [ 'public/TracyClient.cpp', @@ -130,9 +218,9 @@ else install : true) endif -# install_headers(includes) -# install_headers(common_includes, subdir : 'common') -# install_headers(client_includes, subdir : 'client') +install_headers(includes) +install_headers(common_includes, subdir : 'common') +install_headers(client_includes, subdir : 'client') tracy_dep_compile_args = [] From 08bb15bc9ea1b23f358d17e7f126327ee2811a36 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 7 Aug 2022 08:20:51 -0400 Subject: [PATCH 06/15] removed duplicates --- meson.build | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/meson.build b/meson.build index cf09be60..1d5502ae 100644 --- a/meson.build +++ b/meson.build @@ -104,88 +104,49 @@ threads_dep = dependency('threads') includes = [ 'public/tracy/TracyC.h', - 'public/tracy/TracyC.h', - 'public/tracy/Tracy.hpp', 'public/tracy/Tracy.hpp', 'public/tracy/TracyD3D11.hpp', - 'public/tracy/TracyD3D11.hpp', - 'public/tracy/TracyD3D12.hpp', 'public/tracy/TracyD3D12.hpp', 'public/tracy/TracyLua.hpp', - 'public/tracy/TracyLua.hpp', 'public/tracy/TracyOpenCL.hpp', - 'public/tracy/TracyOpenCL.hpp', - 'public/tracy/TracyOpenGL.hpp', 'public/tracy/TracyOpenGL.hpp', 'public/tracy/TracyVulkan.hpp' ] client_includes = [ 'public/client/tracy_concurrentqueue.h', - 'public/client/tracy_concurrentqueue.h', - 'public/client/tracy_rpmalloc.hpp', 'public/client/tracy_rpmalloc.hpp', 'public/client/tracy_SPSCQueue.h', - 'public/client/tracy_SPSCQueue.h', - 'public/client/TracyArmCpuTable.hpp', 'public/client/TracyArmCpuTable.hpp', 'public/client/TracyCallstack.h', - 'public/client/TracyCallstack.h', - 'public/client/TracyCallstack.hpp', 'public/client/TracyCallstack.hpp', 'public/client/TracyDebug.hpp', - 'public/client/TracyDebug.hpp', - 'public/client/TracyDxt1.hpp', 'public/client/TracyDxt1.hpp', 'public/client/TracyFastVector.hpp', - 'public/client/TracyFastVector.hpp', - 'public/client/TracyLock.hpp', 'public/client/TracyLock.hpp', 'public/client/TracyProfiler.hpp', - 'public/client/TracyProfiler.hpp', - 'public/client/TracyRingBuffer.hpp', 'public/client/TracyRingBuffer.hpp', 'public/client/TracyScoped.hpp', - 'public/client/TracyScoped.hpp', - 'public/client/TracyStringHelpers.hpp', 'public/client/TracyStringHelpers.hpp', 'public/client/TracySysTime.hpp', - 'public/client/TracySysTime.hpp', - 'public/client/TracySysTrace.hpp', 'public/client/TracySysTrace.hpp', 'public/client/TracyThread.hpp' ] common_includes = [ 'public/common/tracy_lz4.hpp', - 'public/common/tracy_lz4.hpp', - 'public/common/tracy_lz4hc.hpp', 'public/common/tracy_lz4hc.hpp', 'public/common/TracyAlign.hpp', - 'public/common/TracyAlign.hpp', - 'public/common/TracyAlign.hpp', - 'public/common/TracyAlign.hpp', - 'public/common/TracyAlloc.hpp', 'public/common/TracyAlloc.hpp', 'public/common/TracyApi.h', - 'public/common/TracyApi.h', - 'public/common/TracyColor.hpp', 'public/common/TracyColor.hpp', 'public/common/TracyForceInline.hpp', - 'public/common/TracyForceInline.hpp', - 'public/common/TracyMutex.hpp', 'public/common/TracyMutex.hpp', 'public/common/TracyProtocol.hpp', - 'public/common/TracyProtocol.hpp', - 'public/common/TracyQueue.hpp', 'public/common/TracyQueue.hpp', 'public/common/TracySocket.hpp', - 'public/common/TracySocket.hpp', - 'public/common/TracyStackFrames.hpp', 'public/common/TracyStackFrames.hpp', 'public/common/TracySystem.hpp', - 'public/common/TracySystem.hpp', - 'public/common/TracyUwp.hpp', 'public/common/TracyUwp.hpp', 'public/common/TracyYield.hpp' ] From b8ea4efa902b96d43add32904bfd0b259c224848 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 7 Aug 2022 08:21:40 -0400 Subject: [PATCH 07/15] readded things --- meson.build | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 1d5502ae..4c97cc1f 100644 --- a/meson.build +++ b/meson.build @@ -154,7 +154,7 @@ common_includes = [ tracy_header_files = common_includes + client_includes + includes tracy_src = [ - 'public/TracyClient.cpp', + 'public/TracyClient.cpp' ] tracy_public_include_dirs = include_directories('public') @@ -166,13 +166,13 @@ if compiler.get_id() != 'msvc' endif if tracy_shared_libs - tracy = shared_library('tracy', tracy_src, + tracy = shared_library('tracy', tracy_src, tracy_header_files dependencies : [ threads_dep ], include_directories : tracy_public_include_dirs, override_options : override_options, install : true) else - tracy = static_library('tracy', tracy_src, + tracy = static_library('tracy', tracy_src, tracy_header_files dependencies : [ threads_dep ], include_directories : tracy_public_include_dirs, override_options : override_options, From fd207d57ce12ae2b990012deafc035a0edd10c76 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 7 Aug 2022 08:24:49 -0400 Subject: [PATCH 08/15] typo --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 4c97cc1f..a435cd39 100644 --- a/meson.build +++ b/meson.build @@ -166,13 +166,13 @@ if compiler.get_id() != 'msvc' endif if tracy_shared_libs - tracy = shared_library('tracy', tracy_src, tracy_header_files + tracy = shared_library('tracy', tracy_src, tracy_header_files, dependencies : [ threads_dep ], include_directories : tracy_public_include_dirs, override_options : override_options, install : true) else - tracy = static_library('tracy', tracy_src, tracy_header_files + tracy = static_library('tracy', tracy_src, tracy_header_files, dependencies : [ threads_dep ], include_directories : tracy_public_include_dirs, override_options : override_options, From 906776e5bc2042446d9c3cf69434ab2d651127c9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 14:57:35 -0400 Subject: [PATCH 09/15] Switched to meson wrap packages --- meson.build | 4 ++-- subprojects/.gitignore | 3 +++ subprojects/imgui.wrap | 12 ++++++++++++ subprojects/zstd.wrap | 12 ++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 subprojects/.gitignore create mode 100644 subprojects/imgui.wrap create mode 100644 subprojects/zstd.wrap diff --git a/meson.build b/meson.build index a435cd39..03b952bc 100644 --- a/meson.build +++ b/meson.build @@ -101,6 +101,8 @@ if get_option('tracy_fileselector') == 'none' endif threads_dep = dependency('threads') +imgui = dependency('imgui') +zstd = dependency('zstd') includes = [ 'public/tracy/TracyC.h', @@ -199,7 +201,5 @@ tracy_dep_dynamic = declare_dependency( meson.override_dependency('tracy', tracy_dep) -subdir('zstd') -subdir('imgui') subdir('server') subdir('profiler') diff --git a/subprojects/.gitignore b/subprojects/.gitignore new file mode 100644 index 00000000..fe0b9323 --- /dev/null +++ b/subprojects/.gitignore @@ -0,0 +1,3 @@ +./* +!imgui.wrap +!zstd.wrap \ No newline at end of file diff --git a/subprojects/imgui.wrap b/subprojects/imgui.wrap new file mode 100644 index 00000000..c60d1a41 --- /dev/null +++ b/subprojects/imgui.wrap @@ -0,0 +1,12 @@ +[wrap-file] +directory = imgui-1.87 +source_url = https://github.com/ocornut/imgui/archive/refs/tags/v1.87.tar.gz +source_filename = imgui-1.87.tar.gz +source_hash = b54ceb35bda38766e36b87c25edf7a1cd8fd2cb8c485b245aedca6fb85645a20 +patch_filename = imgui_1.87-4_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/imgui_1.87-4/get_patch +patch_hash = a008fc446e8c09c5a6c985ba94d4ffe04534f8c805f2805afdd0ba17ea6c73f5 +wrapdb_version = 1.87-4 + +[provide] +imgui = imgui_dep diff --git a/subprojects/zstd.wrap b/subprojects/zstd.wrap new file mode 100644 index 00000000..b736b509 --- /dev/null +++ b/subprojects/zstd.wrap @@ -0,0 +1,12 @@ +[wrap-file] +directory = zstd-1.4.5 +source_url = https://github.com/facebook/zstd/releases/download/v1.4.5/zstd-1.4.5.tar.gz +source_filename = zstd-1.4.5.tar.gz +source_hash = 98e91c7c6bf162bf90e4e70fdbc41a8188b9fa8de5ad840c401198014406ce9e +patch_url = https://wrapdb.mesonbuild.com/v2/zstd_1.4.5-1/get_patch +patch_filename = zstd-1.4.5-1-wrap.zip +patch_hash = fd9cb7b9c8f7092ef1597ff68f170beef65fcf33e575a621955cf405a41db1cc + +[provide] +libzstd = libzstd_dep + From 8d82bd4286619f64ea3cdef2f151630700c1d47a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 15:00:03 -0400 Subject: [PATCH 10/15] Fixed build --- .gitignore | 4 ++++ meson.build | 2 +- profiler/meson.build | 2 +- server/meson.build | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 40921279..cb927dc4 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,7 @@ extra/vswhere.exe extra/tracy-build /.cache compile_commands.json + +subprojects/* +!subprojects/imgui.wrap +!subprojects/zstd.wrap \ No newline at end of file diff --git a/meson.build b/meson.build index 03b952bc..f36e8d14 100644 --- a/meson.build +++ b/meson.build @@ -102,7 +102,7 @@ endif threads_dep = dependency('threads') imgui = dependency('imgui') -zstd = dependency('zstd') +zstd = dependency('libzstd') includes = [ 'public/tracy/TracyC.h', diff --git a/profiler/meson.build b/profiler/meson.build index 0c9d5cdc..a9ef1f0b 100644 --- a/profiler/meson.build +++ b/profiler/meson.build @@ -13,7 +13,7 @@ profiler_sources = files( 'src/imgui/imgui_impl_opengl3.cpp') glfw = dependency('glfw3') -deps = [glfw, threads_dep, server_dep, tracy_dep, zstd_dep] +deps = [glfw, threads_dep, server_dep, tracy_dep, zstd] if get_option('tracy_fileselector') == 'gtk' profiler_sources += files('../nfd/nfd_gtk.cpp') diff --git a/server/meson.build b/server/meson.build index a31bd662..afa77f69 100644 --- a/server/meson.build +++ b/server/meson.build @@ -52,6 +52,6 @@ server_sources = files( capstone = dependency('capstone') -deps = [imgui_dep, capstone, tracy_dep] +deps = [imgui, capstone, tracy_dep] server_lib = static_library('tracy_server', server_sources, dependencies: deps, cpp_args: '-UTRACY_ENABLE') server_dep = declare_dependency(dependencies: deps, link_with: server_lib) \ No newline at end of file From 08ac2519032be66dd9d774d87f2674173e581186 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 15:00:24 -0400 Subject: [PATCH 11/15] removed --- subprojects/.gitignore | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 subprojects/.gitignore diff --git a/subprojects/.gitignore b/subprojects/.gitignore deleted file mode 100644 index fe0b9323..00000000 --- a/subprojects/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -./* -!imgui.wrap -!zstd.wrap \ No newline at end of file From 4ae4d8b071d6ddebc7ce3a16dd7d214dcb16aafd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 15:03:47 -0400 Subject: [PATCH 12/15] Fixed imgui build --- meson.build | 2 +- server/meson.build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index f36e8d14..c55f53d5 100644 --- a/meson.build +++ b/meson.build @@ -101,7 +101,6 @@ if get_option('tracy_fileselector') == 'none' endif threads_dep = dependency('threads') -imgui = dependency('imgui') zstd = dependency('libzstd') includes = [ @@ -201,5 +200,6 @@ tracy_dep_dynamic = declare_dependency( meson.override_dependency('tracy', tracy_dep) +subdir('imgui') subdir('server') subdir('profiler') diff --git a/server/meson.build b/server/meson.build index afa77f69..a31bd662 100644 --- a/server/meson.build +++ b/server/meson.build @@ -52,6 +52,6 @@ server_sources = files( capstone = dependency('capstone') -deps = [imgui, capstone, tracy_dep] +deps = [imgui_dep, capstone, tracy_dep] server_lib = static_library('tracy_server', server_sources, dependencies: deps, cpp_args: '-UTRACY_ENABLE') server_dep = declare_dependency(dependencies: deps, link_with: server_lib) \ No newline at end of file From 01159b93e256b02bcb690616340d14cdc5917da7 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 15:11:12 -0400 Subject: [PATCH 13/15] removed zstd --- zstd/meson.build | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 zstd/meson.build diff --git a/zstd/meson.build b/zstd/meson.build deleted file mode 100644 index d0995b92..00000000 --- a/zstd/meson.build +++ /dev/null @@ -1,35 +0,0 @@ -zstd_sources = files( - 'common/debug.c', - 'common/entropy_common.c', - 'common/error_private.c', - 'common/fse_decompress.c', - 'common/pool.c', - 'common/threading.c', - 'common/xxhash.c', - 'common/zstd_common.c', - 'compress/fse_compress.c', - 'compress/hist.c', - 'compress/huf_compress.c', - 'compress/zstd_compress_literals.c', - 'compress/zstd_compress_sequences.c', - 'compress/zstd_compress_superblock.c', - 'compress/zstd_compress.c', - 'compress/zstd_double_fast.c', - 'compress/zstd_fast.c', - 'compress/zstd_lazy.c', - 'compress/zstd_ldm.c', - 'compress/zstd_opt.c', - 'compress/zstdmt_compress.c', - 'decompress/huf_decompress_amd64.S', - 'decompress/huf_decompress.c', - 'decompress/zstd_ddict.c', - 'decompress/zstd_decompress_block.c', - 'decompress/zstd_decompress.c', - 'dictBuilder/cover.c', - 'dictBuilder/divsufsort.c', - 'dictBuilder/fastcover.c', - 'dictBuilder/zdict.c') - -zstd_inc = include_directories('.') -zstd_lib = static_library('zstd', zstd_sources, include_directories: zstd_inc) -zstd_dep = declare_dependency(include_directories: zstd_inc, link_with: zstd_lib) \ No newline at end of file From 40557153fc17c832d9675a6fb3dcafe5f160e44e Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 16:10:30 -0400 Subject: [PATCH 14/15] Updated the server build to not use the TracyClient.cpp --- profiler/meson.build | 2 +- server/meson.build | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/profiler/meson.build b/profiler/meson.build index a9ef1f0b..ece8a5cd 100644 --- a/profiler/meson.build +++ b/profiler/meson.build @@ -13,7 +13,7 @@ profiler_sources = files( 'src/imgui/imgui_impl_opengl3.cpp') glfw = dependency('glfw3') -deps = [glfw, threads_dep, server_dep, tracy_dep, zstd] +deps = [glfw, threads_dep, server_dep, zstd] if get_option('tracy_fileselector') == 'gtk' profiler_sources += files('../nfd/nfd_gtk.cpp') diff --git a/server/meson.build b/server/meson.build index a31bd662..003a490d 100644 --- a/server/meson.build +++ b/server/meson.build @@ -1,5 +1,9 @@ server_sources = files( + '../public/common/tracy_lz4.cpp', '../public/common/tracy_lz4hc.cpp', + '../public/common/TracySocket.cpp', + '../public/common/TracyStackFrames.cpp', + '../public/common/TracySystem.cpp', 'TracyBadVersion.cpp', 'TracyColor.cpp', # 'TracyEventDebug.cpp', @@ -52,6 +56,6 @@ server_sources = files( capstone = dependency('capstone') -deps = [imgui_dep, capstone, tracy_dep] +deps = [imgui_dep, capstone] server_lib = static_library('tracy_server', server_sources, dependencies: deps, cpp_args: '-UTRACY_ENABLE') server_dep = declare_dependency(dependencies: deps, link_with: server_lib) \ No newline at end of file From 8160e959ad4c2cf01a53ed2fc9edf9d6e1fb596b Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:10:57 -0400 Subject: [PATCH 15/15] Removed uneeded things --- profiler/meson.build | 2 +- subprojects/imgui.wrap | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 subprojects/imgui.wrap diff --git a/profiler/meson.build b/profiler/meson.build index ece8a5cd..f2d01c40 100644 --- a/profiler/meson.build +++ b/profiler/meson.build @@ -26,4 +26,4 @@ endif profiler_inc = include_directories('src', 'src/imgui') -executable('profiler', profiler_sources, include_directories: profiler_inc, dependencies: deps, cpp_args: '-UTRACY_ENABLE') \ No newline at end of file +executable('profiler', profiler_sources, include_directories: profiler_inc, dependencies: deps) \ No newline at end of file diff --git a/subprojects/imgui.wrap b/subprojects/imgui.wrap deleted file mode 100644 index c60d1a41..00000000 --- a/subprojects/imgui.wrap +++ /dev/null @@ -1,12 +0,0 @@ -[wrap-file] -directory = imgui-1.87 -source_url = https://github.com/ocornut/imgui/archive/refs/tags/v1.87.tar.gz -source_filename = imgui-1.87.tar.gz -source_hash = b54ceb35bda38766e36b87c25edf7a1cd8fd2cb8c485b245aedca6fb85645a20 -patch_filename = imgui_1.87-4_patch.zip -patch_url = https://wrapdb.mesonbuild.com/v2/imgui_1.87-4/get_patch -patch_hash = a008fc446e8c09c5a6c985ba94d4ffe04534f8c805f2805afdd0ba17ea6c73f5 -wrapdb_version = 1.87-4 - -[provide] -imgui = imgui_dep