Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 75 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -124,44 +124,97 @@ endif()
if((SUPPORT_WGPU_BACKEND OR SUPPORT_WGSL_PARSER) AND NOT EMSCRIPTEN)
set(DAWN_IS_IN_USE True)

#set(TINT_BUILD_CMD_TOOLS ON CACHE BOOL "" FORCE)
#set(TINT_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
# determine dawn backends to use
set(ENABLE_NULL_VAL ON)
set(ENABLE_D3D12_VAL OFF)
set(ENABLE_D3D11_VAL OFF)
set(ENABLE_METAL_VAL OFF)
set(ENABLE_VULKAN_VAL OFF)
set(ENABLE_OPENGL_VAL OFF)

if(WIN32)
if(MINGW)
# TODO: D3D headers on mingw?
set(ENABLE_VULKAN_VAL ON)
else()
set(ENABLE_D3D12_VAL ON)
set(ENABLE_D3D11_VAL ON)
set(ENABLE_VULKAN_VAL ON)
endif()
elseif(APPLE)
set(ENABLE_METAL_VAL ON)
elseif(UNIX AND NOT ANDROID)
set(ENABLE_VULKAN_VAL ON)
#set(ENABLE_OPENGL_VAL ON)
endif()

if(NOT SUPPORT_WGPU_BACKEND)
set(DAWN_ENABLE_VULKAN OFF)
set(DAWN_ENABLE_NULL OFF)
set(ENABLE_D3D12_VAL OFF)
set(ENABLE_D3D11_VAL OFF)
set(ENABLE_METAL_VAL OFF)
set(ENABLE_VULKAN_VAL OFF)
set(ENABLE_OPENGL_VAL OFF)
set(ENABLE_NULL_VAL OFF)
else()
set(ENABLE_NULL_VAL ON)
endif()

set(DAWN_ENABLE_D3D12 ${ENABLE_D3D12_VAL} CACHE BOOL "Enable D3D12" FORCE)
set(DAWN_ENABLE_D3D11 ${ENABLE_D3D11_VAL} CACHE BOOL "Enable D3D11" FORCE)
set(DAWN_ENABLE_METAL ${ENABLE_METAL_VAL} CACHE BOOL "Enable Metal" FORCE)
set(DAWN_ENABLE_VULKAN ${ENABLE_VULKAN_VAL} CACHE BOOL "Enable Vulkan" FORCE)
set(DAWN_ENABLE_OPENGL ${ENABLE_OPENGL_VAL} CACHE BOOL "Enable OpenGL" FORCE)
set(DAWN_ENABLE_NULL ${ENABLE_NULL_VAL} CACHE BOOL "Enable Null Backend" FORCE)
set(DAWN_ENABLE_DESKTOP_GL ${ENABLE_OPENGL_VAL} CACHE BOOL "Enable Desktop GL" FORCE)
set(DAWN_ENABLE_OPENGLES OFF CACHE BOOL "Disable OpenGLES" FORCE)

set(DAWN_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
set(DAWN_ENABLE_D3D12 OFF CACHE BOOL "" FORCE)
set(DAWN_ENABLE_D3D11 OFF CACHE BOOL "" FORCE)
set(DAWN_USE_WINDOWS_UI OFF CACHE BOOL "" FORCE)
set(TINT_BUILD_GLSL_VALIDATOR OFF CACHE BOOL "" FORCE)
set(TINT_BUILD_IR_BINARY OFF CACHE BOOL "" FORCE)
set(TINT_BUILD_GLSL_WRITER OFF CACHE BOOL "" FORCE)
if(NOT APPLE)
set(DAWN_BUILD_PROTOBUF OFF CACHE BOOL "" FORCE)
set(DAWN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(BUILD_GMOCK OFF CACHE BOOL "" FORCE)
set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "" FORCE)
set(DAWN_FETCH_DEPENDENCIES OFF CACHE BOOL "" FORCE)
set(DAWN_ENABLE_SPIRV_VALIDATION OFF CACHE BOOL "" FORCE)

if(ENABLE_D3D12_VAL OR ENABLE_D3D11_VAL)
set(TINT_BUILD_HLSL_WRITER ON CACHE BOOL "Enable HLSL writer" FORCE)
else()
set(TINT_BUILD_HLSL_WRITER OFF CACHE BOOL "" FORCE)
endif()

if(ENABLE_METAL_VAL)
set(TINT_BUILD_MSL_WRITER ON CACHE BOOL "Enable MSL writer" FORCE)
else()
set(TINT_BUILD_MSL_WRITER OFF CACHE BOOL "" FORCE)
endif()

if(ENABLE_VULKAN_VAL OR SUPPORT_GLSL_PARSER OR SUPPORT_VULKAN_BACKEND)
set(TINT_BUILD_SPV_WRITER ON CACHE BOOL "Enable SPIR-V writer" FORCE)
else()
set(TINT_BUILD_MSL_WRITER ON CACHE BOOL "" FORCE)
set(TINT_BUILD_SPV_WRITER OFF CACHE BOOL "" FORCE)
endif()

if(ENABLE_OPENGL_VAL)
set(TINT_BUILD_GLSL_WRITER ON CACHE BOOL "Enable GLSL writer" FORCE)
else()
set(TINT_BUILD_GLSL_WRITER OFF CACHE BOOL "" FORCE)
endif()

set(TINT_BUILD_GLSL_VALIDATOR OFF CACHE BOOL "" FORCE)
set(TINT_BUILD_IR_BINARY OFF CACHE BOOL "" FORCE)

if(SUPPORT_GLSL_PARSER)
set(TINT_BUILD_SPV_READER ON CACHE BOOL "" FORCE)
else()
set(TINT_BUILD_SPV_READER OFF CACHE BOOL "" FORCE)
endif()
option(DAWN_BUILD_PROTOBUF "" OFF)
set(TINT_BUILD_SPV_WRITER ON CACHE BOOL "" FORCE)
set(TINT_BUILD_HLSL_WRITER OFF CACHE BOOL "" FORCE)

set(TINT_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(DAWN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(BUILD_GMOCK OFF CACHE BOOL "" FORCE)
set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "" FORCE)
set(DAWN_FETCH_DEPENDENCIES OFF CACHE BOOL "" FORCE)
set(DAWN_ENABLE_OPENGLES OFF CACHE BOOL "" FORCE)
set(DAWN_ENABLE_DESKTOP_GL OFF CACHE BOOL "" FORCE)
set(DAWN_ENABLE_SPIRV_VALIDATION OFF CACHE BOOL "" FORCE)

if(EMSCRIPTEN OR NOT RAYGPU_ENABLE_INSTALL)
set(DAWN_ENABLE_INSTALL OFF CACHE BOOL "Enable install step for Dawn libraries" FORCE)
set(TINT_ENABLE_INSTALL OFF CACHE BOOL "Enable install step for Tint libraries" FORCE)
set(TINT_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(TINT_BUILD_CMD_TOOLS OFF CACHE BOOL "" FORCE)
set(TINT_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
else()
Expand Down