summaryrefslogtreecommitdiff
path: root/perf
diff options
context:
space:
mode:
authorUli Schlachter <psychon@znc.in>2021-05-15 10:53:08 +0200
committerUli Schlachter <psychon@znc.in>2021-05-15 10:53:08 +0200
commit339671c7872335a5ce748a635a314cbe375e303e (patch)
tree63edf7232c23d1790b432869da552e217bc1c03e /perf
parent1c5b4716f727584373178ff5aa46d6f2df400b84 (diff)
downloadcairo-339671c7872335a5ce748a635a314cbe375e303e.tar.gz
meson: Add perf/ directory
This adds the code under perf/ to meson. The only testing I did was "it builds for me". I do not have gtk+2 installed and so I did not even try whether that thing builds. Besides that, I mostly tried to stay close to the autofoo build.
Diffstat (limited to 'perf')
-rw-r--r--perf/meson.build93
-rw-r--r--perf/micro/meson.build57
2 files changed, 150 insertions, 0 deletions
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],
+)