# Copyright 2020 The Dawn Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("../../../scripts/dawn_overrides_with_defaults.gni") import("//build_overrides/build.gni") # SPIRV_Cross does not have BUILD.gn rules, so implement our own. is_msvc = is_win && !is_clang config("spirv_cross_public") { include_dirs = [ "${dawn_spirv_cross_dir}", "${dawn_spirv_cross_dir}/..", ] defines = [ "SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS" ] } config("spirv_cross_internal") { if (!is_msvc) { cflags_cc = [ "-Wno-implicit-fallthrough", "-Wno-return-type", "-Wno-sign-compare", ] } else { # Disable "not all control paths return a value" warning. cflags_cc = [ "/wd4715" ] } } source_set("spirv_cross") { public_configs = [ ":spirv_cross_public" ] configs += [ ":spirv_cross_internal" ] sources = [ "${dawn_spirv_cross_dir}/GLSL.std.450.h", "${dawn_spirv_cross_dir}/spirv.hpp", "${dawn_spirv_cross_dir}/spirv_cfg.cpp", "${dawn_spirv_cross_dir}/spirv_cfg.hpp", "${dawn_spirv_cross_dir}/spirv_common.hpp", "${dawn_spirv_cross_dir}/spirv_cross.cpp", "${dawn_spirv_cross_dir}/spirv_cross.hpp", "${dawn_spirv_cross_dir}/spirv_cross_containers.hpp", "${dawn_spirv_cross_dir}/spirv_cross_error_handling.hpp", "${dawn_spirv_cross_dir}/spirv_cross_parsed_ir.cpp", "${dawn_spirv_cross_dir}/spirv_cross_parsed_ir.hpp", "${dawn_spirv_cross_dir}/spirv_glsl.cpp", "${dawn_spirv_cross_dir}/spirv_glsl.hpp", "${dawn_spirv_cross_dir}/spirv_hlsl.cpp", "${dawn_spirv_cross_dir}/spirv_hlsl.hpp", "${dawn_spirv_cross_dir}/spirv_msl.cpp", "${dawn_spirv_cross_dir}/spirv_msl.hpp", "${dawn_spirv_cross_dir}/spirv_parser.cpp", "${dawn_spirv_cross_dir}/spirv_parser.hpp", "${dawn_spirv_cross_dir}/spirv_reflect.cpp", "${dawn_spirv_cross_dir}/spirv_reflect.hpp", ] }