[emscripten] Fix CMake dependencies for generated files Follow-up to https://dawn-review.googlesource.com/c/dawn/+/227196 The specific issue I had was that modifying dawn.json would rebuild webgpu_generated_struct_info*.json but not library_webgpu_generated_struct_info.js. While looking at this I noticed a lot of other missing dependencies as well: - Generators on generator scripts - Generators on their input files (the dependency was on a separate target that _also_ depended on the generator, which wouldn't actually rerun the generator). - Link flags on all the other linked files The comments try to explain my understanding of the setup. I don't fully understand why it needs to be this way, though. Tested locally: - rm -rf gen - touch .../library_webgpu_struct_info_part1.txt - touch .../library_webgpu_enum_tables.js - touch .../library_webgpu.js Additionally, runs the link test during GitHub release. Bug: 419062310 Fixed: 418173488 Change-Id: I59a20eba9ea3f081a1cb170b2029fc9364aa95ef Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/242954 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Loko Kung <lokokung@google.com>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.