diff options
author | David McCloskey <davmcclo@gmail.com> | 2022-04-08 20:18:08 +0300 |
---|---|---|
committer | David McCloskey <davmcclo@gmail.com> | 2022-04-08 20:18:08 +0300 |
commit | ce8cb54b1bc3e619adf45b1b3c3bc7b35212d51b (patch) | |
tree | 8be2549e8d5eb0e1728260308a8d57c6a33a1d54 /meson.build | |
parent | 1fd39e90b929421328993363c372d6b8a49963aa (diff) |
Updating meson to perform a full build.
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 171 |
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) |