include(../../cmake/AddPlatformExecutable.cmake) add_platform( SRC ${CMAKE_CURRENT_SOURCE_DIR}/glue.cpp MAIN_FILE main.cpp.in LINK_LIBRARIES Core GFXWebGPU Log ) function(add_platform_commands target) set_target_properties( ${target} PROPERTIES SUFFIX ".html" ) target_link_options(${target} PRIVATE "SHELL:-s USE_WEBGPU=1" PRIVATE "SHELL:-s NO_DISABLE_EXCEPTION_CATCHING" PRIVATE "SHELL:-s ASSERTIONS=1" PRIVATE "SHELL:-s SAFE_HEAP=1" ) set(DUMMY_NAME ${target}-CopyShaders) add_custom_target(${DUMMY_NAME} ALL DEPENDS ${CMAKE_BINARY_DIR}/${target}-dummy) if(ENABLE_MACOS) add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${target}-dummy COMMAND ${CMAKE_COMMAND} -E make_directory $/../Resources/shaders COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/shaders $/../Resources/shaders ) else() add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${target}-dummy COMMAND ${CMAKE_COMMAND} -E make_directory $/shaders COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/shaders $/shaders ) endif() add_dependencies(${target} ${DUMMY_NAME}) endfunction()