freebsd-ports/science/simint/Makefile
Tobias C. Berner 707c6bf295 Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".

I tried to only set insource where explictely needed.

PR:		232038
Exp-run by:	antoine
2018-12-25 20:25:39 +00:00

59 lines
1.9 KiB
Makefile

# $FreeBSD$
PORTNAME= simint
DISTVERSIONPREFIX= v
DISTVERSION= 0.8
CATEGORIES= science
MASTER_SITES= http://www.bennyp.org/research/simint/download/
MAINTAINER= yuri@FreeBSD.org
COMMENT= Obara-Saika (OS) method of calculating electron repulsion integrals
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cmake tar:bz2
USE_LDCONFIG= yes
OPTIONS_SINGLE= VECTOR
OPTIONS_SINGLE_VECTOR= SCALAR ${ARCH:C/(amd64|i386)/SSE3 AVX AVXFMA MICAVX512/:C/^[a-z].*//}
OPTIONS_DEFAULT= ${ARCH:C/(amd64|i386)/SSE3/:C/^[a-z].*/SCALAR/}
VECTOR_DESC= Vector SIMD optimization
SCALAR_DESC= Unvectorized: no SIMD acceleration
SSE3_DESC= Intel CPUs with SSSE3 support
AVX_DESC= Intel CPUs with AVX support (Sandy/Ivy Bridge, Haswell)
AVXFMA_DESC= Intel CPUs with AVX and FMA support (Haswell)
MICAVX512_DESC= Intel KNL (experimental)
# Need https://reviews.freebsd.org/D13078 approved
#CMAKE_ARGS= -DSIMINT_VECTOR:STRING=${OPTIONS_SINGLE_VECTOR_SELECTED:S/3//:tl}
# Temporary replacement
SCALAR_CMAKE_ON= -DSIMINT_VECTOR:STRING=scalar
SSE3_CMAKE_ON= -DSIMINT_VECTOR:STRING=sse
AVX_CMAKE_ON= -DSIMINT_VECTOR:STRING=avx
AVXFMA_CMAKE_ON= -DSIMINT_VECTOR:STRING=avxfma
MICAVX512_CMAKE_ON= -DSIMINT_VECTOR:STRING=micavx512
CMAKE_ON= BUILD_SHARED_LIBS \
SIMINT_STANDALONE
CMAKE_OFF= ENABLE_TESTS
.for opt in ${OPTIONS_SINGLE_VECTOR}
${opt}_VARS= SIMINT_VECTOR=${opt}
.endfor
post-install:
${INSTALL_DATA} ${WRKSRC}/simint/cpp_restrict.hpp ${STAGEDIR}${PREFIX}/include/simint
do-test: # unfirtunately it rebuilds
@cd ${BUILD_WRKSRC} && \
${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DENABLE_TESTS=ON ${CMAKE_SOURCE_PATH} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET}
.for tst in test_eri test_eri_deriv1 benchmark_eri screentest # from test/CMakeLists.txt
#@cd ${WRKSRC} && (${FIND} test/dat -name "*.mol" | ${XARGS} ${BUILD_WRKSRC}/test/${tst})
@cd ${WRKSRC} && (${FIND} test/dat -name "*.mol" | ${XARGS} printf "%s")
.endfor
.include <bsd.port.mk>