blob: efad8f08e9d807df41c5c27d2359906129645576 [file] [log] [blame]
# Copyright 2018 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if (is_fuchsia) {
import("//build/vulkan/config.gni")
}
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) {
if (defined(skia_vulkan_sdk) && skia_vulkan_sdk != "") {
skia_tools_vulkan_header_dir = "$skia_vulkan_sdk/include"
}
}
}
config("moltenvk") {
if (defined(skia_moltenvk_path) && skia_moltenvk_path != "") {
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 <vulkan/vulkan.h>
]
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 = []
configs = []
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 (defined(is_skia_standalone) && is_skia_standalone &&
!is_official_build) {
defines += [ "SK_VULKAN_HEADER=\"GrVulkanDefines.h\"" ]
}
if (defined(skia_moltenvk_path) && skia_moltenvk_path != "") {
configs += [ ":moltenvk" ]
}
}
source_set("vulkan") {
public_configs = [ ":vulkan_config" ]
}