@@ -4,6 +4,7 @@ message(STATUS "----------------------------------------------------------------
44
55set (CMAKE_DISABLE_FIND_PACKAGE_Python3 OFF )
66
7+ # dawn
78set (DAWN_ENABLE_INSTALL ON CACHE INTERNAL "Enable install step for Dawn libraries" FORCE)
89set (DAWN_ENABLE_D3D11 OFF CACHE INTERNAL "Enable compilation of the D3D11 backend" FORCE)
910set (DAWN_ENABLE_D3D12 OFF CACHE INTERNAL "Enable compilation of the D3D12 backend" FORCE)
@@ -16,14 +17,15 @@ set(DAWN_ENABLE_VULKAN ON CACHE INTERNAL "Enable compilation of the Vulkan backe
1617set (DAWN_FORCE_SYSTEM_COMPONENT_LOAD ON CACHE INTERNAL "Allow system component fallback" FORCE)
1718set (DAWN_USE_WAYLAND OFF CACHE INTERNAL "Enable support for Wayland surface" FORCE)
1819set (DAWN_USE_X11 OFF CACHE INTERNAL "Enable support for X11 surface" FORCE)
19- set (DAWN_USE_GLFW OFF CACHE INTERNAL "Enable compilation of the GLFW windowing utils" FORCE)
20+ set (DAWN_USE_GLFW ON CACHE INTERNAL "Enable compilation of the GLFW windowing utils" FORCE)
2021set (DAWN_USE_WINDOWS_UI OFF CACHE INTERNAL "Enable support for Windows UI surface" FORCE)
2122set (DAWN_BUILD_SAMPLES OFF CACHE INTERNAL "Enables building Dawn's samples" FORCE)
2223set (DAWN_BUILD_TESTS OFF CACHE INTERNAL "Enables building Dawn's tests" FORCE)
2324set (DAWN_BUILD_PROTOBUF ${cage_use_steam_sockets} CACHE INTERNAL "Build the protobuf dependencies" FORCE)
2425set (DAWN_ENABLE_PIC ON CACHE INTERNAL "Build with Position-Independent-Code enabled" FORCE)
2526set (DAWN_BUILD_MONOLITHIC_LIBRARY "STATIC" CACHE INTERNAL "Build monolithic library: SHARED, STATIC, or OFF." FORCE)
2627
28+ # tint
2729set (TINT_BUILD_SPV_READER ON CACHE INTERNAL "Build the SPIR-V input reader" FORCE)
2830set (TINT_BUILD_WGSL_READER ON CACHE INTERNAL "Build the WGSL input reader" FORCE)
2931set (TINT_BUILD_GLSL_WRITER OFF CACHE INTERNAL "Build the GLSL output writer" FORCE)
@@ -32,22 +34,26 @@ set(TINT_BUILD_HLSL_WRITER OFF CACHE INTERNAL "Build the HLSL output writer" FOR
3234set (TINT_BUILD_MSL_WRITER OFF CACHE INTERNAL "Build the MSL output writer" FORCE)
3335set (TINT_BUILD_SPV_WRITER ON CACHE INTERNAL "Build the SPIR-V output writer" FORCE)
3436set (TINT_BUILD_WGSL_WRITER ON CACHE INTERNAL "Build the WGSL output writer" FORCE)
35-
3637set (TINT_ENABLE_INSTALL OFF CACHE INTERNAL "Enable install step for Tint libraries" FORCE)
3738set (TINT_BUILD_CMD_TOOLS OFF CACHE INTERNAL "Build the Tint command line tools" FORCE)
3839set (TINT_BUILD_IR_BINARY OFF CACHE INTERNAL "Build IR binary format support" FORCE)
3940set (TINT_BUILD_TESTS OFF CACHE INTERNAL "Build tests" FORCE)
4041set (TINT_ENABLE_IR_VALIDATION ON CACHE INTERNAL "Enable IR validation for backend codegen" FORCE)
4142
43+ # protobuf
4244add_library (libprotobuf-mutator INTERFACE ) # subvert unnecessary dependencies
4345
46+ # add the externals
4447add_subdirectory (dawn)
4548
46- add_library (webgpu::dawn ALIAS webgpu_dawn)
47-
48-
49+ # dawn
50+ add_library (cage_dawn INTERFACE )
51+ target_link_libraries (cage_dawn INTERFACE $<TARGET_LINKER_FILE:webgpu_dawn> $<TARGET_LINKER_FILE:webgpu_glfw>)
52+ target_include_directories (cage_dawn INTERFACE $<TARGET_PROPERTY:webgpu_dawn,INTERFACE_INCLUDE_DIRECTORIES > $<TARGET_PROPERTY:webgpu_glfw,INTERFACE_INCLUDE_DIRECTORIES >)
53+ add_dependencies (cage_dawn webgpu_dawn webgpu_glfw)
54+ add_library (cage::dawn ALIAS cage_dawn)
4955
50- # make protobuf available to steam sockets
56+ # protobuf
5157if (cage_use_steam_sockets)
5258 set (filename "${CAGE_EXTERNALS_MODULE_PATH} /FindProtobuf.cmake" )
5359 file (WRITE ${filename} "\n " )
0 commit comments