43 lines
1.4 KiB
CMake
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()
|