Files
FreeCADWasmDev/docs/web-dependency-install.md
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

2.1 KiB

FreeCAD Web Dependency Install Report

Scope

This report records the FW-P0-006 target dependency installations and the FreeCAD CMake lookup boundary. The desktop find_package path remains unchanged; the FREECAD_WEB branch forces all target headers and static archives into build-web prefixes.

Installed prefixes

Dependency Prefix Validation
yaml-cpp 0.8.0 build-web/yaml-install CMake config, static archive, wasm dependency probe
Qt 5.15.13 build-web/qt-install Qt5/Core, Network, Xml configs and static archives
CPython 3.12.3 build-web/python-install Python.h, libpython3.12.a, wasm SOABI
ICU 68.2 build-web/icu-install unicode/utypes.h, libicuuc.a, libicui18n.a, libicudata.a

The ICU libraries are generated by the Emscripten 3.1.6 port and installed with the names expected by CMake's FindICU.cmake. Representative archive members are WebAssembly objects.

Download policy

ICU uses the domestic Aliyun BLFS mirror first:

https://mirrors.aliyun.com/blfs/conglomeration/icu/icu4c-68_2-src.tgz
SHA-512: 24f3b7981667b37df58118f56ae76a09b719358c1efa8d6f044d28ef8df1c722a894957acadfb3c37aee39ac845893924fc3370d6bbe09875aec8d937059f84b

The Emscripten GitHub URL is retained only as a verified fallback. The preparation script seeds the local Emscripten port cache, so a normal rerun does not access GitHub after the domestic archive is present.

CMake validation

cmake --preset freecad-web-core resolves ICU 68.2, Python 3.12.3, Qt 5.15.13 and yaml-cpp from build-web. The configure now stops at the next genuine unprepared target dependency:

Failed to find XercesC (missing: XercesC_LIBRARY XercesC_INCLUDE_DIR XercesC_VERSION)

This is recorded as the FW-P0-007 boundary; it is not treated as a passing full-core configure.

Probe result

The standalone Emscripten dependency probe links the yaml-cpp, Qt and CPython package families and runs under Node. ICU is validated separately through its wasm archive members:

yaml-cpp=0.8.0 Qt=5.15.13 Python=3.12.3