mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
157 lines
4.2 KiB
Meson
157 lines
4.2 KiB
Meson
project('tracy', ['cpp', 'c'], default_options: 'cpp_std=c++17')
|
|
|
|
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_no_system_tracing')
|
|
add_project_arguments('-DTRACY_NO_SYSTEM_TRACING', 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
|
|
|
|
if get_option('tracy_timer_fallback')
|
|
add_project_arguments('-DTRACY_TIMER_FALLBACK', language : 'cpp')
|
|
endif
|
|
|
|
tracy_shared_libs = get_option('tracy_shared_libs')
|
|
if tracy_shared_libs
|
|
add_project_arguments('-DTRACY_EXPORTS', language : 'cpp')
|
|
endif
|
|
|
|
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')
|
|
add_project_arguments('-DGLFW_EXPOSE_NATIVE_WAYLAND', language: 'cpp')
|
|
else
|
|
add_project_arguments('-DDISPLAY_SERVER_X11', language: 'cpp')
|
|
endif
|
|
|
|
if get_option('tracy_fileselector') == 'none'
|
|
add_project_arguments('-DTRACY_NO_FILESELECTOR', language: 'cpp')
|
|
endif
|
|
|
|
threads_dep = dependency('threads')
|
|
|
|
# tracy_header_files = common_includes + client_includes + includes
|
|
|
|
tracy_src = [
|
|
'public/TracyClient.cpp',
|
|
]
|
|
|
|
tracy_public_include_dirs = include_directories('public')
|
|
|
|
compiler = meson.get_compiler('cpp')
|
|
override_options = []
|
|
if compiler.get_id() != 'msvc'
|
|
override_options += 'cpp_std=c++11'
|
|
endif
|
|
|
|
if tracy_shared_libs
|
|
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,
|
|
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')
|
|
|
|
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)
|
|
|
|
subdir('zstd')
|
|
subdir('imgui')
|
|
subdir('server')
|
|
subdir('profiler')
|