Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
prism/platforms/web/CMakeLists.txt

43 lines
1.4 KiB
CMake

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 $<TARGET_FILE_DIR:${target}>/../Resources/shaders
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/shaders $<TARGET_FILE_DIR:${target}>/../Resources/shaders
)
else()
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${target}-dummy
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:${target}>/shaders
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/shaders $<TARGET_FILE_DIR:${target}>/shaders
)
endif()
add_dependencies(${target} ${DUMMY_NAME})
endfunction()