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

github.setup            ERGO-Code HiGHS 1.8.0 v
revision                0
categories              math science
maintainers             {@barracuda156 gmail.com:vital.had} openmaintainer
license                 MIT
description             Linear optimization software
long_description        HiGHS is a high performance serial and parallel solver \
                        for large-scale sparse linear optimization problems.
homepage                https://ergo-code.github.io
checksums               rmd160  6fdf973091d87f09c773a5a01b9d38c927dec9bd \
                        sha256  e184e63101cf19688a02102f58447acc7c021d77eef0d3475ceaceb61f035539 \
                        size    2231824
github.tarball_from     archive

if {${os.major} < 13} {
    # Lion+ (with Xcode 4.1+) have git; earlier need to bring their own.
    # On 10.8.5 git fetch fails with ssl error.
    depends_build-append    path:bin/git:git
    git.cmd                 ${prefix}/bin/git
}

depends_lib-append      port:zlib

platform darwin {
    patchfiles          0001-CMakeLists-use-CMAKE_OSX_ARCHITECTURE-not-CMAKE_SYST.patch
}

compiler.cxx_standard   2011
compiler.thread_local_storage yes
# Apple clang on 10.11 and below fails.
# PPC note: non_lazy_ptr bug seems to have been fixed in gcc 12.3.0. If the error resurfaces, use gcc 11 or earlier.
compiler.blacklist-append \
                        {clang < 900}
compilers.setup         require_fortran

configure.args-append   -DBUILD_TESTING=ON \
                        -DBUILD_SHARED_LIBS=ON \
                        -DFORTRAN=ON

test.run                yes
