# Copyright 2018 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. declare_args() { skia_vulkan_header = "" skia_tools_vulkan_header_dir = "" # When buliding on Android we get the header via the NDK so no need for any extra path. if (is_fuchsia) { skia_tools_vulkan_header_dir = "$fuchsia_vulkan_sdk/include" } else if (is_linux || is_win) { skia_tools_vulkan_header_dir = "$skia_vulkan_sdk/include" } } config("moltenvk") { if (is_ios) { moltenvk_framework_path = "$skia_moltenvk_path/MoltenVK/iOS" } else { moltenvk_framework_path = "$skia_moltenvk_path/MoltenVK/macOS" } cflags = [ "-F$moltenvk_framework_path", "-isystem$skia_moltenvk_path/MoltenVK/include", # for ] ldflags = [ "-F$moltenvk_framework_path" ] libs = [ "MoltenVK.framework", "Metal.framework", "IOSurface.framework", "QuartzCore.framework", "Foundation.framework", ] if (is_ios) { libs += [ "UIKit.framework" ] } else { libs += [ "IOKit.framework" ] } defines = [ "SK_MOLTENVK" ] } config("vulkan_config") { include_dirs = [] if (skia_tools_vulkan_header_dir != "") { include_dirs += [ skia_tools_vulkan_header_dir ] } defines = [ "SK_VULKAN" ] if (skia_vulkan_header != "") { defines += [ "SK_VULKAN_HEADER=\"$skia_vulkan_header\"" ] } else if (skia_moltenvk_path != "") { defines += [ "SK_VULKAN_HEADER=" ] } else if (defined(is_skia_standalone) && is_skia_standalone && !is_official_build) { defines += [ "SK_VULKAN_HEADER=\"GrVulkanDefines.h\"" ] } if (skia_moltenvk_path != "") { public_configs += [ ":moltenvk" ] } } source_set("vulkan") { public_configs = [ ":vulkan_config" ] }