Add FreeCAD WebAssembly runtime probes
Some checks failed
FreeCAD master CI / Prepare (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
FreeCAD master CI / Pixi (push) Has been cancelled
FreeCAD master CI / Ubuntu (push) Has been cancelled
FreeCAD master CI / Windows (push) Has been cancelled
FreeCAD master CI / Lint (push) Has been cancelled
FreeCAD master CI / WrapUp (push) Has been cancelled
Stale Issues / stale (push) Has been cancelled
Push Crowdin Translations / update-crowdin (push) Has been cancelled
Fetch Crowdin Translations / update-crowdin (push) Has been cancelled

This commit is contained in:
2026-08-23 17:48:10 +08:00
parent 0644133717
commit 0a2e7ce7f5
32 changed files with 2160 additions and 74 deletions

View File

@@ -60,6 +60,7 @@ option(FREECAD_WEB_ENABLE_CLOUD "Enable the Cloud App Web probe and its dependen
option(FREECAD_WEB_ENABLE_INSPECTION "Enable the Inspection App Web probe and its dependency closure" OFF)
option(FREECAD_WEB_ENABLE_MESHPART "Enable the MeshPart App Web probe and its dependency closure" OFF)
option(FREECAD_WEB_ENABLE_OPENSCAD "Enable the OpenSCAD App Web probe and its dependency closure" OFF)
option(FREECAD_WEB_ENABLE_SANDBOX "Enable the Sandbox App Web probe and its dependency closure" OFF)
if(FREECAD_WEB)
if(NOT EMSCRIPTEN OR NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
message(FATAL_ERROR
@@ -133,6 +134,11 @@ if(FREECAD_WEB)
list(REMOVE_ITEM _freecad_web_disabled_options
BUILD_OPENSCAD BUILD_DRAFT BUILD_TECHDRAW BUILD_SPREADSHEET)
endif()
if(FREECAD_WEB_ENABLE_SANDBOX)
# Sandbox App is GUI-free only when its QtCore/PyCXX document protector
# is linked without SandboxGui. Mesh is its direct App dependency.
list(REMOVE_ITEM _freecad_web_disabled_options BUILD_SANDBOX BUILD_MESH)
endif()
foreach(_freecad_web_disabled_option IN LISTS _freecad_web_disabled_options)
set(${_freecad_web_disabled_option} OFF CACHE BOOL "Disabled by FREECAD_WEB core configuration" FORCE)
endforeach()
@@ -169,6 +175,11 @@ if(FREECAD_WEB)
set(${_freecad_web_openscad_option} ON CACHE BOOL "Enabled by FREECAD_WEB_ENABLE_OPENSCAD" FORCE)
endforeach()
endif()
if(FREECAD_WEB_ENABLE_SANDBOX)
foreach(_freecad_web_sandbox_option BUILD_SANDBOX BUILD_MESH)
set(${_freecad_web_sandbox_option} ON CACHE BOOL "Enabled by FREECAD_WEB_ENABLE_SANDBOX" FORCE)
endforeach()
endif()
include(cMake/FreeCADWebDependencies.cmake)
endif()