Create .gni files for samples, tests, gms, and benches.
Calling Python to find all these files is convenient, but error-prone. It's easy to forget to call GN again when adding a file. Each of these calls to Python also adds ~50ms to the run time of gn gen, which is small but adds up.
On my desktop, gn gen drops from 600ms to 150ms, noticeably faster.
This leaves one call to find.py for generating skia.h for fiddle. We're not quite sure how to automate that process to happen entirely inside the :skia.h action while maintaining correct dependencies, so I'm leaving it for now.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4036
Change-Id: Ib9d355b97900f29afebc65311ceef50537e46dda
Reviewed-on: https://skia-review.googlesource.com/4036
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/gn/gm.gni b/gn/gm.gni
new file mode 100644
index 0000000..6d68f12
--- /dev/null
+++ b/gn/gm.gni
@@ -0,0 +1,303 @@
+# Copyright 2016 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Things are easiest for everyone if these source paths are absolute.
+_gm = get_path_info("../gm", "abspath")
+
+gm_sources = [
+ "$_gm/aaa.cpp",
+ "$_gm/aaclip.cpp",
+ "$_gm/aarectmodes.cpp",
+ "$_gm/aaxfermodes.cpp",
+ "$_gm/addarc.cpp",
+ "$_gm/all_bitmap_configs.cpp",
+ "$_gm/alphagradients.cpp",
+ "$_gm/animatedGif.cpp",
+ "$_gm/anisotropic.cpp",
+ "$_gm/annotated_text.cpp",
+ "$_gm/arcofzorro.cpp",
+ "$_gm/arcto.cpp",
+ "$_gm/arithmode.cpp",
+ "$_gm/badpaint.cpp",
+ "$_gm/beziereffects.cpp",
+ "$_gm/beziers.cpp",
+ "$_gm/bigblurs.cpp",
+ "$_gm/bigmatrix.cpp",
+ "$_gm/bigrrectaaeffect.cpp",
+ "$_gm/bigtext.cpp",
+ "$_gm/bigtileimagefilter.cpp",
+ "$_gm/bitmapcopy.cpp",
+ "$_gm/bitmapfilters.cpp",
+ "$_gm/bitmapimage.cpp",
+ "$_gm/bitmappremul.cpp",
+ "$_gm/bitmaprect.cpp",
+ "$_gm/bitmaprecttest.cpp",
+ "$_gm/bitmapshader.cpp",
+ "$_gm/bleed.cpp",
+ "$_gm/blend.cpp",
+ "$_gm/blurcircles.cpp",
+ "$_gm/blurcircles2.cpp",
+ "$_gm/blurquickreject.cpp",
+ "$_gm/blurrect.cpp",
+ "$_gm/blurredclippedcircle.cpp",
+ "$_gm/blurroundrect.cpp",
+ "$_gm/blurs.cpp",
+ "$_gm/bmpfilterqualityrepeat.cpp",
+ "$_gm/bug5252.cpp",
+ "$_gm/bug530095.cpp",
+ "$_gm/bug615686.cpp",
+ "$_gm/cgm.c",
+ "$_gm/cgms.cpp",
+ "$_gm/circles.cpp",
+ "$_gm/circulararcs.cpp",
+ "$_gm/circularclips.cpp",
+ "$_gm/clip_strokerect.cpp",
+ "$_gm/clipdrawdraw.cpp",
+ "$_gm/clippedbitmapshaders.cpp",
+ "$_gm/color4f.cpp",
+ "$_gm/colorcube.cpp",
+ "$_gm/coloremoji.cpp",
+ "$_gm/colorfilterimagefilter.cpp",
+ "$_gm/colorfilters.cpp",
+ "$_gm/colormatrix.cpp",
+ "$_gm/colorspacexform.cpp",
+ "$_gm/colortype.cpp",
+ "$_gm/colortypexfermode.cpp",
+ "$_gm/colorwheel.cpp",
+ "$_gm/complexclip.cpp",
+ "$_gm/complexclip_blur_tiled.cpp",
+ "$_gm/complexclip2.cpp",
+ "$_gm/complexclip3.cpp",
+ "$_gm/composeshader.cpp",
+ "$_gm/concavepaths.cpp",
+ "$_gm/conicpaths.cpp",
+ "$_gm/constcolorprocessor.cpp",
+ "$_gm/convex_all_line_paths.cpp",
+ "$_gm/convexpaths.cpp",
+ "$_gm/convexpolyclip.cpp",
+ "$_gm/convexpolyeffect.cpp",
+ "$_gm/copyTo4444.cpp",
+ "$_gm/croppedrects.cpp",
+ "$_gm/cubicpaths.cpp",
+ "$_gm/dashcircle.cpp",
+ "$_gm/dashcubics.cpp",
+ "$_gm/dashing.cpp",
+ "$_gm/deferredtextureimage.cpp",
+ "$_gm/degeneratesegments.cpp",
+ "$_gm/dftext.cpp",
+ "$_gm/discard.cpp",
+ "$_gm/displacement.cpp",
+ "$_gm/distantclip.cpp",
+ "$_gm/downsamplebitmap.cpp",
+ "$_gm/draw_bitmap_rect_skbug4374.cpp",
+ "$_gm/drawable.cpp",
+ "$_gm/drawatlas.cpp",
+ "$_gm/drawatlascolor.cpp",
+ "$_gm/drawbitmaprect.cpp",
+ "$_gm/drawfilter.cpp",
+ "$_gm/drawlooper.cpp",
+ "$_gm/drawminibitmaprect.cpp",
+ "$_gm/drawregion.cpp",
+ "$_gm/drawregionmodes.cpp",
+ "$_gm/dropshadowimagefilter.cpp",
+ "$_gm/drrect.cpp",
+ "$_gm/dstreadshuffle.cpp",
+ "$_gm/emboss.cpp",
+ "$_gm/emptypath.cpp",
+ "$_gm/encode.cpp",
+ "$_gm/encode-platform.cpp",
+ "$_gm/extractbitmap.cpp",
+ "$_gm/fadefilter.cpp",
+ "$_gm/fatpathfill.cpp",
+ "$_gm/filltypes.cpp",
+ "$_gm/filltypespersp.cpp",
+ "$_gm/filterbitmap.cpp",
+ "$_gm/filterfastbounds.cpp",
+ "$_gm/filterindiabox.cpp",
+ "$_gm/fontcache.cpp",
+ "$_gm/fontmgr.cpp",
+ "$_gm/fontscaler.cpp",
+ "$_gm/fontscalerdistortable.cpp",
+ "$_gm/gamma.cpp",
+ "$_gm/gammacolorfilter.cpp",
+ "$_gm/gammatext.cpp",
+ "$_gm/gamut.cpp",
+ "$_gm/gaussianedge.cpp",
+ "$_gm/getpostextpath.cpp",
+ "$_gm/giantbitmap.cpp",
+ "$_gm/glyph_pos.cpp",
+ "$_gm/glyph_pos_align.cpp",
+ "$_gm/gm.cpp",
+ "$_gm/gradient_matrix.cpp",
+ "$_gm/gradientDirtyLaundry.cpp",
+ "$_gm/gradients.cpp",
+ "$_gm/gradients_2pt_conical.cpp",
+ "$_gm/gradients_no_texture.cpp",
+ "$_gm/gradtext.cpp",
+ "$_gm/grayscalejpg.cpp",
+ "$_gm/hairlines.cpp",
+ "$_gm/hairmodes.cpp",
+ "$_gm/hardstop_gradients.cpp",
+ "$_gm/hittestpath.cpp",
+ "$_gm/image.cpp",
+ "$_gm/image_pict.cpp",
+ "$_gm/image_shader.cpp",
+ "$_gm/imagealphathreshold.cpp",
+ "$_gm/imageblur.cpp",
+ "$_gm/imageblur2.cpp",
+ "$_gm/imageblurtiled.cpp",
+ "$_gm/imagefilters.cpp",
+ "$_gm/imagefiltersbase.cpp",
+ "$_gm/imagefiltersclipped.cpp",
+ "$_gm/imagefilterscropexpand.cpp",
+ "$_gm/imagefilterscropped.cpp",
+ "$_gm/imagefiltersgraph.cpp",
+ "$_gm/imagefiltersscaled.cpp",
+ "$_gm/imagefiltersstroked.cpp",
+ "$_gm/imagefilterstransformed.cpp",
+ "$_gm/imagefromyuvtextures.cpp",
+ "$_gm/imagemagnifier.cpp",
+ "$_gm/imagemakewithfilter.cpp",
+ "$_gm/imagemasksubset.cpp",
+ "$_gm/imageresizetiled.cpp",
+ "$_gm/imagescalealigned.cpp",
+ "$_gm/imagesource.cpp",
+ "$_gm/imagesource2.cpp",
+ "$_gm/imagetoyuvplanes.cpp",
+ "$_gm/internal_links.cpp",
+ "$_gm/inversepaths.cpp",
+ "$_gm/labpcsdemo.cpp",
+ "$_gm/largeglyphblur.cpp",
+ "$_gm/lattice.cpp",
+ "$_gm/lcdblendmodes.cpp",
+ "$_gm/lcdoverlap.cpp",
+ "$_gm/lcdtext.cpp",
+ "$_gm/lighting.cpp",
+ "$_gm/lightingshader.cpp",
+ "$_gm/lightingshader2.cpp",
+ "$_gm/lightingshaderbevel.cpp",
+ "$_gm/linepaths.cpp",
+ "$_gm/localmatriximagefilter.cpp",
+ "$_gm/lumafilter.cpp",
+ "$_gm/matrixconvolution.cpp",
+ "$_gm/matriximagefilter.cpp",
+ "$_gm/megalooper.cpp",
+ "$_gm/mipmap.cpp",
+ "$_gm/mixedtextblobs.cpp",
+ "$_gm/modecolorfilters.cpp",
+ "$_gm/morphology.cpp",
+ "$_gm/multipicturedraw.cpp",
+ "$_gm/nested.cpp",
+ "$_gm/ninepatchstretch.cpp",
+ "$_gm/nonclosedpaths.cpp",
+ "$_gm/occludedrrectblur.cpp",
+ "$_gm/offsetimagefilter.cpp",
+ "$_gm/ovals.cpp",
+ "$_gm/OverStroke.cpp",
+ "$_gm/patch.cpp",
+ "$_gm/patchgrid.cpp",
+ "$_gm/path_stroke_with_zero_length.cpp",
+ "$_gm/pathcontourstart.cpp",
+ "$_gm/patheffects.cpp",
+ "$_gm/pathfill.cpp",
+ "$_gm/pathinterior.cpp",
+ "$_gm/pathmaskcache.cpp",
+ "$_gm/pathopsinverse.cpp",
+ "$_gm/pathopsskpclip.cpp",
+ "$_gm/pathreverse.cpp",
+ "$_gm/pdf_never_embed.cpp",
+ "$_gm/perlinnoise.cpp",
+ "$_gm/perspshaders.cpp",
+ "$_gm/picture.cpp",
+ "$_gm/pictureimagefilter.cpp",
+ "$_gm/pictureimagegenerator.cpp",
+ "$_gm/pictureshader.cpp",
+ "$_gm/pictureshadertile.cpp",
+ "$_gm/pixelsnap.cpp",
+ "$_gm/plus.cpp",
+ "$_gm/points.cpp",
+ "$_gm/poly2poly.cpp",
+ "$_gm/polygons.cpp",
+ "$_gm/quadpaths.cpp",
+ "$_gm/recordopts.cpp",
+ "$_gm/rectangletexture.cpp",
+ "$_gm/rects.cpp",
+ "$_gm/repeated_bitmap.cpp",
+ "$_gm/resizeimagefilter.cpp",
+ "$_gm/reveal.cpp",
+ "$_gm/roundrects.cpp",
+ "$_gm/rrect.cpp",
+ "$_gm/rrectclipdrawpaint.cpp",
+ "$_gm/rrects.cpp",
+ "$_gm/samplerstress.cpp",
+ "$_gm/scaledstrokes.cpp",
+ "$_gm/shaderbounds.cpp",
+ "$_gm/shadertext.cpp",
+ "$_gm/shadertext2.cpp",
+ "$_gm/shadertext3.cpp",
+ "$_gm/shadowmaps.cpp",
+ "$_gm/shadows.cpp",
+ "$_gm/shallowgradient.cpp",
+ "$_gm/shapes.cpp",
+ "$_gm/showmiplevels.cpp",
+ "$_gm/simpleaaclip.cpp",
+ "$_gm/simplerect.cpp",
+ "$_gm/skbug_257.cpp",
+ "$_gm/skbug_4868.cpp",
+ "$_gm/skbug_5321.cpp",
+ "$_gm/skbug1719.cpp",
+ "$_gm/SkLinearBitmapPipelineGM.cpp",
+ "$_gm/smallarc.cpp",
+ "$_gm/smallimage.cpp",
+ "$_gm/smallpaths.cpp",
+ "$_gm/spritebitmap.cpp",
+ "$_gm/srcmode.cpp",
+ "$_gm/stlouisarch.cpp",
+ "$_gm/stringart.cpp",
+ "$_gm/stroke_rect_shader.cpp",
+ "$_gm/strokedlines.cpp",
+ "$_gm/strokefill.cpp",
+ "$_gm/strokerect.cpp",
+ "$_gm/strokerects.cpp",
+ "$_gm/strokes.cpp",
+ "$_gm/stroketext.cpp",
+ "$_gm/subsetshader.cpp",
+ "$_gm/surface.cpp",
+ "$_gm/tablecolorfilter.cpp",
+ "$_gm/tallstretchedbitmaps.cpp",
+ "$_gm/texdata.cpp",
+ "$_gm/textblob.cpp",
+ "$_gm/textblobblockreordering.cpp",
+ "$_gm/textblobcolortrans.cpp",
+ "$_gm/textblobgeometrychange.cpp",
+ "$_gm/textbloblooper.cpp",
+ "$_gm/textblobmixedsizes.cpp",
+ "$_gm/textblobrandomfont.cpp",
+ "$_gm/textblobshader.cpp",
+ "$_gm/textblobtransforms.cpp",
+ "$_gm/textblobuseaftergpufree.cpp",
+ "$_gm/texteffects.cpp",
+ "$_gm/texturedomaineffect.cpp",
+ "$_gm/thinrects.cpp",
+ "$_gm/thinstrokedrects.cpp",
+ "$_gm/tiledscaledbitmap.cpp",
+ "$_gm/tileimagefilter.cpp",
+ "$_gm/tilemodes.cpp",
+ "$_gm/tilemodes_scaled.cpp",
+ "$_gm/tinybitmap.cpp",
+ "$_gm/transparency.cpp",
+ "$_gm/typeface.cpp",
+ "$_gm/variedtext.cpp",
+ "$_gm/vertices.cpp",
+ "$_gm/verttext.cpp",
+ "$_gm/verttext2.cpp",
+ "$_gm/verylargebitmap.cpp",
+ "$_gm/windowrectangles.cpp",
+ "$_gm/xfermodeimagefilter.cpp",
+ "$_gm/xfermodes.cpp",
+ "$_gm/xfermodes2.cpp",
+ "$_gm/xfermodes3.cpp",
+ "$_gm/yuvtorgbeffect.cpp",
+]