# -*- 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
PortGroup           legacysupport 1.1
legacysupport.newest_darwin_requires_legacy 18
legacysupport.use_mp_libcxx yes

# src/third_party/blake3/CMakeLists.txt checks CMAKE_SIZEOF_VOID_P
PortGroup           muniversal 1.0

github.setup        ccache ccache 4.12.3 v
revision            0

checksums           rmd160  1acac72d161b398fd3b9e3cdcda31ba2ad273125 \
                    sha256  c8e3ef79531966ecfa05bd1666c483b473df9af00896935cc468cb5ed573c16e \
                    size    511356

categories          devel
platforms           darwin freebsd
license             GPL-3+
maintainers         {ryandesign @ryandesign} openmaintainer

description         object-file caching compiler wrapper

long_description \
    ccache is a compiler cache.  It acts as a caching pre-processor to C/C++ \
    compilers, using the -E compiler switch and a hash to detect when a \
    compilation can be satisfied from cache.  This often results in a 5 to 10 \
    times speedup in common compilations.

homepage            https://ccache.dev
github.tarball_from releases
use_xz              yes

compiler.c_standard 1999

compiler.cxx_standard \
                    2017

depends_build-append \
                    port:doctest \
                    bin:perl:perl5 \
                    path:bin/pkg-config:pkgconfig

depends_lib-append  port:hiredis \
                    port:xxhashlib \
                    port:zstd

# Use bundled copies of these dependencies that aren't in MacPorts (or, in the
# case of fmt, aren't in the standard location).
configure.args-append \
                    -DDEP_BLAKE3=BUNDLED \
                    -DDEP_CPPHTTPLIB=BUNDLED \
                    -DDEP_FMT=BUNDLED \
                    -DDEP_NONSTDSPAN=BUNDLED \
                    -DDEP_TLEXPECTED=BUNDLED

# Do not download other required dependencies that couldn't be found.
configure.args-append \
                    -DDEPS=LOCAL

configure.args-append -DENABLE_DOCUMENTATION=OFF

variant doc description {Enable documentation} {
    configure.args-replace -DENABLE_DOCUMENTATION=OFF -DENABLE_DOCUMENTATION=ON
    depends_build-append \
                    port:asciidoctor
    license_noconflict  asciidoctor
}

default_variants    +doc

test.run            yes
