You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
112 lines
4.1 KiB
Tcl
112 lines
4.1 KiB
Tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
|
|
|
PortSystem 1.0
|
|
PortGroup cmake 1.1
|
|
PortGroup codeberg 1.0
|
|
PortGroup conflicts_build 1.0
|
|
|
|
codeberg.setup emzeat xdispatch2 2.1.4 v
|
|
revision 0
|
|
categories devel
|
|
license Apache-2
|
|
maintainers nomaintainer
|
|
description Grand Central Dispatch-like C++ threading library
|
|
long_description {*}${description}, built around queues, thread pools \
|
|
and flexible backends.
|
|
homepage https://emzeat.de/xdispatch2
|
|
checksums rmd160 84d03ffa9f18ef854943a19371644707e3b76ee6 \
|
|
sha256 ede47fd751ae1bb4d680ff4cf60f210f6a73e5a4f1a73330251415377814a401 \
|
|
size 125886
|
|
|
|
cmake.generator Ninja
|
|
|
|
compiler.cxx_standard \
|
|
2011
|
|
# cancelable.cpp:30:8: error: thread-local storage
|
|
# is not supported for the current target
|
|
compiler.thread_local_storage \
|
|
yes
|
|
|
|
depends_build-append \
|
|
port:mz-cmaketools
|
|
|
|
conflicts_build libunwind
|
|
|
|
# See: https://github.com/emzeat/xdispatch2/issues/1
|
|
patchfiles-append 0001-Avoid-a-need-for-Conan.patch
|
|
|
|
post-patch {
|
|
reinplace "s,@PREFIX@,${prefix}," ${worksrcpath}/CMakeLists.txt
|
|
reinplace "s,@VERSION@,${version}," ${worksrcpath}/CMakeLists.txt
|
|
}
|
|
|
|
# Backends
|
|
configure.args-append \
|
|
-DBUILD_XDISPATCH2_BACKEND_NAIVE=ON \
|
|
-DBUILD_XDISPATCH2_BACKEND_LIBDISPATCH=OFF \
|
|
-DBUILD_XDISPATCH2_BACKEND_QT5=OFF
|
|
# Build options
|
|
configure.args-append \
|
|
-DBUILD_XDISPATCH2_AS_FRAMEWORK=OFF \
|
|
-DBUILD_XDISPATCH2_STATIC=OFF \
|
|
-DBUILD_XDISPATCH2_TESTS=OFF
|
|
|
|
variant libdispatch conflicts libdispatch_legacy description "Enable libdispatch back-end" {
|
|
configure.args-replace \
|
|
-DBUILD_XDISPATCH2_BACKEND_LIBDISPATCH=OFF \
|
|
-DBUILD_XDISPATCH2_BACKEND_LIBDISPATCH=ON
|
|
}
|
|
|
|
platform darwin {
|
|
variant framework description "Build as a framework" {
|
|
configure.args-replace \
|
|
-DBUILD_XDISPATCH2_AS_FRAMEWORK=OFF \
|
|
-DBUILD_XDISPATCH2_AS_FRAMEWORK=ON
|
|
}
|
|
|
|
default_variants-append \
|
|
+framework
|
|
|
|
# Does not yet build with libdispatch on 10.6:
|
|
# https://github.com/emzeat/xdispatch2/issues/2
|
|
# It also utilizes the QOS API available in macOS >10.10
|
|
# libdispatch_queue.cpp:139:38: error: use of undeclared
|
|
# identifier 'dispatch_queue_attr_make_with_qos_class'
|
|
if {${os.major} > 13} {
|
|
default_variants-append \
|
|
+libdispatch
|
|
}
|
|
|
|
# This builds now, but remains untested. Do not make the default one.
|
|
variant libdispatch_legacy conflicts libdispatch description "Enable libdispatch support for legacy systems" {
|
|
depends_lib-append \
|
|
port:libdispatch-legacy
|
|
configure.args-replace \
|
|
-DBUILD_XDISPATCH2_BACKEND_LIBDISPATCH=OFF \
|
|
-DBUILD_XDISPATCH2_BACKEND_LIBDISPATCH=ON
|
|
configure.cppflags-append \
|
|
-I${prefix}/libexec/dispatch/usr/include
|
|
# Should be passed via C++ flags:
|
|
configure.cxxflags-append \
|
|
-Wl,${prefix}/libexec/dispatch/usr/lib/libdispatch.a
|
|
}
|
|
}
|
|
|
|
variant tests description "Enable testing" {
|
|
configure.pre_args-replace \
|
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
|
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
|
|
configure.args-replace \
|
|
-DBUILD_XDISPATCH2_TESTS=OFF -DBUILD_XDISPATCH2_TESTS=ON
|
|
|
|
# runner.c: error: variable 'no' set but not used [-Werror,-Wunused-but-set-variable]
|
|
# MUnit_tools.h: error: 'vsprintf' is deprecated: This function is provided
|
|
# for compatibility reasons only [-Werror,-Wdeprecated-declarations]
|
|
patchfiles-append \
|
|
0002-Fix-tests.patch
|
|
|
|
test.run yes
|
|
test.cmd ${cmake.build_dir}/bin/xdispatch2_tests
|
|
test.target
|
|
}
|