mirror of
				https://github.com/webmproject/libwebp.git
				synced 2025-10-31 18:35:41 +01:00 
			
		
		
		
	Update wasm instructions.
Also update the quotes in CMake following: https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-specify-s-options-in-a-cmake-project https://emscripten.org/docs/getting_started/FAQ.html#why-do-i-get-a-nameerror-or-a-problem-occurred-in-evaluating-content-after-a-s-when-i-use-a-s-option Change-Id: I9cc0a5aece0019c81e3f435106bf288cd68d0fd0
This commit is contained in:
		| @@ -631,9 +631,9 @@ if(WEBP_BUILD_WEBP_JS) | ||||
|     set(WEBP_HAVE_SDL 1) | ||||
|     set_target_properties( | ||||
|       webp_js | ||||
|       PROPERTIES LINK_FLAGS "-s WASM=0 \ | ||||
|          -s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \ | ||||
|          -s EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'") | ||||
|       PROPERTIES LINK_FLAGS "-sWASM=0 \ | ||||
|          -sEXPORTED_FUNCTIONS=_WebpToSDL -sINVOKE_RUN=0 \ | ||||
|          -sEXPORTED_RUNTIME_METHODS=cwrap") | ||||
|     set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp) | ||||
|     target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL) | ||||
|   endif() | ||||
| @@ -644,9 +644,9 @@ if(WEBP_BUILD_WEBP_JS) | ||||
|   target_include_directories(webp_wasm PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) | ||||
|   set_target_properties( | ||||
|     webp_wasm | ||||
|     PROPERTIES LINK_FLAGS "-s WASM=1 \ | ||||
|        -s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \ | ||||
|        -s EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'") | ||||
|     PROPERTIES LINK_FLAGS "-sWASM=1 \ | ||||
|        -sEXPORTED_FUNCTIONS=_WebpToSDL -sINVOKE_RUN=0 \ | ||||
|        -sEXPORTED_RUNTIME_METHODS=cwrap") | ||||
|   target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL) | ||||
|  | ||||
|   target_compile_definitions(webpdspdecode PUBLIC EMSCRIPTEN) | ||||
|   | ||||
| @@ -26,8 +26,8 @@ Emscripten and CMake. | ||||
|  | ||||
| -   compile webp.js using 'emmake make'. | ||||
|  | ||||
| -   that's it! Upon completion, you should have the webp.js and webp.wasm files | ||||
|     generated. | ||||
| -   that's it! Upon completion, you should have the 'webp.js', 'webp.js.mem', | ||||
|     'webp_wasm.js' and 'webp_wasm.wasm' files generated. | ||||
|  | ||||
| The callable JavaScript function is WebPToSDL(), which decodes a raw WebP | ||||
| bitstream into a canvas. See webp_js/index.html for a simple usage sample (see | ||||
| @@ -35,11 +35,12 @@ below for instructions). | ||||
|  | ||||
| ## Demo HTML page | ||||
|  | ||||
| The HTML page webp_js/index.html requires an HTTP server to serve the WebP image | ||||
| example. It's easy to just use Python for that. | ||||
| The HTML page webp_js/index.html requires the built files 'webp.js' and | ||||
| 'webp.js.mem' to be copied to webp_js/. An HTTP server to serve the WebP image | ||||
| example is also needed. With Python, just run: | ||||
|  | ||||
| ```shell | ||||
| cd webp_js && python -m SimpleHTTPServer 8080 | ||||
| cd webp_js && python3 -m http.server 8080 | ||||
| ``` | ||||
|  | ||||
| and then navigate to http://localhost:8080 in your favorite browser. | ||||
| @@ -48,9 +49,11 @@ and then navigate to http://localhost:8080 in your favorite browser. | ||||
|  | ||||
| CMakeLists.txt is configured to build the WASM version when using the option | ||||
| WEBP_BUILD_WEBP_JS=ON. The compilation step will assemble the files | ||||
| 'webp_wasm.js', 'webp_wasm.wasm' in the webp_js/ directory. See | ||||
| webp_js/index_wasm.html for a simple demo page using the WASM version of the | ||||
| library. | ||||
| 'webp_wasm.js' and 'webp_wasm.wasm' that you then need to copy to the | ||||
| webp_js/ directory. | ||||
|  | ||||
| See webp_js/index_wasm.html for a simple demo page using the WASM version of | ||||
| the library. | ||||
|  | ||||
| You will need a fairly recent version of Emscripten (at least 2.0.18, | ||||
| latest-upstream is recommended) and of your WASM-enabled browser to run this | ||||
|   | ||||
		Reference in New Issue
	
	Block a user