add_executable(smeshjs Bindings.cxx) set_target_properties(smeshjs PROPERTIES OUTPUT_NAME smesh ) target_link_libraries(smeshjs PRIVATE SalomeIDLKernel GEOMImpl SMESHDS SMESHimpl StdMeshers SMESHEngine) target_include_directories(smeshjs PRIVATE ${OpenCASCADE_INCLUDE_DIR} ${KERNEL_INCLUDE_DIRS} ${KERNEL_INCLUDE_DIRS} ${MEDFILE_INCLUDE_DIRS} ${MEDCOUPLING_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/src/Controls ${PROJECT_SOURCE_DIR}/src/SMDS ${PROJECT_SOURCE_DIR}/src/SMESH ${PROJECT_SOURCE_DIR}/src/SMESHDS ${PROJECT_SOURCE_DIR}/src/StdMeshers ${PROJECT_SOURCE_DIR}/src/SMESHUtils ) target_link_options(smeshjs PRIVATE "-O0" "--bind" "--closure 1" "SHELL:-sEXPORT_NAME=smesh" "SHELL:-sALLOW_MEMORY_GROWTH=1" "SHELL:-sEMULATE_FUNCTION_POINTER_CASTS=0" "SHELL:-sMODULARIZE=1" "SHELL:-sWASM=1" "SHELL:-sFORCE_FILESYSTEM" "SHELL:-sEXPORTED_RUNTIME_METHODS=FS" "SHELL:-sWASM_BIGINT" "SHELL:-sNO_DISABLE_EXCEPTION_CATCHING" ) target_compile_options(smeshjs PRIVATE "-Oz" "-flto" ) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/app.html" "${CMAKE_BINARY_DIR}/webassembly/index.html" COPYONLY) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/server.py" "${CMAKE_BINARY_DIR}/webassembly/server.py" COPYONLY) install(FILES ${CMAKE_BINARY_DIR}/webassembly/index.html ${CMAKE_BINARY_DIR}/webassembly/server.py ${CMAKE_BINARY_DIR}/webassembly/server.py ${CMAKE_BINARY_DIR}/src/webassembly/smesh.wasm ${CMAKE_BINARY_DIR}/src/webassembly/smesh.js DESTINATION webassembly)