google_benchmark = subproject('google-benchmark') google_benchmark_dep = google_benchmark.get_variable('google_benchmark_dep') ttf_parser_dep = null_dep if get_option('experimental_api') and add_languages('rust', required: false, native: true) ttf_parser_dep = subproject('ttf-parser').get_variable('ttf_parser_dep') endif benchmark('perf', executable('perf', 'perf.cc', dependencies: [ google_benchmark_dep, freetype_dep, # the last two, thread and dl, aren't nice as ttf-parser isn't no_std yet # https://github.com/RazrFalcon/ttf-parser/issues/29 ttf_parser_dep, thread_dep, cpp.find_library('dl'), ], cpp_args: ttf_parser_dep.found() ? ['-DHAVE_TTFPARSER'] : [], include_directories: [incconfig, incsrc], link_with: [libharfbuzz], install: false, ), workdir: meson.current_source_dir() / '..', timeout: 100) benchmark('benchmark-shape', executable('benchmark-shape', 'benchmark-shape.cc', dependencies: [ google_benchmark_dep, ], cpp_args: [], include_directories: [incconfig, incsrc], link_with: [libharfbuzz], install: false, ), workdir: meson.current_source_dir() / '..', timeout: 100) benchmark('benchmark-set', executable('benchmark-set', 'benchmark-set.cc', dependencies: [ google_benchmark_dep, ], cpp_args: [], include_directories: [incconfig, incsrc], link_with: [libharfbuzz], install: false, ), workdir: meson.current_source_dir() / '..', timeout: 100) benchmark('benchmark-map', executable('benchmark-map', 'benchmark-map.cc', dependencies: [ google_benchmark_dep, ], cpp_args: [], include_directories: [incconfig, incsrc], link_with: [libharfbuzz], install: false, ), workdir: meson.current_source_dir() / '..', timeout: 100) benchmark('benchmark-subset', executable('benchmark-subset', 'benchmark-subset.cc', dependencies: [ google_benchmark_dep, ], cpp_args: [], include_directories: [incconfig, incsrc], link_with: [libharfbuzz, libharfbuzz_subset], install: false, ), workdir: meson.current_source_dir() / '..', timeout: 100)