aboutsummaryrefslogtreecommitdiffstats
path: root/math/hmat-oss/Makefile
blob: 2ea8f249050091484ae90501edce2d8f6c6e11f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# $FreeBSD$

PORTNAME=   hmat-oss
DISTVERSION=    1.5.0-348
PORTREVISION=   2
DISTVERSIONSUFFIX=  -g76beaf3
CATEGORIES= math

MAINTAINER= yuri@FreeBSD.org
COMMENT=    Hierarchical matrix C/C++ library

LICENSE=    GPLv2
LICENSE_FILE=   ${WRKSRC}/LICENSE.md

LIB_DEPENDS=    libcblas.so:math/cblas \
        libomp.so:devel/openmp \
        libopenblas.so:math/openblas

USES=       cmake
USE_GITHUB= yes
GH_ACCOUNT= jeromerobert
USE_LDCONFIG=   yes

CMAKE_ARGS= -DBLAS_LIBRARIES:STRING=${LOCALBASE}/lib/libopenblas.so \
        -DLAPACK_LIBRARIES:STRING=${LOCALBASE}/lib/libopenblas.so \
        -DCBLAS_LIBRARIES:STRING=${LOCALBASE}/lib/libcblas.so

post-configure: # fix the error in math/openturns: /usr/local/lib/libhmat-oss.so.1: undefined reference to `openblas_set_num_threads(int)'
    @${REINPLACE_CMD} "s|#define OPENBLAS_DISABLE_THREADS|\/\/&|" ${BUILD_WRKSRC}/config.h # OPENBLAS_DISABLE_THREADS enables openblas_set_num_threads(int) here

do-test:
    @cd ${BUILD_WRKSRC} && \
        ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DBUILD_EXAMPLES:BOOL=ON ${CMAKE_SOURCE_PATH} && \
        ${REINPLACE_CMD} "s|#define OPENBLAS_DISABLE_THREADS|\/\/&|" ${BUILD_WRKSRC}/config.h && \
        ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
        ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test

.include <bsd.port.mk>