diff --git a/Web/WebAssembly/CMakeLists.txt b/Web/WebAssembly/CMakeLists.txt
index 82f8fc9a0421891ff6f0ddb17e7a44ec26ab97af..53dfd3dc33678b59566d87875cf67071e0ec6870 100644
--- a/Web/WebAssembly/CMakeLists.txt
+++ b/Web/WebAssembly/CMakeLists.txt
@@ -53,7 +53,19 @@ endif ()
 # -----------------------------------------------------------------------------
 set(emscripten_optimizations)
 set(emscripten_debug_options)
-set(vtk_scene_manager_wasm_optimize "NO_OPTIMIZATION")
+if (CMAKE_BUILD_TYPE STREQUAL "Release")
+  set(vtk_scene_manager_wasm_optimize "BEST")
+  set(vtk_scene_manager_wasm_debuginfo "NONE")
+elseif (CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
+  set(vtk_scene_manager_wasm_optimize "SMALLEST_WITH_CLOSURE")
+  set(vtk_scene_manager_wasm_debuginfo "NONE")
+elseif (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
+  set(vtk_scene_manager_wasm_optimize "MORE")
+  set(vtk_scene_manager_wasm_debuginfo "PROFILE")
+elseif (CMAKE_BUILD_TYPE STREQUAL "Debug")
+  set(vtk_scene_manager_wasm_optimize "NO_OPTIMIZATION")
+  set(vtk_scene_manager_wasm_debuginfo "DEBUG_NATIVE")
+endif ()
 set(vtk_scene_manager_wasm_optimize_NO_OPTIMIZATION "-O0")
 set(vtk_scene_manager_wasm_optimize_LITTLE "-O1")
 set(vtk_scene_manager_wasm_optimize_MORE "-O2")
@@ -71,7 +83,6 @@ else ()
   message (FATAL_ERROR "Unrecognized value for vtk_scene_manager_wasm_optimize=${vtk_scene_manager_wasm_optimize}")
 endif ()
 
-set(vtk_scene_manager_wasm_debuginfo "PROFILE")
 set(vtk_scene_manager_wasm_debuginfo_NONE "-g0")
 set(vtk_scene_manager_wasm_debuginfo_READABLE_JS "-g1")
 set(vtk_scene_manager_wasm_debuginfo_PROFILE "-g2")