diff options
-rw-r--r-- | meson.build | 1 | ||||
-rw-r--r-- | perf/meson.build | 93 | ||||
-rw-r--r-- | perf/micro/meson.build | 57 |
3 files changed, 151 insertions, 0 deletions
diff --git a/meson.build b/meson.build index 06df7f9c1..11002f501 100644 --- a/meson.build +++ b/meson.build @@ -901,6 +901,7 @@ subdir('util') if not get_option('tests').disabled() and feature_conf.get('CAIRO_HAS_PNG_FUNCTIONS', 0) == 1 subdir('test') + subdir('perf') endif configure_file(output: 'config.h', configuration: conf) diff --git a/perf/meson.build b/perf/meson.build new file mode 100644 index 000000000..40ebeea05 --- /dev/null +++ b/perf/meson.build @@ -0,0 +1,93 @@ +incmicro = include_directories('.') + +subdir('micro') + +gtk2_dep = dependency('gtk+-2.0', required: false) + +libcairoperf = static_library('cairoperf', + [ + 'cairo-perf.c', + 'cairo-perf-report.c', + 'cairo-stats.c', + '../src/cairo-time.c', + 'cairo-perf.h', + 'cairo-stats.h', + ], + include_directories: [incbase, incsrc, incboilerplate, inccairomissing], + link_with: [libcairomissing, libcairoboilerplate], + dependencies: [pixman_dep], +) + + +analyse_trace = executable('cairo-analyse-trace', + [ + 'cairo-analyse-trace.c', + '../src/cairo-error.c', + ], + include_directories: [incbase, incsrc, incboilerplate, inccairoscript, inccairomissing], + link_with: [libcairo, libcairoboilerplate, libcairoscript, libcairomissing], + dependencies: [pixman_dep, fontconfig_dep], +) + +perf_trace = executable('cairo-perf-trace', + [ + 'cairo-perf-trace.c', + '../src/cairo-error.c', + '../src/cairo-hash.c', + ], + include_directories: [incbase, incsrc, incboilerplate, inccairoscript, inccairomissing], + link_with: [libcairoperf, libcairoscript], + dependencies: [pixman_dep, fontconfig_dep], +) + +micro = executable('cairo-perf-micro', + [ 'cairo-perf-micro.c', ], + include_directories: [incbase, incsrc, incboilerplate, inccairomissing], + link_with: [libcairoperf, libcairoperfmicro], + dependencies: [fontconfig_dep], +) + +diff_files = executable('cairo-perf-diff-files', + [ + 'cairo-perf-diff-files.c', + ], + include_directories: [incbase, incsrc, incboilerplate], + link_with: [libcairoperf], +) + +print = executable('cairo-perf-print', + [ + 'cairo-perf-print.c', + ], + include_directories: [incbase, incsrc, incboilerplate], + link_with: [libcairoperf], +) + +chart = executable('cairo-perf-chart', + [ + 'cairo-perf-chart.c', + ], + include_directories: [incbase, incsrc, incboilerplate], + link_with: [libcairoperf], +) + +compare_backends = executable('cairo-perf-compare-backends', + [ + 'cairo-perf-compare-backends.c', + ], + include_directories: [incbase, incsrc, incboilerplate], + link_with: [libcairoperf], +) + +if gtk2_dep.found() + graph_files = executable('cairo-perf-graph', + [ + 'cairo-perf-graph-files.c', + 'cairo-perf-graph-widget.c', + 'cairo-perf-graph.h', + ], + include_directories: [incbase, incsrc, incboilerplate], + link_with: [libcairo, libcairoboilerplate, libcairoperf], + dependencies: [gtk2_dep], + ) +endif diff --git a/perf/micro/meson.build b/perf/micro/meson.build new file mode 100644 index 000000000..5ee45b5ce --- /dev/null +++ b/perf/micro/meson.build @@ -0,0 +1,57 @@ +perf_micro_sources = [ + 'cairo-perf-cover.c', + 'box-outline.c', + 'composite-checker.c', + 'disjoint.c', + 'fill.c', + 'hatching.c', + 'hash-table.c', + 'line.c', + 'a1-line.c', + 'long-lines.c', + 'mosaic.c', + 'paint.c', + 'paint-with-alpha.c', + 'mask.c', + 'pattern_create_radial.c', + 'rectangles.c', + 'rounded-rectangles.c', + 'stroke.c', + 'subimage_copy.c', + 'tessellate.c', + 'text.c', + 'tiger.c', + 'glyphs.c', + 'twin.c', + 'unaligned-clip.c', + 'wave.c', + 'world-map.c', + 'zrusin.c', + 'long-dashed-lines.c', + 'dragon.c', + 'pythagoras-tree.c', + 'intersections.c', + 'many-strokes.c', + 'wide-strokes.c', + 'many-fills.c', + 'wide-fills.c', + 'many-curves.c', + 'curve.c', + 'a1-curve.c', + 'spiral.c', + 'pixel.c', + 'sierpinski.c', + 'fill-clip.c', +] + +perf_micro_headers = [ + 'mosaic.h', + 'world-map.h', + 'zrusin-another.h', +] + +libcairoperfmicro = static_library('cairo-perf-micro', + perf_micro_sources + perf_micro_headers, + include_directories: [incbase, incsrc, incboilerplate, incmicro], + dependencies: [pixman_dep], +) |