1# Copyright 2018 Google Inc. 2# 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import("../../gn/skia.gni") 7import("skshaper.gni") 8 9if (skia_enable_skshaper) { 10 config("public_config") { 11 include_dirs = [ "include" ] 12 defines = [ "SK_SHAPER_PRIMITIVE_AVAILABLE" ] 13 if (is_component_build) { 14 defines += [ "SKSHAPER_DLL" ] 15 } 16 if (skia_use_fonthost_mac) { 17 defines += [ "SK_SHAPER_CORETEXT_AVAILABLE" ] 18 } 19 if (skia_use_harfbuzz) { 20 defines += [ "SK_SHAPER_HARFBUZZ_AVAILABLE" ] 21 } 22 if (skia_enable_skunicode) { 23 defines += [ "SK_SHAPER_UNICODE_AVAILABLE" ] 24 } 25 } 26 27 component("skshaper") { 28 check_includes = false 29 public_configs = [ ":public_config" ] 30 public = skia_shaper_public 31 deps = [ "../..:skia" ] 32 defines = [ "SKSHAPER_IMPLEMENTATION=1" ] 33 sources = skia_shaper_primitive_sources 34 if (skia_use_fonthost_mac) { 35 sources += skia_shaper_coretext_sources 36 if (is_mac) { 37 frameworks = [ "ApplicationServices.framework" ] 38 } 39 40 if (is_ios) { 41 frameworks = [ 42 "CoreFoundation.framework", 43 "CoreText.framework", 44 ] 45 } 46 } 47 if (skia_enable_skunicode) { 48 sources += skia_shaper_skunicode_sources 49 deps += [ "../skunicode" ] 50 } 51 if (skia_use_harfbuzz && skia_enable_skunicode) { 52 sources += skia_shaper_harfbuzz_sources 53 deps += [ 54 "../skunicode", 55 "//third_party/harfbuzz", 56 ] 57 } 58 configs += [ "../../:skia_private" ] 59 } 60 61 if (defined(is_skia_standalone) && skia_enable_tools) { 62 skia_source_set("tests") { 63 if (skia_enable_skshaper_tests) { 64 testonly = true 65 sources = skia_shaper_tests 66 deps = [ 67 ":skshaper", 68 "../..:skia", 69 "../..:test", 70 "../skunicode", 71 ] 72 } else { 73 sources = [] 74 } 75 } 76 } 77} else { 78 group("skshaper") { 79 } 80 group("tests") { 81 } 82} 83