1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00
freebsd-ports/math/g2o/Makefile
2023-10-31 15:07:33 +01:00

75 lines
2.5 KiB
Makefile

PORTNAME= g2o
DISTVERSION= 20230806
PORTREVISION= 4
DISTVERSIONSUFFIX= _git
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
COMMENT= General framework for graph optimization
WWW= https://openslam-org.github.io/g2o.html
LICENSE= LGPL3 GPLv3
LICENSE_COMB= dual
LIB_DEPENDS= libamd.so:math/suitesparse-amd \
libcamd.so:math/suitesparse-camd \
libccolamd.so:math/suitesparse-ccolamd \
libcholmod.so:math/suitesparse-cholmod \
libcolamd.so:math/suitesparse-colamd \
libcxsparse.so:math/suitesparse-cxsparse \
libQGLViewer-qt5.so:graphics/libQGLViewer \
libmetis.so:math/metis \
libopenblas.so:math/openblas \
libsuitesparseconfig.so:math/suitesparse-config
TEST_DEPENDS= googletest>0:devel/googletest
USES= cmake:testing compiler:c++14-lang gl eigen:3 blaslapack:netlib localbase qt:5
USE_GL= gl glu
USE_QT= core gui opengl xml widgets buildtools:build qmake:build
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= RainerKuemmerle
CMAKE_OFF= DO_SSE_AUTODETECT
CMAKE_TESTING_ON= BUILD_UNITTESTS
OPTIONS_DEFINE= FAST_MATH
OPTIONS_SINGLE= SIMD_${ARCH:tu}
OPTIONS_SINGLE_SIMD_AMD64= NOSSE SSE2 SSE3 SSE41 SSE42 SSE4A
OPTIONS_SINGLE_SIMD_I386= ${OPTIONS_SINGLE_SIMD_AMD64}
OPTIONS_DEFAULT_amd64= SSE2
OPTIONS_DEFAULT_i386= SSE2
SIMD_AMD64_DESC= Use SSE SIMD optimizations
SIMD_I386_DESC= ${SIMD_AMD64_DESC}
FAST_MATH_DESC= Enable fast math operations
NOSSE_DESC= Do not use SIMD optimization
SSE2_DESC= SSE2 optimization
SSE3_DESC= SSE3 optimization
SSE41_DESC= SSE41 optimization
SSE42_DESC= SSE42 optimization
SSE4A_DESC= SSE4a optimization
FAST_MATH_CMAKE_BOOL= G2O_FAST_MATH
NOSSE_CMAKE_ON= -DDISABLE_SSE2:BOOL=ON -DDISABLE_SSE3:BOOL=ON -DDISABLE_SSE4_1:BOOL=ON -DDISABLE_SSE4_2:BOOL=ON -DDISABLE_SSE4_A:BOOL=ON
SSE2_CMAKE_ON= -DDISABLE_SSE3:BOOL=ON -DDISABLE_SSE4_1:BOOL=ON -DDISABLE_SSE4_2:BOOL=ON -DDISABLE_SSE4_A:BOOL=ON
SSE3_CMAKE_ON= -DDISABLE_SSE4_1:BOOL=ON -DDISABLE_SSE4_2:BOOL=ON -DDISABLE_SSE4_A:BOOL=ON
SSE41_CMAKE_ON= -DDISABLE_SSE4_2:BOOL=ON -DDISABLE_SSE4_A:BOOL=ON
SSE42_CMAKE_ON= -DDISABLE_SSE4_A:BOOL=ON
SSE4A_CMAKE_ON= # empty to make portlint happy
.include <bsd.port.options.mk>
.if ${ARCH} != amd64 && ${ARCH} != i386
CMAKE_ARGS+= -DDISABLE_SSE2:BOOL=ON -DDISABLE_SSE3:BOOL=ON -DDISABLE_SSE4_1:BOOL=ON -DDISABLE_SSE4_2:BOOL=ON -DDISABLE_SSE4_A:BOOL=ON
.endif
post-patch:
@${REINPLACE_CMD} -e 's|/usr/include|${LOCALBASE}/include|' \
${WRKSRC}/cmake_modules/*.cmake
# tests fail to compile, see https://github.com/RainerKuemmerle/g2o/issues/711
.include <bsd.port.mk>