# Copyright 2016 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################

# Append this to build.gn in the skia repo and then build the targets
test_app("region_deserialize") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzRegionDeserialize.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("image_filter_deserialize") {
  include_dirs = [
    "tools",
    "tools/fonts",
  ]
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzImageFilterDeserialize.cpp",
    "tools/Resources.cpp",
    "tools/fonts/TestFontMgr.cpp",
    "tools/fonts/TestSVGTypeface.cpp",
    "tools/fonts/TestTypeface.cpp",
  ]
  deps = [
    ":experimental_svg_model",
    ":flags",
    ":skia",
  ]
}

test_app("region_set_path") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzRegionSetPath.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("textblob_deserialize") {
  include_dirs = [
    "tools",
    "tools/fonts",
  ]
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzTextBlobDeserialize.cpp",
    "tools/Resources.cpp",
    "tools/fonts/TestFontMgr.cpp",
    "tools/fonts/TestSVGTypeface.cpp",
    "tools/fonts/TestTypeface.cpp",
  ]
  deps = [
    ":experimental_svg_model",
    ":flags",
    ":skia",
  ]
}

test_app("path_deserialize") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzPathDeserialize.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("image_decode") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzImage.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("animated_image_decode") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzAnimatedImage.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("api_draw_functions") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzDrawFunctions.cpp",
    "fuzz/oss_fuzz/FuzzDrawFunctions.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("api_gradients") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzGradients.cpp",
    "fuzz/oss_fuzz/FuzzGradients.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("api_image_filter") {
  include_dirs = [
    "tools",
    "tools/debugger",
  ]
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCanvas.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzAPIImageFilter.cpp",
    "tools/UrlDataManager.cpp",
    "tools/debugger/DebugCanvas.cpp",
    "tools/debugger/DebugLayerManager.cpp",
    "tools/debugger/DrawCommand.cpp",
    "tools/debugger/JsonWriteBuffer.cpp",
  ]
  deps = [
    ":flags",
    ":gpu_tool_utils",
    ":skia",
    "//third_party/libpng",
  ]
}

test_app("api_path_measure") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzPathMeasure.cpp",
    "fuzz/oss_fuzz/FuzzPathMeasure.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("api_pathop") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzPathop.cpp",
    "fuzz/oss_fuzz/FuzzPathop.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("api_raster_n32_canvas") {
  include_dirs = [
    "tools",
    "tools/debugger",
    "tools/fonts",
  ]
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCanvas.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzRasterN32Canvas.cpp",
    "tools/Resources.cpp",
    "tools/UrlDataManager.cpp",
    "tools/debugger/DebugCanvas.cpp",
    "tools/debugger/DebugLayerManager.cpp",
    "tools/debugger/DrawCommand.cpp",
    "tools/debugger/JsonWriteBuffer.cpp",
    "tools/fonts/TestFontMgr.cpp",
    "tools/fonts/TestSVGTypeface.cpp",
    "tools/fonts/TestTypeface.cpp",
  ]
  deps = [
    ":experimental_svg_model",
    ":flags",
    ":gpu_tool_utils",
    ":skia",
    "//third_party/libpng",
  ]
}

test_app("api_mock_gpu_canvas") {
  include_dirs = [
    "tools",
    "tools/debugger",
    "tools/fonts",
  ]
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCanvas.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzMockGPUCanvas.cpp",
    "tools/LsanSuppressions.cpp",
    "tools/Resources.cpp",
    "tools/UrlDataManager.cpp",
    "tools/debugger/DebugCanvas.cpp",
    "tools/debugger/DebugLayerManager.cpp",
    "tools/debugger/DrawCommand.cpp",
    "tools/debugger/JsonWriteBuffer.cpp",
    "tools/fonts/TestFontMgr.cpp",
    "tools/fonts/TestSVGTypeface.cpp",
    "tools/fonts/TestTypeface.cpp",
  ]
  deps = [
    ":experimental_svg_model",
    ":flags",
    ":gpu_tool_utils",
    ":skia",
    "//third_party/libpng",
  ]
}

test_app("api_null_canvas") {
  include_dirs = [
    "tools",
    "tools/debugger",
    "tools/fonts",
  ]
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCanvas.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzNullCanvas.cpp",
    "tools/Resources.cpp",
    "tools/UrlDataManager.cpp",
    "tools/debugger/DebugCanvas.cpp",
    "tools/debugger/DebugLayerManager.cpp",
    "tools/debugger/DrawCommand.cpp",
    "tools/debugger/JsonWriteBuffer.cpp",
    "tools/fonts/TestFontMgr.cpp",
    "tools/fonts/TestSVGTypeface.cpp",
    "tools/fonts/TestTypeface.cpp",
  ]
  deps = [
    ":experimental_svg_model",
    ":flags",
    ":gpu_tool_utils",
    ":skia",
    "//third_party/libpng",
  ]
}

test_app("png_encoder") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzEncoders.cpp",
    "fuzz/oss_fuzz/FuzzPNGEncoder.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("jpeg_encoder") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzEncoders.cpp",
    "fuzz/oss_fuzz/FuzzJPEGEncoder.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("webp_encoder") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzEncoders.cpp",
    "fuzz/oss_fuzz/FuzzWEBPEncoder.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("skottie_json") {
  deps = [
    ":flags",
    ":skia",
    "modules/skottie:fuzz",
  ]
}

test_app("skjson") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzJSON.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("api_polyutils") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzPolyUtils.cpp",
    "fuzz/oss_fuzz/FuzzPolyUtils.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("android_codec") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzAndroidCodec.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("image_decode_incremental") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzIncrementalImage.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("sksl2glsl") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzSKSL2GLSL.cpp",
  ]
  deps = [
    ":gpu_tool_utils",
    ":skia",
  ]
}

test_app("sksl2spirv") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzSKSL2SPIRV.cpp",
  ]
  deps = [
    ":gpu_tool_utils",
    ":skia",
  ]
}

test_app("sksl2metal") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzSKSL2Metal.cpp",
  ]
  deps = [
    ":gpu_tool_utils",
    ":skia",
  ]
}

test_app("sksl2pipeline") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzSKSL2Pipeline.cpp",
  ]
  deps = [
    ":gpu_tool_utils",
    ":skia",
  ]
}

test_app("api_skdescriptor") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/FuzzSkDescriptor.cpp",
    "fuzz/oss_fuzz/FuzzAPISkDescriptor.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}

test_app("skdescriptor_deserialize") {
  sources = [
    "fuzz/Fuzz.cpp",
    "fuzz/FuzzCommon.cpp",
    "fuzz/oss_fuzz/FuzzSkDescriptorDeserialize.cpp",
  ]
  deps = [
    ":flags",
    ":skia",
  ]
}