Mercurial > hg > orthanc-stone
comparison Applications/Samples/CMakeLists.txt @ 459:dc091ca6fd5f am-touch-events
clarify emsdk build options + added optimizations
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Tue, 29 Jan 2019 18:16:38 +0100 |
parents | 26b90b110719 |
children | 593b8c3c02fb |
comparison
equal
deleted
inserted
replaced
458:e74f9271d653 | 459:dc091ca6fd5f |
---|---|
18 ##################################################################### | 18 ##################################################################### |
19 ## Configuration of the Emscripten compiler for WebAssembly target | 19 ## Configuration of the Emscripten compiler for WebAssembly target |
20 ##################################################################### | 20 ##################################################################### |
21 | 21 |
22 set(WASM_FLAGS "-s WASM=1") | 22 set(WASM_FLAGS "-s WASM=1") |
23 set(WASM_FLAGS "${WASM_FLAGS} -s STRICT=1") # drops support for all deprecated build options | |
24 set(WASM_FLAGS "${WASM_FLAGS} -s FILESYSTEM=0") # remove File system emulation | |
25 set(WASM_FLAGS "${WASM_FLAGS} -s DISABLE_EXCEPTION_CATCHING=0") # actually enable exception catching | |
26 set(WASM_FLAGS "${WASM_FLAGS} -s ERROR_ON_MISSING_LIBRARIES=1") | |
27 | |
28 if (CMAKE_BUILD_TYPE MATCHES DEBUG) | |
29 set(WASM_FLAGS "${WASM_FLAGS} -g4") # generate debug information | |
30 set(WASM_FLAGS "${WASM_FLAGS} -s ASSERTIONS=2") # more runtime checks | |
31 else() | |
32 set(WASM_FLAGS "${WASM_FLAGS} -Os") # optimize for web (speed and size) | |
33 endif() | |
34 | |
23 set(WASM_MODULE_NAME "StoneFrameworkModule" CACHE STRING "Name of the WebAssembly module") | 35 set(WASM_MODULE_NAME "StoneFrameworkModule" CACHE STRING "Name of the WebAssembly module") |
36 | |
24 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WASM_FLAGS}") | 37 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WASM_FLAGS}") |
25 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WASM_FLAGS}") | 38 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WASM_FLAGS}") |
26 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --js-library ${STONE_SOURCES_DIR}/Applications/Samples/samples-library.js --js-library ${STONE_SOURCES_DIR}/Platforms/Wasm/WasmWebService.js --js-library ${STONE_SOURCES_DIR}/Platforms/Wasm/WasmDelayedCallExecutor.js --js-library ${STONE_SOURCES_DIR}/Platforms/Wasm/default-library.js -s EXTRA_EXPORTED_RUNTIME_METHODS='[\"ccall\", \"cwrap\"]'") | 39 |
27 | 40 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${WASM_FLAGS}") # not always clear which flags are for the compiler and which one are for the linker -> pass them all to the linker too |
28 # Handling of memory | 41 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --js-library ${STONE_SOURCES_DIR}/Applications/Samples/samples-library.js") |
29 #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s ALLOW_MEMORY_GROWTH=1") # Resize | 42 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --js-library ${STONE_SOURCES_DIR}/Platforms/Wasm/WasmWebService.js") |
30 #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s TOTAL_MEMORY=536870912") # 512MB | 43 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --js-library ${STONE_SOURCES_DIR}/Platforms/Wasm/WasmDelayedCallExecutor.js") |
31 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s EXPORT_NAME='\"${WASM_MODULE_NAME}\"' -s ALLOW_MEMORY_GROWTH=1 -s TOTAL_MEMORY=536870912 -s TOTAL_STACK=128000000") # 512MB + resize | 44 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --js-library ${STONE_SOURCES_DIR}/Platforms/Wasm/default-library.js") |
32 #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -s TOTAL_MEMORY=1073741824") # 1GB + resize | 45 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s EXTRA_EXPORTED_RUNTIME_METHODS='[\"ccall\", \"cwrap\"]'") |
33 | 46 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s EXPORT_NAME='\"${WASM_MODULE_NAME}\"'") |
34 # To debug exceptions | 47 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s ALLOW_MEMORY_GROWTH=1") |
35 #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s ASSERTIONS=2") | 48 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s TOTAL_MEMORY=536870912") |
49 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s TOTAL_STACK=128000000") | |
36 | 50 |
37 add_definitions(-DORTHANC_ENABLE_WASM=1) | 51 add_definitions(-DORTHANC_ENABLE_WASM=1) |
38 set(ORTHANC_SANDBOXED ON) | 52 set(ORTHANC_SANDBOXED ON) |
39 | 53 |
40 elseif (ENABLE_QT OR ENABLE_SDL) | 54 elseif (ENABLE_QT OR ENABLE_SDL) |