2024-08-22 12:21:27 +00:00
|
|
|
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
|
|
|
|
)
|
2024-08-30 08:34:47 +00:00
|
|
|
|
2024-08-22 12:21:27 +00:00
|
|
|
target_link_options(smeshjs PRIVATE
|
2024-08-30 08:34:47 +00:00
|
|
|
"-O0"
|
2024-08-22 12:21:27 +00:00
|
|
|
"--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"
|
|
|
|
)
|
|
|
|
|
2024-08-30 08:34:47 +00:00
|
|
|
target_compile_options(smeshjs PRIVATE
|
|
|
|
"-Oz" "-flto"
|
|
|
|
)
|
|
|
|
|
2024-08-22 12:21:27 +00:00
|
|
|
configure_file(
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/app.html"
|
2024-08-30 08:34:47 +00:00
|
|
|
"${CMAKE_BINARY_DIR}/webassembly/index.html"
|
2024-08-22 12:21:27 +00:00
|
|
|
COPYONLY)
|
2024-08-30 08:34:47 +00:00
|
|
|
|
|
|
|
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)
|