create GYP files for these targets: tests, gm, skhello, skimage, skdiff
see http://codereview.appspot.com/4536096/
git-svn-id: http://skia.googlecode.com/svn/trunk@1479 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gyp/all.gyp b/gyp/all.gyp
index 58c0419..e2f745a 100644
--- a/gyp/all.gyp
+++ b/gyp/all.gyp
@@ -1,11 +1,20 @@
# Creates a Makefile that is capable of building all executable targets.
+#
+# To build on Linux:
+# ./gyp_skia && make all
+#
+# Building on other platforms not tested yet.
+#
{
'targets': [
{
'target_name': 'all',
'type': 'none',
'dependencies': [
- 'SampleApp.gyp:SampleApp'
+ 'gm.gyp:gm',
+ 'SampleApp.gyp:SampleApp',
+ 'tests.gyp:tests',
+ 'tools.gyp:tools',
],
},
],
diff --git a/gyp/apptype_console.gypi b/gyp/apptype_console.gypi
new file mode 100644
index 0000000..b686fa7
--- /dev/null
+++ b/gyp/apptype_console.gypi
@@ -0,0 +1,27 @@
+# target_defaults used for executable targets that generate a console app
+{
+ 'target_defaults': {
+ 'mac_bundle' : 1,
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ #Allows for creation / output to console.
+ #Console (/SUBSYSTEM:CONSOLE)
+ 'SubSystem': '1',
+
+ #Console app, use main/wmain
+ 'EntryPointSymbol': 'mainCRTStartup',
+
+ 'AdditionalDependencies': [
+ 'OpenGL32.lib',
+ 'usp10.lib',
+ ],
+ },
+ },
+ },
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/bench.gyp b/gyp/bench.gyp
index db1bcb1..6054c23 100644
--- a/gyp/bench.gyp
+++ b/gyp/bench.gyp
@@ -1,5 +1,14 @@
+# GYP file to build performance testbench.
+#
+# To build and run on Linux:
+# ./gyp_skia bench.gyp && make
+# out/Debug/bench -repeat 2
+#
+# Building on other platforms not tested yet.
+#
{
'includes': [
+ 'apptype_console.gypi',
'target_defaults.gypi',
],
'targets': [
@@ -29,21 +38,6 @@
'images.gyp:images',
'utils.gyp:utils',
],
- 'msvs_settings': {
- 'VCLinkerTool': {
- #Allows for creation / output to console.
- #Console (/SUBSYSTEM:CONSOLE)
- 'SubSystem': '1',
-
- #Console app, use main/wmain
- 'EntryPointSymbol': 'mainCRTStartup',
-
- 'AdditionalDependencies': [
- 'OpenGL32.lib',
- 'usp10.lib',
- ],
- },
- },
},
],
}
@@ -52,4 +46,4 @@
# tab-width:2
# indent-tabs-mode:nil
# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
\ No newline at end of file
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/core.gyp b/gyp/core.gyp
index 68f960d..3c207a9 100644
--- a/gyp/core.gyp
+++ b/gyp/core.gyp
@@ -68,6 +68,7 @@
'../src/core/SkFP.h',
'../src/core/SkFilterProc.cpp',
'../src/core/SkFilterProc.h',
+ '../src/core/SkFlate.cpp',
'../src/core/SkFlattenable.cpp',
'../src/core/SkFloat.cpp',
'../src/core/SkFloat.h',
@@ -184,6 +185,7 @@
'../include/core/SkEndian.h',
'../include/core/SkFDot6.h',
'../include/core/SkFixed.h',
+ '../include/core/SkFlate.h',
'../include/core/SkFlattenable.h',
'../include/core/SkFloatBits.h',
'../include/core/SkFloatingPoint.h',
diff --git a/gyp/gm.gyp b/gyp/gm.gyp
new file mode 100644
index 0000000..a53edb1
--- /dev/null
+++ b/gyp/gm.gyp
@@ -0,0 +1,52 @@
+# GYP file to build the "gm" (golden master) executable.
+#
+# To build and run on Linux:
+# ./gyp_skia gm.gyp && make
+# out/Debug/gm -r ../gm/base-linux
+#
+# Building on other platforms not tested yet.
+#
+{
+ 'includes': [
+ 'apptype_console.gypi',
+ 'target_defaults.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'gm',
+ 'type': 'executable',
+ 'sources': [
+ '../gm/bitmapfilters.cpp',
+ '../gm/blurs.cpp',
+ '../gm/filltypes.cpp',
+ '../gm/gradients.cpp',
+ '../gm/nocolorbleed.cpp',
+ '../gm/pathfill.cpp',
+ '../gm/points.cpp',
+ '../gm/poly2poly.cpp',
+ '../gm/shadows.cpp',
+ '../gm/shapes.cpp',
+ '../gm/strokerects.cpp',
+ '../gm/tilemodes.cpp',
+ '../gm/xfermodes.cpp',
+ '../gm/shadertext.cpp',
+ '../gm/complexclip.cpp',
+ '../gm/gmmain.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'gpu.gyp:gr',
+ 'gpu.gyp:skgr',
+ 'images.gyp:images',
+ 'utils.gyp:utils',
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/images.gyp b/gyp/images.gyp
index 4e49f12..fef7aae 100644
--- a/gyp/images.gyp
+++ b/gyp/images.gyp
@@ -84,6 +84,17 @@
'../src/images/SkJpegUtility.cpp',
'../src/images/SkMovie_gif.cpp',
],
+ 'link_settings': {
+ # Any targets that depend on this target should link in libpng and
+ # our code that calls it.
+ # See http://code.google.com/p/gyp/wiki/InputFormatReference#Dependent_Settings
+ 'sources': [
+ '../src/images/SkImageDecoder_libpng.cpp',
+ ],
+ 'libraries': [
+ '-lpng',
+ ],
+ },
}],
],
diff --git a/gyp/tests.gyp b/gyp/tests.gyp
new file mode 100644
index 0000000..2756b90
--- /dev/null
+++ b/gyp/tests.gyp
@@ -0,0 +1,95 @@
+# GYP file to build unit tests.
+#
+# To build and run on Linux:
+# ./gyp_skia tests.gyp && make
+# out/Debug/tests
+#
+# To build on Linux with skia_pdf_support disabled:
+# ./gyp_skia tests.gyp -Dskia_pdf_support=false && make
+#
+# Building on other platforms not tested yet.
+#
+{
+ 'includes': [
+ 'apptype_console.gypi',
+ 'target_defaults.gypi',
+ ],
+ 'variables': {
+ 'skia_pdf_support%': 'true',
+ },
+ 'targets': [
+ {
+ 'target_name': 'tests',
+ 'type': 'executable',
+ 'include_dirs' : [
+ '../include/pdf',
+ '../src/core',
+ ],
+ 'sources': [
+ '../tests/BitmapCopyTest.cpp',
+ '../tests/BitmapGetColorTest.cpp',
+ '../tests/BlitRowTest.cpp',
+ '../tests/ClampRangeTest.cpp',
+ '../tests/ClipCubicTest.cpp',
+ '../tests/ClipStackTest.cpp',
+ '../tests/ClipperTest.cpp',
+ '../tests/ColorFilterTest.cpp',
+ '../tests/ColorTest.cpp',
+ '../tests/DequeTest.cpp',
+ '../tests/DrawBitmapRectTest.cpp',
+ '../tests/FillPathTest.cpp',
+ '../tests/FlateTest.cpp',
+ '../tests/GeometryTest.cpp',
+ '../tests/InfRectTest.cpp',
+ '../tests/MathTest.cpp',
+ '../tests/MatrixTest.cpp',
+ '../tests/MetaDataTest.cpp',
+ '../tests/PackBitsTest.cpp',
+ '../tests/PaintTest.cpp',
+ '../tests/ParsePathTest.cpp',
+ '../tests/PathMeasureTest.cpp',
+ '../tests/PathTest.cpp',
+ '../tests/PDFPrimitivesTest.cpp',
+ '../tests/Reader32Test.cpp',
+ '../tests/RefDictTest.cpp',
+ '../tests/RegionTest.cpp',
+ '../tests/Sk64Test.cpp',
+ '../tests/skia_test.cpp',
+ '../tests/SortTest.cpp',
+ '../tests/SrcOverTest.cpp',
+ '../tests/StreamTest.cpp',
+ '../tests/StringTest.cpp',
+ '../tests/Test.cpp',
+ '../tests/TestSize.cpp',
+ '../tests/UtilsTest.cpp',
+ '../tests/Writer32Test.cpp',
+ '../tests/XfermodeTest.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'effects.gyp:effects',
+ 'images.gyp:images',
+ 'utils.gyp:utils',
+ ],
+ 'conditions': [
+ [ 'skia_pdf_support == "true"',
+ { # if skia_pdf_support is TRUE, depend on pdf.gyp...
+ 'dependencies': [
+ 'pdf.gyp:pdf',
+ ],
+ }, { # else, we don't need PDFPrimitivesTest.cpp after all.
+ 'sources!': [
+ '../tests/PDFPrimitivesTest.cpp',
+ ],
+ }
+ ],
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/tools.gyp b/gyp/tools.gyp
new file mode 100644
index 0000000..939b32a
--- /dev/null
+++ b/gyp/tools.gyp
@@ -0,0 +1,67 @@
+# GYP file to build various tools.
+#
+# To build on Linux:
+# ./gyp_skia tools.gyp && make tools
+#
+# Building on other platforms not tested yet.
+#
+{
+ 'includes': [
+ 'apptype_console.gypi',
+ 'target_defaults.gypi',
+ ],
+ 'targets': [
+ {
+ # Build all executable targets defined below.
+ 'target_name': 'tools',
+ 'type': 'none',
+ 'dependencies': [
+ 'skdiff',
+ 'skhello',
+ 'skimage',
+ ],
+ },
+ {
+ 'target_name': 'skdiff',
+ 'type': 'executable',
+ 'sources': [
+ '../tools/skdiff_main.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'images.gyp:images',
+ 'utils.gyp:utils',
+ ],
+ },
+ {
+ 'target_name': 'skhello',
+ 'type': 'executable',
+ 'sources': [
+ '../tools/skhello.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'images.gyp:images',
+ 'utils.gyp:utils',
+ ],
+ },
+ {
+ 'target_name': 'skimage',
+ 'type': 'executable',
+ 'sources': [
+ '../tools/skimage_main.cpp',
+ ],
+ 'dependencies': [
+ 'core.gyp:core',
+ 'images.gyp:images',
+ 'utils.gyp:utils',
+ ],
+ },
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2: