smesh/src/webassembly/CMakeLists.txt

40 lines
1.1 KiB
CMake
Raw Normal View History

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
)
target_link_options(smeshjs PRIVATE
"$<IF:$<CONFIG:Release>,-Oz,-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"
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/app.html"
"${CMAKE_BINARY_DIR}/src/webassembly/index.html"
COPYONLY)