70 lines
1.7 KiB
Plaintext
70 lines
1.7 KiB
Plaintext
|
# 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) {
|
||
|
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 <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 (skia_moltenvk_path != "") {
|
||
|
configs += [ ":moltenvk" ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
source_set("vulkan") {
|
||
|
public_configs = [ ":vulkan_config" ]
|
||
|
}
|