summaryrefslogtreecommitdiff
path: root/devel/concurrencpp/Makefile
blob: be71d73ee69c2b7051184c8559c5764afa73ed95 (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
39
40
41
PORTNAME=	concurrencpp
DISTVERSIONPREFIX=	v.
DISTVERSION=	0.1.6
CATEGORIES=	devel

MAINTAINER=	yuri@FreeBSD.org
COMMENT=	C++ concurrency library: tasks, executors, timers, C++20 coroutines
WWW=		https://github.com/David-Haim/concurrencpp

LICENSE=	MIT
LICENSE_FILE=	${WRKSRC}/LICENSE.txt

# XXX Drop after FreeBSD 12.3 EOL around 2023-03-31
.if exists(/usr/include/c++/v1) && !exists(/usr/include/c++/v1/semaphore)
BROKEN_FreeBSD_12=	fatal error: 'semaphore' file not found (missing C++ include <semaphore>)
.endif

USES=		cmake compiler:c++20-lang

USE_GITHUB=	yes
GH_ACCOUNT=	David-Haim

CMAKE_ON=	BUILD_SHARED_LIBS

.include <bsd.port.options.mk>

.if (${ARCH} == powerpc64le || ${ARCH} == powerpc64 || ${ARCH} == powerpc) && ${OSVERSION} < 1300523
BUILD_DEPENDS=	llvm13>0:devel/llvm13
CPP=		${LOCALBASE}/bin/clang-cpp13
CC=		${LOCALBASE}/bin/clang13
CXX=		${LOCALBASE}/bin/clang++13
.endif

do-test: # same as recommended in https://github.com/David-Haim/concurrencpp#building-installing-and-testing
	# test async_lock_tests never finishes, see https://github.com/David-Haim/concurrencpp/issues/85
	@cd ${WRKSRC} && \
		${CMAKE_BIN} -S test -B build/test && \
		${CMAKE_BIN} --build build/test && \
		cd build/test && ctest .

.include <bsd.port.mk>