# -*- 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           github 1.0

github.setup        tlx tlx 0.6.1 v
github.tarball_from archive
revision            0

categories          devel
license             Boost-1.0
maintainers         {@jrjsmrtn gmail.com:jrjsmrtn} openmaintainer

description         Collection of C++ data structures, algorithms and helpers

long_description    tlx is a collection of C++ helpers and extensions that are \
                    universally needed but absent from the standard library: \
                    containers, string and math utilities, sorting algorithms, \
                    logging and a command line parser. It has no dependencies \
                    of its own, and each module can be used on its own.

checksums           rmd160  363586df4f0432ce53c916bc521f32d57a8ed12f \
                    sha256  24dd1acf36dd43b8e0414420e3f9adc2e6bb0e75047e872a06167961aedad769 \
                    size    429649

# Upstream probes for C++20, 17, 14 and 11 in turn and uses the newest the
# compiler accepts; nothing in the sources needs more than C++11.
compiler.cxx_standard 2011

# Upstream names the library after the build type, intending "tlx_debug" for
# debug builds and "tlx" otherwise, but it only recognises Release and the
# empty string, so MacPorts' own build type yields libtlx_macports.a and
# tlx_macports.pc, which no consumer looks for.
patchfiles          patch-libname.diff

# The test programs assert with tlx's own die_unless(), not a test framework,
# so they need no dependency; building them costs about fifteen seconds.
configure.args-append \
                    -DTLX_BUILD_TESTS=ON

test.run            yes
