| # 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) |