# 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(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/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 )