diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 02dffde1a6..60ce593a6c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -24,7 +24,7 @@ target_link_libraries(sdltests_utils PRIVATE SDL3::Headers) file(GLOB RESOURCE_FILES *.bmp *.wav *.hex moose.dat utf8.txt) set(RESOURCE_FILE_NAMES) -foreach(RESOURCE_FILE ${RESOURCE_FILES}) +foreach(RESOURCE_FILE IN LISTS RESOURCE_FILES) get_filename_component(res_file_name ${RESOURCE_FILE} NAME) list(APPEND RESOURCE_FILE_NAMES "${res_file_name}") endforeach() @@ -82,6 +82,12 @@ macro(add_sdl_test_executable TARGET) # Make sure resource files get installed into macOS/iOS .app bundles. set_target_properties(${TARGET} PROPERTIES RESOURCE "${RESOURCE_FILES}") endif() + if(EMSCRIPTEN) + foreach(res IN LISTS RESOURCE_FILES) + get_filename_component(res_name "${res}" NAME) + target_link_options(${TARGET} PRIVATE "SHELL:--embed-file ${res}@${res_name}") + endforeach() + endif() set_property(TARGET ${TARGET} APPEND PROPERTY ADDITIONAL_CLEAN_FILES "$/$$/>") endif() if(AST_BUILD_DEPENDENT) @@ -98,6 +104,10 @@ macro(add_sdl_test_executable TARGET) target_link_libraries(${TARGET} PRIVATE GL) endif() + if(EMSCRIPTEN) + set_property(TARGET ${TARGET} PROPERTY SUFFIX ".html") + endif() + if(OPENGL_FOUND) target_compile_definitions(${TARGET} PRIVATE HAVE_OPENGL) endif() @@ -212,7 +222,7 @@ if(ANDROID) target_link_libraries(testgles PRIVATE GLESv1_CM) endif() add_sdl_test_executable(testgles2 SOURCES testgles2.c) -add_sdl_test_executable(testgles2_sdf TESTUTILS SOURCES testgles2_sdf.c) +add_sdl_test_executable(testgles2_sdf NEEDS_RESOURCES TESTUTILS SOURCES testgles2_sdf.c) add_sdl_test_executable(testhaptic SOURCES testhaptic.c) add_sdl_test_executable(testhotplug SOURCES testhotplug.c) add_sdl_test_executable(testrumble SOURCES testrumble.c)