ports - OpenBSD WIP Ports
ssh://anon@thyssentishman.com/ports
Log | Files | Refs | Feed | Contribute | README

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>