
list(APPEND cairo_all_tests
	a1-image-sample
	a1-mask
	a1-traps-sample
	a8-mask
	alpha-similar
	big-line
	big-trap
	bilevel-image
	caps-joins
	caps-joins-alpha
	caps-sub-paths
	clip-all
	clip-empty
	clip-fill-rule
	clip-fill-rule-pixel-aligned
	clip-nesting
	clip-operator
	clip-push-group
	clip-twice
	clip-zero
	clipped-group
	clipped-surface
	close-path
	composite-integer-translate-source
	composite-integer-translate-over
	composite-integer-translate-over-repeat
	copy-path
	create-for-stream
	create-from-png
	create-from-png-stream
	dash-caps-joins
	dash-curve
	dash-no-dash
	dash-offset-negative
	dash-scale
	dash-state
	dash-zero-length
	degenerate-arc
	degenerate-path
	degenerate-pen
	device-offset
	device-offset-fractional
	device-offset-positive
	device-offset-scale
	extend-pad
	extend-reflect
	extend-reflect-similar
	extend-repeat
	extend-repeat-similar
	fill-alpha
	fill-alpha-pattern
	fill-and-stroke
	fill-and-stroke-alpha
	fill-and-stroke-alpha-add
	fill-degenerate-sort-order
	fill-missed-stop
	fill-rule
	filter-bilinear-extents
	filter-nearest-offset
	filter-nearest-transformed
	finer-grained-fallbacks
	font-face-get-type
	font-matrix-translation
	font-options
	glyph-cache-pressure
	get-and-set
	get-clip
	get-group-target
	get-path-extents
	gradient-alpha
	gradient-constant-alpha
	gradient-zero-stops
	group-paint					
	huge-pattern					
	image-surface-source				
	infinite-join					
	in-fill-empty-trapezoid			
	in-fill-trapezoid				
	invalid-matrix					
	large-clip					
	large-font					
	large-source					
	leaky-dash					
	leaky-dashed-rectangle				
	leaky-dashed-stroke				
	leaky-polygon					
	line-width					
	line-width-scale				
	line-width-zero				
	linear-gradient				
	linear-gradient-reflect			
	long-dashed-lines				
	long-lines					
	mask						
	mask-alpha					
	mask-ctm					
	mask-surface-ctm				
	mask-transformed-image				
	mask-transformed-similar			
	meta-surface-pattern				
	miter-precision				
	move-to-show-surface				
	new-sub-path					
	nil-surface					
	operator					
	operator-alpha					
	operator-clear					
	operator-source				
	over-above-source				
	over-around-source				
	over-below-source				
	over-between-source				
	paint						
	paint-repeat					
	paint-source-alpha				
	paint-with-alpha				
	pass-through					
	pattern-get-type				
	pattern-getters				
	pixman-rotate					
#	png						
	push-group					
	radial-gradient				
	random-intersections				
	rectangle-rounding-error			
	rectilinear-fill				
	rectilinear-miter-limit			
	rectilinear-stroke				
	reflected-stroke				
	rel-path					
	rgb24-ignore-alpha				
	rotate-image-surface-paint			
	scale-down-source-surface-paint		
	scale-source-surface-paint			
	stroke-ctm-caps				
	stroke-image				        
	select-font-face				
	select-font-no-show-text			
	self-copy					
	self-copy-overlap				
	self-intersecting				
	set-source					
	show-glyphs-many				
	show-text-current-point			
	skew-extreme					
	smask						
	smask-fill					
	smask-image-mask				
	smask-mask					
	smask-paint					
	smask-stroke					
	smask-text					
	solid-pattern-cache-stress			
	source-clip					
	source-clip-scale				
	source-surface-scale-paint			
	spline-decomposition				
	surface-finish-twice				
	surface-pattern				
	surface-pattern-big-scale-down			
	surface-pattern-scale-down			
	surface-pattern-scale-up			
	text-antialias-gray				
	text-antialias-none				
	text-antialias-subpixel			
	text-cache-crash				
	text-pattern					
	text-rotate					
	text-transform					
	text-zero-len					
	toy-font-face					
	transforms					
	translate-show-surface				
	trap-clip					
	truetype-tables				
	unantialiased-shapes				
	unbounded-operator				
	user-data					
	user-font					
	user-font-mask					
	user-font-proxy				
	user-font-rescale				
	zero-alpha
)

include_directories(. ../src ../boilerplate ./pdiff)

add_library(cairotest STATIC cairo-test.c buffer-diff.c imagediff.c pdiff/lpyramid.c pdiff/pdiff.c)

foreach(_test_item ${cairo_all_tests})
	add_executable(${_test_item} EXCLUDE_FROM_ALL ${_test_item}.c)
	target_link_libraries(${_test_item} cairo cairoboilerplate cairotest)
endforeach(_test_item)

