Files
FreeCADWasmDev/tools/configure_vtk_wasm.sh
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

51 lines
3.3 KiB
Bash
Executable File

#!/bin/sh
# Configure the bundled VTK/HDF5 sources for the FreeCAD Fem WASM closure.
set -eu
root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
src="$root/FreeCADBaseLib/sources/src/VTK-9.1.0"
build="${1:-$root/freecad-source/build-web/vtk-wasm}"
toolchain=/usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake
cmake -S "$src" -B "$build" -G Ninja \
-DCMAKE_TOOLCHAIN_FILE="$toolchain" -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF -DVTK_BUILD_SHARED_LIBS=OFF -DVTK_BUILD_TESTING=OFF \
-DVTK_WRAP_PYTHON=OFF -DVTK_ENABLE_WRAPPING=OFF \
-DVTK_GROUP_ENABLE_Rendering=NO -DVTK_GROUP_ENABLE_Imaging=NO \
-DVTK_GROUP_ENABLE_Views=NO -DVTK_GROUP_ENABLE_Qt=NO -DVTK_GROUP_ENABLE_Web=NO \
-DVTK_MODULE_ENABLE_VTK_CommonCore=YES -DVTK_MODULE_ENABLE_VTK_CommonDataModel=YES \
-DVTK_MODULE_ENABLE_VTK_CommonMath=YES -DVTK_MODULE_ENABLE_VTK_CommonSystem=YES \
-DVTK_MODULE_ENABLE_VTK_CommonTransforms=YES -DVTK_MODULE_ENABLE_VTK_FiltersCore=YES \
-DVTK_MODULE_ENABLE_VTK_FiltersExtraction=YES -DVTK_MODULE_ENABLE_VTK_FiltersGeneral=YES \
-DVTK_MODULE_ENABLE_VTK_FiltersGeometry=YES -DVTK_MODULE_ENABLE_VTK_FiltersSources=YES \
-DVTK_MODULE_ENABLE_VTK_FiltersVerdict=YES -DVTK_MODULE_ENABLE_VTK_IOLegacy=YES \
-DVTK_MODULE_ENABLE_VTK_IOXML=YES -DVTK_MODULE_ENABLE_VTK_tiff=NO \
-DVTK_MODULE_ENABLE_VTK_jpeg=NO -DVTK_MODULE_ENABLE_VTK_png=NO \
-DVTK_MODULE_ENABLE_VTK_ogg=NO -DVTK_MODULE_ENABLE_VTK_theora=NO \
-DVTK_MODULE_ENABLE_VTK_lz4=YES -DVTK_MODULE_ENABLE_VTK_lzma=YES \
-DVTK_MODULE_ENABLE_VTK_zlib=YES -DVTK_MODULE_ENABLE_VTK_expat=YES \
-DVTK_MODULE_ENABLE_VTK_doubleconversion=YES -DVTK_MODULE_ENABLE_VTK_eigen=YES \
-DVTK_ENABLE_LOGGING=OFF -DVTK_USE_MPI=OFF -DVTK_USE_TK=OFF -DVTK_USE_X=OFF \
-DVTK_USE_COCOA=OFF -DVTK_USE_OPENGL2=OFF \
-DCMAKE_CROSSCOMPILING_EMULATOR="$root/tools/run_emscripten_node.sh" \
-DCMAKE_EXE_LINKER_FLAGS='-O0' \
-DH5_SIZEOF_BOOL:INTERNAL=1 -DH5_SIZEOF_CHAR:INTERNAL=1 \
-DH5_SIZEOF_SHORT:INTERNAL=2 -DH5_SIZEOF_INT:INTERNAL=4 \
-DH5_SIZEOF_UNSIGNED:INTERNAL=4 -DH5_SIZEOF_LONG:INTERNAL=4 \
-DH5_SIZEOF_LONG_LONG:INTERNAL=8 -DH5_SIZEOF_FLOAT:INTERNAL=4 \
-DH5_SIZEOF_DOUBLE:INTERNAL=8 -DH5_SIZEOF_LONG_DOUBLE:INTERNAL=8 \
-DH5_SIZEOF_INT8_T:INTERNAL=1 -DH5_SIZEOF_UINT8_T:INTERNAL=1 \
-DH5_SIZEOF_INT16_T:INTERNAL=2 -DH5_SIZEOF_UINT16_T:INTERNAL=2 \
-DH5_SIZEOF_INT32_T:INTERNAL=4 -DH5_SIZEOF_UINT32_T:INTERNAL=4 \
-DH5_SIZEOF_INT64_T:INTERNAL=8 -DH5_SIZEOF_UINT64_T:INTERNAL=8 \
-DH5_SIZEOF_INT_FAST8_T:INTERNAL=1 -DH5_SIZEOF_UINT_FAST8_T:INTERNAL=1 \
-DH5_SIZEOF_INT_FAST16_T:INTERNAL=2 -DH5_SIZEOF_UINT_FAST16_T:INTERNAL=2 \
-DH5_SIZEOF_INT_FAST32_T:INTERNAL=4 -DH5_SIZEOF_UINT_FAST32_T:INTERNAL=4 \
-DH5_SIZEOF_INT_FAST64_T:INTERNAL=8 -DH5_SIZEOF_UINT_FAST64_T:INTERNAL=8 \
-DH5_SIZEOF_INT_LEAST8_T:INTERNAL=1 -DH5_SIZEOF_UINT_LEAST8_T:INTERNAL=1 \
-DH5_SIZEOF_INT_LEAST16_T:INTERNAL=2 -DH5_SIZEOF_UINT_LEAST16_T:INTERNAL=2 \
-DH5_SIZEOF_INT_LEAST32_T:INTERNAL=4 -DH5_SIZEOF_UINT_LEAST32_T:INTERNAL=4 \
-DH5_SIZEOF_INT_LEAST64_T:INTERNAL=8 -DH5_SIZEOF_UINT_LEAST64_T:INTERNAL=8 \
-DH5_SIZEOF_SIZE_T:INTERNAL=4 -DH5_SIZEOF_SSIZE_T:INTERNAL=4 \
-DH5_SIZEOF_PTRDIFF_T:INTERNAL=4 -DH5_SIZEOF_OFF_T:INTERNAL=8 \
-DH5_SIZEOF_OFF64_T:INTERNAL=0 -DH5_SIZEOF_TIME_T:INTERNAL=8 \
-DH5_SIZEOF___FLOAT128:INTERNAL=7 -DH5_HAVE_FLOAT128:INTERNAL=0