# Copyright 2018 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("../../gn/skia.gni") import("skshaper.gni") if (skia_enable_skshaper) { config("public_config") { include_dirs = [ "include" ] defines = [ "SK_SHAPER_PRIMITIVE_AVAILABLE" ] if (is_component_build) { defines += [ "SKSHAPER_DLL" ] } if (skia_use_fonthost_mac) { defines += [ "SK_SHAPER_CORETEXT_AVAILABLE" ] } if (skia_use_harfbuzz) { defines += [ "SK_SHAPER_HARFBUZZ_AVAILABLE" ] } if (skia_enable_skunicode) { defines += [ "SK_SHAPER_UNICODE_AVAILABLE" ] } } component("skshaper") { check_includes = false public_configs = [ ":public_config" ] public = skia_shaper_public deps = [ "../..:skia" ] defines = [ "SKSHAPER_IMPLEMENTATION=1" ] sources = skia_shaper_primitive_sources if (skia_use_fonthost_mac) { sources += skia_shaper_coretext_sources if (is_mac) { frameworks = [ "ApplicationServices.framework" ] } if (is_ios) { frameworks = [ "CoreFoundation.framework", "CoreText.framework", ] } } if (skia_enable_skunicode) { sources += skia_shaper_skunicode_sources deps += [ "../skunicode" ] } if (skia_use_harfbuzz && skia_enable_skunicode) { sources += skia_shaper_harfbuzz_sources deps += [ "../skunicode", "//third_party/harfbuzz", ] } configs += [ "../../:skia_private" ] } if (defined(is_skia_standalone) && skia_enable_tools) { skia_source_set("tests") { if (skia_enable_skshaper_tests) { testonly = true sources = skia_shaper_tests deps = [ ":skshaper", "../..:skia", "../..:test", "../skunicode", ] } else { sources = [] } } } } else { group("skshaper") { } group("tests") { } }