Make some third_party deps configurable in CMake
This will let Skia sync its own copy and point
Dawn at them.
Change-Id: I0326c8e2f74867508fa67d3c71c0148891cc8a6c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/270815
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Reviewed-by: David Neto <dneto@google.com>
Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: David Neto <dneto@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e0c6fa0..59e3eab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -192,12 +192,15 @@
set_if_not_defined(DAWN_LPM_DIR "${DAWN_THIRD_PARTY_DIR}/libprotobuf-mutator/src" "Directory in which to find libprotobuf")
set_if_not_defined(DAWN_EMDAWNWEBGPU_DIR "${DAWN_THIRD_PARTY_DIR}/emdawnwebgpu" "Directory in which to find Dawn specific Emscripten bindings")
set_if_not_defined(DAWN_GOOGLETEST_DIR "${DAWN_THIRD_PARTY_DIR}/googletest" "Directory in which to find googletest")
-
+set_if_not_defined(DAWN_EGL_REGISTRY_DIR "${DAWN_THIRD_PARTY_DIR}/khronos/EGL-Registry" "Directory in which to find EGL-Registry")
+set_if_not_defined(DAWN_OPENGL_REGISTRY_DIR "${DAWN_THIRD_PARTY_DIR}/khronos/OpenGL-Registry" "Directory in which to find OpenGL-Registry")
set_if_not_defined(DAWN_SPIRV_TOOLS_DIR "${DAWN_THIRD_PARTY_DIR}/spirv-tools/src" "Directory in which to find SPIRV-Tools")
set_if_not_defined(DAWN_SPIRV_HEADERS_DIR "${DAWN_THIRD_PARTY_DIR}/spirv-headers/src" "Directory in which to find SPIRV-Headers")
set_if_not_defined(DAWN_GLSLANG_DIR "${DAWN_THIRD_PARTY_DIR}/glslang/src" "Directory in which to find GLSLang")
set_if_not_defined(DAWN_VULKAN_HEADERS_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-headers/src" "Directory in which to find Vulkan-Headers")
set_if_not_defined(DAWN_VULKAN_UTILITY_LIBRARIES_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-utility-libraries/src" "Directory in which to find Vulkan-Utility-Libraries")
+set_if_not_defined(DAWN_WEBGPU_HEADERS_DIR "${DAWN_THIRD_PARTY_DIR}/webgpu-headers/src" "Directory in which to find webgpu headers")
+
# Handling of the type of monolithic library to build, if any.
set(DAWN_BUILD_MONOLITHIC_LIBRARY "STATIC" CACHE STRING "Build monolithic library: SHARED, STATIC, or OFF.")
diff --git a/generator/CMakeLists.txt b/generator/CMakeLists.txt
index f3f543e..2e70f55 100644
--- a/generator/CMakeLists.txt
+++ b/generator/CMakeLists.txt
@@ -185,7 +185,7 @@
${arg_TARGET}
${arg_UNPARSED_ARGUMENTS}
--webgpu-json
- "${Dawn_SOURCE_DIR}/third_party/webgpu-headers/src/webgpu.json"
+ "${DAWN_WEBGPU_HEADERS_DIR}/webgpu.json"
)
if (SOURCES AND NOT arg_OUTPUT_SOURCES)
diff --git a/src/dawn/native/CMakeLists.txt b/src/dawn/native/CMakeLists.txt
index 081d6ef..8cefcdd 100644
--- a/src/dawn/native/CMakeLists.txt
+++ b/src/dawn/native/CMakeLists.txt
@@ -649,7 +649,7 @@
SCRIPT "${Dawn_SOURCE_DIR}/generator/opengl_loader_generator.py"
PRINT_NAME "OpenGL function loader"
EXTRA_PARAMETERS "--gl-xml"
- "${Dawn_SOURCE_DIR}/third_party/khronos/OpenGL-Registry/xml/gl.xml"
+ "${DAWN_OPENGL_REGISTRY_DIR}/xml/gl.xml"
"--supported-extensions"
"${Dawn_SOURCE_DIR}/src/dawn/native/opengl/supported_extensions.json"
OUTPUT_HEADERS DAWN_NATIVE_OPENGL_AUTOGEN_HEADERS
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 368dc97..a75de42 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -177,8 +177,8 @@
if (DAWN_ENABLE_DESKTOP_GL OR DAWN_ENABLE_OPENGLES)
# Header-only library for khrplatform.h
add_library(dawn_khronos_platform INTERFACE)
- target_sources(dawn_khronos_platform INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/khronos/EGL-Registry/api/KHR/khrplatform.h")
- target_include_directories(dawn_khronos_platform INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/khronos/EGL-Registry/api")
+ target_sources(dawn_khronos_platform INTERFACE "${DAWN_EGL_REGISTRY_DIR}/api/KHR/khrplatform.h")
+ target_include_directories(dawn_khronos_platform INTERFACE "${DAWN_EGL_REGISTRY_DIR}/api")
endif()
if (NOT TARGET Vulkan::Headers AND DAWN_ENABLE_VULKAN)