1+ message (STATUS "----------------------------------------------------------------" )
2+ message (STATUS "dawn" )
3+ message (STATUS "----------------------------------------------------------------" )
14
25set (CMAKE_DISABLE_FIND_PACKAGE_Python3 OFF )
36
@@ -16,7 +19,7 @@ set(DAWN_USE_GLFW OFF CACHE INTERNAL "Enable compilation of the GLFW windowing u
1619set (DAWN_USE_WINDOWS_UI OFF CACHE INTERNAL "Enable support for Windows UI surface" FORCE)
1720set (DAWN_BUILD_SAMPLES OFF CACHE INTERNAL "Enables building Dawn's samples" FORCE)
1821set (DAWN_BUILD_TESTS OFF CACHE INTERNAL "Enables building Dawn's tests" FORCE)
19- set (DAWN_BUILD_PROTOBUF OFF CACHE INTERNAL "Build the protobuf dependencies" FORCE)
22+ set (DAWN_BUILD_PROTOBUF ${cage_use_steam_sockets} CACHE INTERNAL "Build the protobuf dependencies" FORCE)
2023set (DAWN_ENABLE_PIC ON CACHE INTERNAL "Build with Position-Independent-Code enabled" FORCE)
2124set (DAWN_BUILD_MONOLITHIC_LIBRARY "STATIC" CACHE INTERNAL "Build monolithic library: SHARED, STATIC, or OFF." FORCE)
2225
@@ -35,9 +38,29 @@ set(TINT_BUILD_IR_BINARY OFF CACHE INTERNAL "Build IR binary format support" FOR
3538set (TINT_BUILD_TESTS OFF CACHE INTERNAL "Build tests" FORCE)
3639set (TINT_ENABLE_IR_VALIDATION ON CACHE INTERNAL "Enable IR validation for backend codegen" FORCE)
3740
38- add_subdirectory (dawn)
41+ add_library (libprotobuf-mutator INTERFACE ) # subvert unnecessary dependencies
3942
40- set_target_properties (webgpu_dawn PROPERTIES PREFIX cage-)
41- set_target_properties (webgpu_dawn PROPERTIES DEBUG_POSTFIX _debug)
43+ add_subdirectory (dawn)
4244
4345add_library (webgpu::dawn ALIAS webgpu_dawn)
46+
47+
48+
49+ # make protobuf available to steam sockets
50+ if (cage_use_steam_sockets)
51+ set (filename "${CAGE_EXTERNALS_MODULE_PATH} /FindProtobuf.cmake" )
52+ file (WRITE ${filename} "\n " )
53+ macro (append_lib varname libname)
54+ set (lib $<TARGET_LINKER_FILE:${libname} >)
55+ set (inc $<TARGET_PROPERTY:${libname} ,INTERFACE_INCLUDE_DIRECTORIES >)
56+ cage_gen_module_helper(${filename} ${varname} "${lib} " "${inc} " )
57+ endmacro ()
58+ append_lib(Protobuf protobuf)
59+ append_lib(Protobuf_LITE protobuf-lite)
60+ append_lib(Protobuf_PROTOC protoc)
61+ file (APPEND "${filename} " "set(Protobuf_PROTOC_EXECUTABLE protobuf::protoc)\n " )
62+ configure_file ("${CMAKE_CURRENT_LIST_DIR} /dawn/third_party/protobuf/cmake/protobuf-generate.cmake" "${CAGE_EXTERNALS_MODULE_PATH} /dawn/third_party/protobuf/protobuf-generate.cmake" COPYONLY )
63+ file (APPEND "${filename} " "include(\$ {CMAKE_CURRENT_LIST_DIR}/dawn/third_party/protobuf/protobuf-generate.cmake)\n " )
64+ configure_file ("${CMAKE_CURRENT_LIST_DIR} /dawn/third_party/protobuf/cmake/protobuf-module.cmake.in" "${CAGE_EXTERNALS_MODULE_PATH} /dawn/third_party/protobuf/protobuf-module.cmake" COPYONLY )
65+ file (APPEND "${filename} " "include(\$ {CMAKE_CURRENT_LIST_DIR}/dawn/third_party/protobuf/protobuf-module.cmake)\n " )
66+ endif ()
0 commit comments