Makefile (5114B) (RAW)
1 COMMENT = general purpose parametric 3D CAD modeler 2 3 V = 1.0.0 4 PKGNAME = freecad-${V} 5 6 DIST_TUPLE += github FreeCAD FreeCAD ${V} . 7 DIST_TUPLE += github Ondsel-Development OndselSolver \ 8 91f70382beeb58b32432b5a82da3802e4c19199c \ 9 src/3rdParty/OndselSolver 10 11 SHARED_LIBS += OndselSolver 0.0 # 0.0 12 13 CATEGORIES = cad 14 HOMEPAGE = https://www.freecad.org/ 15 MAINTAINER = Johannes Thyssen Tishman <jtt@openbsd.org> 16 17 # LGPLv2+ 18 PERMIT_PACKAGE = Yes 19 20 WANTLIB += ${COMPILER_LIBCXX} Coin GL GLU Qt6Concurrent Qt6Core 21 WANTLIB += Qt6Gui Qt6Network Qt6OpenGL Qt6OpenGLWidgets Qt6PrintSupport 22 WANTLIB += Qt6Svg Qt6SvgWidgets Qt6UiTools Qt6Widgets Qt6Xml TKBO 23 WANTLIB += TKBRep TKBin TKBinL TKBool TKCAF TKCDF TKDE TKDEGLTF 24 WANTLIB += TKDEIGES TKDESTEP TKDESTL TKFeat TKFillet TKG2d TKG3d 25 WANTLIB += TKGeomAlgo TKGeomBase TKHLR TKLCAF TKMath TKMesh TKMeshVS 26 WANTLIB += TKOffset TKPrim TKRWMesh TKService TKShHealing TKTopAlgo 27 WANTLIB += TKV3d TKVCAF TKXCAF TKXSBase TKernel X11 boost_atomic-mt 28 WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt 29 WANTLIB += boost_program_options-mt boost_regex-mt boost_serialization-mt 30 WANTLIB += boost_system-mt boost_thread-mt c execinfo fmt fontconfig 31 WANTLIB += freetype hdf5 hdf5_hl m medC pcl_common pcl_features 32 WANTLIB += pcl_filters pcl_kdtree pcl_ml pcl_octree pcl_sample_consensus 33 WANTLIB += pcl_search pcl_segmentation pcl_surface pyside6.abi3 34 WANTLIB += python3.12 shiboken6.abi3 vtkCommonCore vtkCommonDataModel 35 WANTLIB += vtkCommonExecutionModel vtkCommonMath vtkCommonMisc 36 WANTLIB += vtkCommonSystem vtkCommonTransforms vtkFiltersCellGrid 37 WANTLIB += vtkFiltersCore vtkFiltersExtraction vtkFiltersGeneral 38 WANTLIB += vtkFiltersGeometry vtkFiltersHybrid vtkFiltersHyperTree 39 WANTLIB += vtkFiltersModeling vtkFiltersParallel vtkFiltersParallelDIY2 40 WANTLIB += vtkFiltersSources vtkFiltersTexture vtkFiltersVerdict 41 WANTLIB += vtkIOCellGrid vtkIOCore vtkIOImage vtkIOLegacy vtkIOXML 42 WANTLIB += vtkIOXMLParser vtkImagingCore vtkInteractionStyle vtkParallelCore 43 WANTLIB += vtkParallelDIY vtkRenderingCore vtkRenderingFreeType 44 WANTLIB += vtkRenderingHyperTreeGrid vtkRenderingOpenGL2 vtkRenderingUI 45 WANTLIB += vtkglad vtkkissfft vtksys vtktoken xerces-c yaml-cpp 46 WANTLIB += z 47 48 MODULES = devel/cmake \ 49 lang/python \ 50 x11/qt6 51 52 BUILD_DEPENDS = cad/netgen-mesher \ 53 devel/gtest \ 54 devel/microsoft-gsl \ 55 devel/py-pybind11 \ 56 devel/swig \ 57 devel/utfcpp \ 58 graphics/glew \ 59 graphics/py-matplotlib \ 60 graphics/py-pivy \ 61 math/double-conversion \ 62 math/eigen3 \ 63 textproc/nlohmann-json \ 64 x11/qt6/pyside6/tools \ 65 x11/qt6/qtwebengine 66 67 RUN_DEPENDS = cad/netgen-mesher \ 68 devel/desktop-file-utils \ 69 devel/py-ply \ 70 misc/shared-mime-info \ 71 textproc/py-yaml \ 72 x11/gtk+4,-guic 73 74 LIB_DEPENDS = cad/opencascade \ 75 devel/boost \ 76 devel/fmt \ 77 devel/yaml-cpp \ 78 graphics/coin \ 79 graphics/pcl \ 80 graphics/vtk \ 81 math/hdf5 \ 82 math/med \ 83 textproc/xerces-c \ 84 x11/qt6/pyside6/pyside \ 85 x11/qt6/pyside6/shiboken \ 86 x11/qt6/qtsvg 87 88 # All options: cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake 89 # Zipios: modified by FreeCAD 90 # https://forum.freecad.org/viewtopic.php?p=779490#p779490 91 # SMESH: part of salome suite and difficult to package 92 # https://forum.freecad.org/viewtopic.php?p=715795#p715795 93 # Onsdel: Constraints solver specifically made for FreeCAD 94 # PyCXX: modified by FreeCAD (no switch needed) 95 # https://github.com/FreeCAD/FreeCAD/commit/a16eec8 96 # orocos-kdl: modified by FreeCAD 97 # https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/Robot/App/CMakeLists.txt#L77 98 CONFIGURE_ARGS += -DFREECAD_USE_EXTERNAL_FMT=ON \ 99 -DFREECAD_USE_EXTERNAL_PIVY=ON \ 100 -DFREECAD_USE_EXTERNAL_KDL=OFF \ 101 -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF \ 102 -DFREECAD_USE_EXTERNAL_SMESH=OFF \ 103 -DFREECAD_USE_EXTERNAL_ONDSELSOLVER=OFF \ 104 -DFREECAD_USE_PYBIND11=ON \ 105 -DFREECAD_USE_PCL=ON \ 106 -DFREECAD_USE_CCACHE=OFF \ 107 -DFREECAD_USE_OCC_VARIANT="Official Version" \ 108 -DFREECAD_QT_VERSION=6 \ 109 -DINSTALL_TO_SITEPACKAGES=ON \ 110 -DENABLE_DEVELOPER_TESTS=ON \ 111 -DBUILD_FEM_NETGEN=ON \ 112 -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON \ 113 -DCMAKE_DISABLE_FIND_PACKAGE_Spnav=ON \ 114 -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=ON \ 115 -DCMAKE_INSTALL_DATAROOTDIR=${LOCALBASE}/share \ 116 -DCMAKE_INSTALL_DATADIR=${LOCALBASE}/share/freecad \ 117 -DCMAKE_INSTALL_DOCDIR=${LOCALBASE}/share/doc/freecad \ 118 -DCMAKE_INSTALL_PREFIX=${LOCALBASE}/lib/freecad \ 119 -DCMAKE_INSTALL_BINDIR=${LOCALBASE}/lib/freecad/bin \ 120 -DCMAKE_INSTALL_LIBDIR=${LOCALBASE}/lib/freecad/lib \ 121 -Dpybind11_DIR=${MODPY_SITEPKG}/pybind11/share/cmake/pybind11 122 123 # Some tests require an active X11 display to work. When using 124 # PORTS_PRIVSEP=Yes, the following can be used: 125 # xhost +si:localuser:_pbuild; make test; xhost -si:localuser:_pbuild 126 TEST_IS_INTERACTIVE = X11 127 128 post-install: 129 ln -s ${LOCALBASE}/lib/freecad/bin/FreeCAD ${PREFIX}/bin/FreeCAD 130 ln -s ${LOCALBASE}/lib/freecad/bin/FreeCADCmd ${PREFIX}/bin/FreeCADCmd 131 ${MODPY_COMPILEALL} \ 132 ${WRKINST}${MODPY_SITEPKG}/freecad/ \ 133 ${PREFIX}/lib/freecad/{Mod,Ext}/ 134 135 .include <bsd.port.mk>