Files
create/src/Mod/Assembly/CMakeLists.txt
forbes acc255972d
Some checks failed
Build and Test / build (pull_request) Failing after 7m52s
feat(assembly): fixed reference planes + solver docs
Assembly Origin Planes:
- AssemblyObject::setupObject() relabels origin planes to
  Top (XY), Front (XZ), Right (YZ) on assembly creation
- CommandCreateAssembly.py makes origin planes visible by default
- AssemblyUtils.cpp getObjFromRef() resolves LocalCoordinateSystem
  to child datum elements for joint references to origin planes
- TestAssemblyOriginPlanes.py: 9 integration tests covering
  structure, labels, grounding, reference resolution, solver,
  and save/load round-trip

Solver Documentation:
- docs/src/solver/: 7 new pages covering architecture overview,
  expression DAG, constraints, solving algorithms, diagnostics,
  assembly integration, and writing custom solvers
- docs/src/SUMMARY.md: added Kindred Solver section
2026-02-21 09:09:16 -06:00

102 lines
2.1 KiB
CMake

# SPDX-License-Identifier: LGPL-2.1-or-later
if (NOT FREECAD_USE_EXTERNAL_ONDSELSOLVER)
include_directories(
${CMAKE_SOURCE_DIR}/src/3rdParty/OndselSolver
)
else ()
check_include_file_cxx(OndselSolver/enum.h HAVE_ONDSELSOLVER_H)
if (NOT HAVE_ONDSELSOLVER_H)
message(FATAL_ERROR "FREECAD_USE_EXTERNAL_ONDSELSOLVER is set but the required system includes are not available")
endif ()
endif ()
add_subdirectory(Solver)
add_subdirectory(App)
if(BUILD_GUI)
add_subdirectory(Gui)
endif(BUILD_GUI)
set(Assembly_Scripts
Init.py
CommandCreateAssembly.py
CommandCreateBom.py
CommandInsertLink.py
CommandInsertNewPart.py
CommandSolveAssembly.py
CommandCreateJoint.py
CommandCreateView.py
CommandCreateSimulation.py
CommandExportASMT.py
TestAssemblyWorkbench.py
JointObject.py
Preferences.py
AssemblyImport.py
SoSwitchMarker.py
UtilsAssembly.py
)
if(BUILD_GUI)
list (APPEND Assembly_Scripts InitGui.py)
endif(BUILD_GUI)
INSTALL(
FILES
${Assembly_Scripts}
DESTINATION
Mod/Assembly
)
SET(AssemblyScripts_SRCS
Assembly/__init__.py
)
SET(AssemblyTests_SRCS
AssemblyTests/__init__.py
AssemblyTests/TestCore.py
AssemblyTests/TestCommandInsertLink.py
AssemblyTests/TestSolverIntegration.py
AssemblyTests/TestKindredSolverIntegration.py
AssemblyTests/TestKCSolvePy.py
AssemblyTests/TestAssemblyOriginPlanes.py
AssemblyTests/mocks/__init__.py
AssemblyTests/mocks/MockGui.py
)
SET(all_files
${AssemblyTests_SRCS}
${AssemblyScripts_SRCS}
)
ADD_CUSTOM_TARGET(AssemblyScripts ALL
SOURCES ${all_files}
)
SET(test_files
${Assembly_Scripts}
${AssemblyTests_SRCS}
)
ADD_CUSTOM_TARGET(AssemblyTests ALL
SOURCES ${test_files}
)
fc_copy_sources(AssemblyScripts "${CMAKE_BINARY_DIR}/Mod/Assembly" ${all_files})
fc_copy_sources(AssemblyTests "${CMAKE_BINARY_DIR}/Mod/Assembly" ${test_files})
INSTALL(
FILES
${AssemblyTests_SRCS}
DESTINATION
Mod/Assembly/AssemblyTests
)
INSTALL(
FILES
${AssemblyScripts_SRCS}
DESTINATION
Mod/Assembly/Assembly
)