Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid McCloskey <davmcclo@gmail.com>2022-04-08 20:18:08 +0300
committerDavid McCloskey <davmcclo@gmail.com>2022-04-08 20:18:08 +0300
commitce8cb54b1bc3e619adf45b1b3c3bc7b35212d51b (patch)
tree8be2549e8d5eb0e1728260308a8d57c6a33a1d54 /meson.build
parent1fd39e90b929421328993363c372d6b8a49963aa (diff)
Updating meson to perform a full build.
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build171
1 files changed, 169 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index dc2fd688..935cabde 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,172 @@
-project('tracy')
+project('tracy', ['cpp'])
-tracy_dep = declare_dependency(include_directories : include_directories('.'))
+if get_option('tracy_enable')
+ add_project_arguments('-DTRACY_ENABLE', language : 'cpp')
+endif
+
+if get_option('tracy_on_demand')
+ add_project_arguments('-DTRACY_ON_DEMAND', language : 'cpp')
+endif
+
+if get_option('tracy_callstack')
+ add_project_arguments('-DTRACY_CALLSTACK', language : 'cpp')
+endif
+
+if get_option('tracy_no_callstack')
+ add_project_arguments('-DTRACY_NO_CALLSTACK', language : 'cpp')
+endif
+
+if get_option('tracy_no_callstack_inlines')
+ add_project_arguments('-DTRACY_NO_CALLSTACK_INLINES', language : 'cpp')
+endif
+
+if get_option('tracy_only_localhost')
+ add_project_arguments('-DTRACY_ONLY_LOCALHOST', language : 'cpp')
+endif
+
+if get_option('tracy_no_broadcast')
+ add_project_arguments('-DTRACY_NO_BROADCAST', language : 'cpp')
+endif
+
+if get_option('tracy_only_ipv4')
+ add_project_arguments('-DTRACY_ONLY_IPV4', language : 'cpp')
+endif
+
+if get_option('tracy_no_code_transfer')
+ add_project_arguments('-DTRACY_NO_CODE_TRANSFER', language : 'cpp')
+endif
+
+if get_option('tracy_no_context_switch')
+ add_project_arguments('-DTRACY_NO_CONTEXT_SWITCH', language : 'cpp')
+endif
+
+if get_option('tracy_no_exit')
+ add_project_arguments('-DTRACY_NO_EXIT', language : 'cpp')
+endif
+
+if get_option('tracy_no_sampling')
+ add_project_arguments('-DTRACY_NO_SAMPLING', language : 'cpp')
+endif
+
+if get_option('tracy_no_verify')
+ add_project_arguments('-DTRACY_NO_VERIFY', language : 'cpp')
+endif
+
+if get_option('tracy_no_vsync_capture')
+ add_project_arguments('-DTRACY_NO_VSYNC_CAPTURE', language : 'cpp')
+endif
+
+if get_option('tracy_no_frame_image')
+ add_project_arguments('-DTRACY_NO_FRAME_IMAGE', language : 'cpp')
+endif
+
+if get_option('tracy_delayed_init')
+ add_project_arguments('-DTRACY_DELAYED_INIT', language : 'cpp')
+endif
+
+if get_option('tracy_manual_lifetime')
+ add_project_arguments('-DTRACY_MANUAL_LIFETIME', language : 'cpp')
+endif
+
+if get_option('tracy_fibers')
+ add_project_arguments('-DTRACY_FIBERS', language : 'cpp')
+endif
+
+tracy_shared_libs = get_option('tracy_shared_libs')
+if tracy_shared_libs
+ add_project_arguments('-DTRACY_EXPORTS', language : 'cpp')
+endif
+
+threads_dep = dependency('threads')
+
+includes = [
+ 'TracyC.h',
+ 'Tracy.hpp',
+ 'TracyD3D11.hpp',
+ 'TracyD3D12.hpp',
+ 'TracyLua.hpp',
+ 'TracyOpenCL.hpp',
+ 'TracyOpenGL.hpp',
+ 'TracyVulkan.hpp'
+]
+
+client_includes = [
+ 'client/tracy_concurrentqueue.h',
+ 'client/tracy_rpmalloc.hpp',
+ 'client/tracy_SPSCQueue.h',
+ 'client/TracyArmCpuTable.hpp',
+ 'client/TracyCallstack.h',
+ 'client/TracyCallstack.hpp',
+ 'client/TracyDebug.hpp',
+ 'client/TracyDxt1.hpp',
+ 'client/TracyFastVector.hpp',
+ 'client/TracyLock.hpp',
+ 'client/TracyProfiler.hpp',
+ 'client/TracyRingBuffer.hpp',
+ 'client/TracyScoped.hpp',
+ 'client/TracyStringHelpers.hpp',
+ 'client/TracySysTime.hpp',
+ 'client/TracySysTrace.hpp',
+ 'client/TracyThread.hpp'
+]
+
+common_includes = [
+ 'common/tracy_lz4.hpp',
+ 'common/tracy_lz4hc.hpp',
+ 'common/TracyAlign.hpp',
+ 'common/TracyAlign.hpp',
+ 'common/TracyAlloc.hpp',
+ 'common/TracyApi.h',
+ 'common/TracyColor.hpp',
+ 'common/TracyForceInline.hpp',
+ 'common/TracyMutex.hpp',
+ 'common/TracyProtocol.hpp',
+ 'common/TracyQueue.hpp',
+ 'common/TracySocket.hpp',
+ 'common/TracyStackFrames.hpp',
+ 'common/TracySystem.hpp',
+ 'common/TracyUwp.hpp',
+ 'common/TracyYield.hpp'
+]
+
+tracy_header_files = common_includes + client_includes + includes
+
+tracy_src = [
+ 'TracyClient.cpp'
+]
+
+tracy_public_include_dirs = include_directories('.')
+
+if tracy_shared_libs
+ tracy = shared_library('tracy', tracy_src, tracy_header_files,
+ dependencies : [ threads_dep ],
+ include_directories : tracy_public_include_dirs,
+ override_options : [ 'cpp_std=c++11' ],
+ install : true)
+else
+ tracy = static_library('tracy', tracy_src, tracy_header_files,
+ dependencies : [ threads_dep ],
+ include_directories : tracy_public_include_dirs,
+ override_options : [ 'cpp_std=c++11' ],
+ install : true)
+endif
+
+install_headers(includes)
+install_headers(common_includes, subdir : 'common')
+install_headers(client_includes, subdir : 'client')
+
+tracy_dep_compile_args = []
+
+if tracy_shared_libs
+ tracy_dep_compile_args += [ '-DTRACY_IMPORTS' ]
+endif
+
+tracy_dep = declare_dependency(
+ compile_args : tracy_dep_compile_args,
+ link_with : tracy,
+ include_directories : tracy_public_include_dirs)
+
+tracy_dep_dynamic = declare_dependency(
+ include_directories : tracy_public_include_dirs)
meson.override_dependency('tracy', tracy_dep)