Преглед на файлове

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 години
родител
ревизия
3065cbbce9
променени са 1 файла, в които са добавени 9 реда и са изтрити 0 реда
  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")