| # Copyright 2019 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("${dawn_root}/generator/dawn_generator.gni") |
| import("${dawn_root}/scripts/dawn_component.gni") |
| |
| ############################################################################### |
| # Dawn headers |
| ############################################################################### |
| |
| dawn_json_generator("headers_gen") { |
| target = "headers" |
| outputs = [ |
| "include/dawn/dawn_proc_table.h", |
| "include/dawn/webgpu.h", |
| ] |
| } |
| |
| source_set("headers") { |
| all_dependent_configs = [ ":public" ] |
| public_deps = [ ":headers_gen" ] |
| |
| sources = get_target_outputs(":headers_gen") |
| sources += [ "${dawn_root}/include/dawn/dawn_wsi.h" ] |
| } |
| |
| ############################################################################### |
| # Dawn C++ headers |
| ############################################################################### |
| |
| dawn_json_generator("cpp_headers_gen") { |
| target = "cpp_headers" |
| outputs = [ |
| "include/dawn/webgpu_cpp.h", |
| "include/dawn/webgpu_cpp_print.h", |
| ] |
| } |
| |
| source_set("cpp_headers") { |
| public_deps = [ |
| ":cpp_headers_gen", |
| ":headers", |
| ] |
| |
| sources = get_target_outputs(":cpp_headers_gen") |
| sources += [ "${dawn_root}/include/dawn/EnumClassBitmasks.h" ] |
| } |
| |
| ############################################################################### |
| # Dawn public include directories |
| ############################################################################### |
| |
| config("public") { |
| include_dirs = [ |
| "${target_gen_dir}/../../include", |
| "${dawn_root}/include", |
| |
| "${dawn_root}/src/include", # TODO(crbug.com/dawn/1275) - remove |
| ] |
| } |
| |
| ################################################################################ |
| # Build target aliases |
| # TODO(crbug.com/dawn/1275) - remove these |
| ################################################################################ |
| group("dawncpp_headers") { |
| public_deps = [ ":cpp_headers" ] |
| } |
| group("dawn_headers") { |
| public_deps = [ ":headers" ] |
| } |