# -*- 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 compiler_blacklist_versions 1.0 PortGroup cmake 1.1 PortGroup github 1.0 github.setup CastXML CastXML 0.6.5 v name castxml epoch 20190718 revision 0 categories lang platforms darwin license Apache-2 maintainers {stromnov @stromnov} openmaintainer description CastXML is a C-family abstract syntax tree XML output tool. long_description ${description} checksums rmd160 120d08b1417b1130ecd46c1d85c6345d33357953 \ sha256 fdf231b31c6e08430f3ce93c0c599ed8688815b2179e4155cbb522163d6989b9 \ size 121698 # See: https://trac.macports.org/ticket/68235 compiler.blacklist-append \ {clang < 900} compiler.cxx_standard \ 2014 depends_lib-append port:zlib \ port:libffi \ port:libedit \ port:ncurses configure.args-append \ -DCastXML_INSTALL_DOC_DIR=share/doc/castxml # List of clang versions to offer variants for set clang_vers { 6.0 7.0 8.0 9.0 10 11 12 13 14 15 16 17 18 } proc variant_name {ver} { return clang[string map {. {}} ${ver}] } # build list of all clang variant names set clang_variants {} foreach ver ${clang_vers} { lappend clang_variants [variant_name $ver] } proc build_conflicts {v} { global clang_variants set i [lsearch -exact ${clang_variants} ${v}] return [lreplace ${clang_variants} ${i} ${i}] } set has_variant no foreach ver ${clang_vers} { set v_name [variant_name ${ver}] set c [build_conflicts ${v_name}] variant ${v_name} conflicts {*}${c} description "Use clang ${ver} toolchain" { } if {[variant_isset ${v_name}]} { set has_variant yes } } if {!$has_variant} { default_variants +clang18 } foreach ver ${clang_vers} { set v_name [variant_name ${ver}] if {[variant_isset ${v_name}]} { depends_lib-append port:llvm-${ver} \ port:clang-${ver} configure.args-append -DLLVM_DIR=${prefix}/libexec/llvm-${ver}/lib/cmake/llvm cmake.install_rpath-append ${prefix}/libexec/llvm-${ver}/lib } }