COMMENT = general purpose parametric 3D CAD modeler V = 1.0.0 PKGNAME = freecad-${V} DIST_TUPLE += github FreeCAD FreeCAD ${V} . DIST_TUPLE += github Ondsel-Development OndselSolver \ 91f70382beeb58b32432b5a82da3802e4c19199c \ src/3rdParty/OndselSolver SHARED_LIBS += OndselSolver 0.0 # 0.0 CATEGORIES = cad HOMEPAGE = https://www.freecad.org/ MAINTAINER = Johannes Thyssen Tishman # LGPLv2+ PERMIT_PACKAGE = Yes WANTLIB += ${COMPILER_LIBCXX} Coin GL GLU Qt6Concurrent Qt6Core WANTLIB += Qt6Gui Qt6Network Qt6OpenGL Qt6OpenGLWidgets Qt6PrintSupport WANTLIB += Qt6Svg Qt6SvgWidgets Qt6UiTools Qt6Widgets Qt6Xml TKBO WANTLIB += TKBRep TKBin TKBinL TKBool TKCAF TKCDF TKDE TKDEGLTF WANTLIB += TKDEIGES TKDESTEP TKDESTL TKFeat TKFillet TKG2d TKG3d WANTLIB += TKGeomAlgo TKGeomBase TKHLR TKLCAF TKMath TKMesh TKMeshVS WANTLIB += TKOffset TKPrim TKRWMesh TKService TKShHealing TKTopAlgo WANTLIB += TKV3d TKVCAF TKXCAF TKXSBase TKernel X11 boost_atomic-mt WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt WANTLIB += boost_program_options-mt boost_regex-mt boost_serialization-mt WANTLIB += boost_system-mt boost_thread-mt c execinfo fmt fontconfig WANTLIB += freetype hdf5 hdf5_hl m medC pcl_common pcl_features WANTLIB += pcl_filters pcl_kdtree pcl_ml pcl_octree pcl_sample_consensus WANTLIB += pcl_search pcl_segmentation pcl_surface pyside6.abi3 WANTLIB += python3.12 shiboken6.abi3 vtkCommonCore vtkCommonDataModel WANTLIB += vtkCommonExecutionModel vtkCommonMath vtkCommonMisc WANTLIB += vtkCommonSystem vtkCommonTransforms vtkFiltersCellGrid WANTLIB += vtkFiltersCore vtkFiltersExtraction vtkFiltersGeneral WANTLIB += vtkFiltersGeometry vtkFiltersHybrid vtkFiltersHyperTree WANTLIB += vtkFiltersModeling vtkFiltersParallel vtkFiltersParallelDIY2 WANTLIB += vtkFiltersSources vtkFiltersTexture vtkFiltersVerdict WANTLIB += vtkIOCellGrid vtkIOCore vtkIOImage vtkIOLegacy vtkIOXML WANTLIB += vtkIOXMLParser vtkImagingCore vtkInteractionStyle vtkParallelCore WANTLIB += vtkParallelDIY vtkRenderingCore vtkRenderingFreeType WANTLIB += vtkRenderingHyperTreeGrid vtkRenderingOpenGL2 vtkRenderingUI WANTLIB += vtkglad vtkkissfft vtksys vtktoken xerces-c yaml-cpp WANTLIB += z MODULES = devel/cmake \ lang/python \ x11/qt6 BUILD_DEPENDS = cad/netgen-mesher \ devel/gtest \ devel/microsoft-gsl \ devel/py-pybind11 \ devel/swig \ devel/utfcpp \ graphics/glew \ graphics/py-matplotlib \ graphics/py-pivy \ math/double-conversion \ math/eigen3 \ textproc/nlohmann-json \ x11/qt6/pyside6/tools \ x11/qt6/qtwebengine RUN_DEPENDS = cad/netgen-mesher \ devel/desktop-file-utils \ devel/py-ply \ misc/shared-mime-info \ textproc/py-yaml \ x11/gtk+4,-guic LIB_DEPENDS = cad/opencascade \ devel/boost \ devel/fmt \ devel/yaml-cpp \ graphics/coin \ graphics/pcl \ graphics/vtk \ math/hdf5 \ math/med \ textproc/xerces-c \ x11/qt6/pyside6/pyside \ x11/qt6/pyside6/shiboken \ x11/qt6/qtsvg # All options: cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake # Zipios: modified by FreeCAD # https://forum.freecad.org/viewtopic.php?p=779490#p779490 # SMESH: part of salome suite and difficult to package # https://forum.freecad.org/viewtopic.php?p=715795#p715795 # Onsdel: Constraints solver specifically made for FreeCAD # PyCXX: modified by FreeCAD (no switch needed) # https://github.com/FreeCAD/FreeCAD/commit/a16eec8 # orocos-kdl: modified by FreeCAD # https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/Robot/App/CMakeLists.txt#L77 CONFIGURE_ARGS += -DFREECAD_USE_EXTERNAL_FMT=ON \ -DFREECAD_USE_EXTERNAL_PIVY=ON \ -DFREECAD_USE_EXTERNAL_KDL=OFF \ -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF \ -DFREECAD_USE_EXTERNAL_SMESH=OFF \ -DFREECAD_USE_EXTERNAL_ONDSELSOLVER=OFF \ -DFREECAD_USE_PYBIND11=ON \ -DFREECAD_USE_PCL=ON \ -DFREECAD_USE_CCACHE=OFF \ -DFREECAD_USE_OCC_VARIANT="Official Version" \ -DFREECAD_QT_VERSION=6 \ -DINSTALL_TO_SITEPACKAGES=ON \ -DENABLE_DEVELOPER_TESTS=ON \ -DBUILD_FEM_NETGEN=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_Spnav=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=ON \ -DCMAKE_INSTALL_DATAROOTDIR=${LOCALBASE}/share \ -DCMAKE_INSTALL_DATADIR=${LOCALBASE}/share/freecad \ -DCMAKE_INSTALL_DOCDIR=${LOCALBASE}/share/doc/freecad \ -DCMAKE_INSTALL_PREFIX=${LOCALBASE}/lib/freecad \ -DCMAKE_INSTALL_BINDIR=${LOCALBASE}/lib/freecad/bin \ -DCMAKE_INSTALL_LIBDIR=${LOCALBASE}/lib/freecad/lib \ -Dpybind11_DIR=${MODPY_SITEPKG}/pybind11/share/cmake/pybind11 # Some tests require an active X11 display to work. When using # PORTS_PRIVSEP=Yes, the following can be used: # xhost +si:localuser:_pbuild; make test; xhost -si:localuser:_pbuild TEST_IS_INTERACTIVE = X11 post-install: ln -s ${LOCALBASE}/lib/freecad/bin/FreeCAD ${PREFIX}/bin/FreeCAD ln -s ${LOCALBASE}/lib/freecad/bin/FreeCADCmd ${PREFIX}/bin/FreeCADCmd ${MODPY_COMPILEALL} \ ${WRKINST}${MODPY_SITEPKG}/freecad/ \ ${PREFIX}/lib/freecad/{Mod,Ext}/ .include