| # Copyright 2026 The IREE Authors |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| include(FetchContent) |
| |
| FetchContent_Declare( |
| abseil |
| URL https://github.com/abseil/abseil-cpp/archive/${IREE_ABSEIL_TAG}.zip |
| ) |
| |
| set(ABSL_BUILD_TESTING OFF CACHE BOOL "" FORCE) |
| set(ABSL_ENABLE_INSTALL OFF CACHE BOOL "" FORCE) |
| set(ABSL_PROPAGATE_CXX_STD ON CACHE BOOL "" FORCE) |
| FetchContent_MakeAvailable(abseil) |
| FetchContent_GetProperties(abseil SOURCE_DIR ABSL_SOURCE_DIR) |
| |
| FetchContent_Declare( |
| dawn |
| # GitHub's tar archive preserves hard links in Dawn's test data, and CMake's |
| # Windows extractor also has trouble with metadata in these tar archives. |
| # The zip archives store regular files and avoid those tar-specific failures. |
| URL https://github.com/ArthurSonzogni/dawn/archive/${IREE_DAWN_TAG}.zip |
| ) |
| |
| set(DAWN_BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) |
| set(DAWN_BUILD_FUZZERS OFF CACHE BOOL "" FORCE) |
| set(DAWN_BUILD_MONOLITHIC_LIBRARY OFF CACHE STRING "" FORCE) |
| set(DAWN_BUILD_NODE_BINDINGS OFF CACHE BOOL "" FORCE) |
| set(DAWN_BUILD_PROTOBUF OFF CACHE BOOL "" FORCE) |
| set(DAWN_BUILD_SAMPLES OFF CACHE BOOL "" FORCE) |
| set(DAWN_BUILD_TESTS OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_DESKTOP_GL OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_D3D11 OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_D3D12 OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_METAL OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_NULL OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_OPENGLES OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_SPIRV_VALIDATION OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_SWIFTSHADER OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_VULKAN OFF CACHE BOOL "" FORCE) |
| set(DAWN_ENABLE_WEBGPU_ON_WEBGPU OFF CACHE BOOL "" FORCE) |
| set(DAWN_FETCH_DEPENDENCIES OFF CACHE BOOL "" FORCE) |
| set(DAWN_USE_GLFW OFF CACHE BOOL "" FORCE) |
| set(DAWN_USE_WAYLAND OFF CACHE BOOL "" FORCE) |
| set(DAWN_USE_X11 OFF CACHE BOOL "" FORCE) |
| set(DAWN_WERROR OFF CACHE BOOL "" FORCE) |
| set(DAWN_WEVERYTHING OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_CMD_TOOLS OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_FUZZERS OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_GLSL_VALIDATOR OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_GLSL_WRITER OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_HLSL_WRITER OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_IR_BINARY OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_MSL_WRITER OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_NULL_WRITER OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_SPV_READER ON CACHE BOOL "" FORCE) |
| set(TINT_BUILD_SPV_WRITER OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_TESTS OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_TINTD OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_WGSL_READER OFF CACHE BOOL "" FORCE) |
| set(TINT_BUILD_WGSL_WRITER ON CACHE BOOL "" FORCE) |
| |
| if("${SPIRV-Headers_SOURCE_DIR}" STREQUAL "" OR |
| "${spirv-tools_SOURCE_DIR}" STREQUAL "") |
| message(FATAL_ERROR |
| "Dawn/Tint requires SPIRV-Headers and SPIRV-Tools to be configured first") |
| endif() |
| |
| set(DAWN_ABSEIL_DIR "${ABSL_SOURCE_DIR}" CACHE PATH "" FORCE) |
| set(DAWN_SPIRV_HEADERS_DIR "${SPIRV-Headers_SOURCE_DIR}" CACHE PATH "" FORCE) |
| set(DAWN_SPIRV_TOOLS_DIR "${spirv-tools_SOURCE_DIR}" CACHE PATH "" FORCE) |
| |
| FetchContent_MakeAvailable(dawn) |
| FetchContent_GetProperties(dawn SOURCE_DIR DAWN_SOURCE_DIR) |