You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
2 years ago
|
#
|
||
|
# libstream
|
||
|
#
|
||
|
|
||
|
set(TARGET libstream)
|
||
|
|
||
|
add_executable(${TARGET}
|
||
|
emscripten.cpp
|
||
|
)
|
||
|
|
||
|
target_link_libraries(${TARGET} PRIVATE
|
||
|
whisper
|
||
|
)
|
||
|
|
||
|
unset(EXTRA_FLAGS)
|
||
|
|
||
|
if (WHISPER_WASM_SINGLE_FILE)
|
||
|
set(EXTRA_FLAGS "-s SINGLE_FILE=1")
|
||
|
message(STATUS "Embedding WASM inside stream.js")
|
||
|
|
||
|
add_custom_command(
|
||
|
TARGET ${TARGET} POST_BUILD
|
||
|
COMMAND ${CMAKE_COMMAND} -E copy
|
||
|
${CMAKE_BINARY_DIR}/bin/libstream.js
|
||
|
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/stream.wasm/stream.js
|
||
|
)
|
||
|
endif()
|
||
|
|
||
|
set_target_properties(${TARGET} PROPERTIES LINK_FLAGS " \
|
||
|
--bind \
|
||
|
-s USE_PTHREADS=1 \
|
||
|
-s PTHREAD_POOL_SIZE=8 \
|
||
|
-s INITIAL_MEMORY=1024MB \
|
||
|
-s TOTAL_MEMORY=1024MB \
|
||
|
-s FORCE_FILESYSTEM=1 \
|
||
|
-s EXPORTED_RUNTIME_METHODS=\"['print', 'printErr', 'ccall', 'cwrap']\" \
|
||
|
${EXTRA_FLAGS} \
|
||
|
")
|
||
|
|
||
|
#
|
||
|
# stream.wasm
|
||
|
#
|
||
|
|
||
|
set(TARGET stream.wasm)
|
||
|
|
||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/index-tmpl.html ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET}/index.html @ONLY)
|
||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../helpers.js ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET}/helpers.js @ONLY)
|