Browse Source

cmake: preload resources into web examples

No examples built for the Web platform functioned properly due to lack
of resources in the virtual file system provided by emscripten.

This patch addresses this problem by adding
'--preload-file local_path/resources@resources' emcc option to link
flags whenever necessary.
Piotr Balcer 6 năm trước cách đây
mục cha
commit
3065cbbce9
1 tập tin đã thay đổi với 9 bổ sung0 xóa
  1. 9 0
      examples/CMakeLists.txt

+ 9 - 0
examples/CMakeLists.txt

@@ -80,6 +80,15 @@ foreach(example_source ${example_sources})
   add_executable(${example_name} ${example_source})
 
   target_link_libraries(${example_name} raylib)
+
+  string(REGEX MATCH ".*/.*/" resources_dir ${example_source})
+  string(APPEND resources_dir "resources")
+
+  if(${PLATFORM} MATCHES "Web" AND EXISTS ${resources_dir})
+    # The local resources path needs to be mapped to /resources virtual path
+    string(APPEND resources_dir "@resources")
+    set_target_properties(${example_name} PROPERTIES LINK_FLAGS "--preload-file ${resources_dir}")
+  endif()
 endforeach()
 
 if (${PLATFORM} MATCHES "Desktop")