# -*- 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 compiler_blacklist_versions 1.0 PortGroup github 1.0 github.setup fmtlib fmt 8.1.1 name libfmt8 revision 2 checksums rmd160 cd42fd80a3901e1e550e63a553345c8707ceda45 \ sha256 3d794d3cf67633b34b2771eb9f073bde87e846e0d395d254df7b211ef1ec7346 \ size 826254 categories devel license MIT maintainers {mascguy @mascguy} openmaintainer description An open-source formatting library long_description fmt (formerly cppformat) is an open-source formatting library. \ It can be used as a safe alternative to printf or as a fast \ alternative to C++ IOStreams. homepage https://fmt.dev github.tarball_from archive set port_ver_major [lindex [split ${version} .] 0] #------------------------------------------------------------------------------ # Path-Related Variables - START #------------------------------------------------------------------------------ # The "install name," meaning, the subdirectory name for this port. # Should correspond to the major version. set port_install_name \ ${subport} # Define all of our base paths up-front set port_install_include \ ${prefix}/include/${port_install_name} set port_install_lib \ ${prefix}/lib/${port_install_name} # Populate CMake options currently available cmake.install_rpath \ ${port_install_lib} configure.args-append \ -DCMAKE_INSTALL_INCLUDEDIR=${port_install_include} \ -DCMAKE_INSTALL_LIBDIR=${port_install_lib} \ -DCMAKE_INSTALL_NAME_DIR=${port_install_lib} #------------------------------------------------------------------------------ # Path-Related Variables - END #------------------------------------------------------------------------------ # see https://github.com/macports/macports-ports/pull/13645 patchfiles fix-formatting-implicitly-convertible-types.patch patch.pre_args-replace -p0 -p1 cmake.generator Ninja # Clear optflags; controlled by project, via cmake build type configure.optflags if {[variant_isset debug]} { cmake.build_type Debug } else { cmake.build_type RelWithDebInfo } compiler.cxx_standard 2011 # error: default initialization of an object of const type 'const Answer' without a user-provided default constructor # error would be valid except Answer is empty compiler.blacklist-append \ {clang < 801} configure.args-append \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DFMT_DOC:BOOL=OFF \ -DFMT_TEST:BOOL=OFF # Obsolete port 'libfmt' causes clashes, so deactivate if installed pre-activate { if {![catch {set installed [lindex [registry_active libfmt] 0]}]} { registry_deactivate_composite libfmt "" [list ports_nodepcheck 1] } } variant tests description {Enable test support} { PortGroup conflicts_build 1.0 # If gtest is active, build failures occur; let port use the internal version conflicts_build-append \ gtest configure.pre_args-replace \ -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \ -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF configure.args-replace \ -DFMT_TEST:BOOL=OFF \ -DFMT_TEST:BOOL=ON test.run yes } github.livecheck.regex "(${port_ver_major}\.\[0-9.\]+)"