|
@@ -28,9 +28,10 @@ option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON)
|
|
|
|
|
|
option(ENABLE_GLSLANG_BINARIES "Builds glslangValidator and spirv-remap" ON)
|
|
|
|
|
|
-option(ENABLE_GLSLANG_WEB "Reduces glslang to minumum needed for web use" OFF)
|
|
|
-option(ENABLE_EMSCRIPTEN_SINGLE_FILE "If using emscripten, enables SINGLE_FILE build" OFF)
|
|
|
-option(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE "If using emscripten, builds to run on Node instead of Web" OFF)
|
|
|
+option(ENABLE_GLSLANG_WEB "Reduces glslang to minimum needed for web use" OFF)
|
|
|
+option(ENABLE_GLSLANG_WEB_DEVEL "For ENABLE_GLSLANG_WEB builds, enables compilation error messages" OFF)
|
|
|
+option(ENABLE_EMSCRIPTEN_SINGLE_FILE "If using Emscripten, enables SINGLE_FILE build" OFF)
|
|
|
+option(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE "If using Emscripten, builds to run on Node instead of Web" OFF)
|
|
|
|
|
|
CMAKE_DEPENDENT_OPTION(ENABLE_HLSL "Enables HLSL input support" ON "NOT ENABLE_GLSLANG_WEB" OFF)
|
|
|
|
|
@@ -70,6 +71,9 @@ endif(ENABLE_HLSL)
|
|
|
|
|
|
if(ENABLE_GLSLANG_WEB)
|
|
|
add_definitions(-DGLSLANG_WEB)
|
|
|
+ if(ENABLE_GLSLANG_WEB_DEVEL)
|
|
|
+ add_definitions(-DGLSLANG_WEB_DEVEL)
|
|
|
+ endif(ENABLE_GLSLANG_WEB_DEVEL)
|
|
|
endif(ENABLE_GLSLANG_WEB)
|
|
|
|
|
|
if(WIN32)
|
|
@@ -98,38 +102,29 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC")
|
|
|
add_compile_options(/GR-) # Disable RTTI
|
|
|
endif()
|
|
|
|
|
|
-if(ENABLE_GLSLANG_WEB)
|
|
|
- if(EMSCRIPTEN)
|
|
|
- add_compile_options(-Os -fno-exceptions)
|
|
|
- add_compile_options("SHELL: -s WASM=1")
|
|
|
- add_compile_options("SHELL: -s WASM_OBJECT_FILES=0")
|
|
|
- add_link_options(-Os)
|
|
|
- add_link_options("SHELL: -s FILESYSTEM=0")
|
|
|
- add_link_options("SHELL: --llvm-lto 1")
|
|
|
- add_link_options("SHELL: --closure 1")
|
|
|
- add_link_options("SHELL: -s ALLOW_MEMORY_GROWTH=1")
|
|
|
-
|
|
|
- add_link_options("SHELL: -s MODULARIZE=1")
|
|
|
- if(ENABLE_EMSCRIPTEN_SINGLE_FILE)
|
|
|
- add_link_options("SHELL: -s SINGLE_FILE=1")
|
|
|
- endif(ENABLE_EMSCRIPTEN_SINGLE_FILE)
|
|
|
-
|
|
|
- if(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE)
|
|
|
- add_link_options("SHELL: -s ENVIRONMENT=node")
|
|
|
- add_link_options("SHELL: -s BINARYEN_ASYNC_COMPILATION=0")
|
|
|
+if(EMSCRIPTEN)
|
|
|
+ add_compile_options(-Os -fno-exceptions)
|
|
|
+ add_compile_options("SHELL: -s WASM=1")
|
|
|
+ add_compile_options("SHELL: -s WASM_OBJECT_FILES=0")
|
|
|
+ add_link_options(-Os)
|
|
|
+ add_link_options("SHELL: -s FILESYSTEM=0")
|
|
|
+ add_link_options("SHELL: --llvm-lto 1")
|
|
|
+ add_link_options("SHELL: --closure 1")
|
|
|
+ add_link_options("SHELL: -s ALLOW_MEMORY_GROWTH=1")
|
|
|
+
|
|
|
+ if(ENABLE_EMSCRIPTEN_SINGLE_FILE)
|
|
|
+ add_link_options("SHELL: -s SINGLE_FILE=1")
|
|
|
+ endif(ENABLE_EMSCRIPTEN_SINGLE_FILE)
|
|
|
+else()
|
|
|
+ if(ENABLE_GLSLANG_WEB)
|
|
|
+ if(MSVC)
|
|
|
+ add_compile_options(/Os /GR-)
|
|
|
else()
|
|
|
- add_link_options("SHELL: -s ENVIRONMENT=web,worker")
|
|
|
- add_link_options("SHELL: -s EXPORT_ES6=1")
|
|
|
+ add_compile_options(-Os -fno-exceptions)
|
|
|
+ add_link_options(-Os)
|
|
|
endif()
|
|
|
- else()
|
|
|
- if(MSVC)
|
|
|
- add_compile_options(/Os /GR-)
|
|
|
- else()
|
|
|
- add_compile_options(-Os -fno-exceptions)
|
|
|
- add_link_options(-Os)
|
|
|
- endif()
|
|
|
- endif(EMSCRIPTEN)
|
|
|
-endif(ENABLE_GLSLANG_WEB)
|
|
|
+ endif(ENABLE_GLSLANG_WEB)
|
|
|
+endif(EMSCRIPTEN)
|
|
|
|
|
|
# Request C++11
|
|
|
if(${CMAKE_VERSION} VERSION_LESS 3.1)
|