diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3d6d271..80fd600 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,9 @@ jobs: - version: '1.6' os: ubuntu-latest arch: x86 + - version: '1' + os: windows-latest + arch: x86 steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 diff --git a/Project.toml b/Project.toml index 1b1ac33..d2210e6 100644 --- a/Project.toml +++ b/Project.toml @@ -5,11 +5,14 @@ version = "1.0.4" [deps] Ipopt_jll = "9cc047cb-c261-5740-88fc-0cf96f7bdcc7" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" +OpenBLAS32_jll = "656ef2d0-ae68-5445-9ca0-591084a874a2" [compat] -Ipopt_jll = "=3.13.2, =3.13.4, =300.1400.400" +Ipopt_jll = "=3.13.2, =3.13.4, =300.1400.400, =300.1400.403" MathOptInterface = "1" +OpenBLAS32_jll = "0.3.10" julia = "1.6" [extras] diff --git a/src/Ipopt.jl b/src/Ipopt.jl index 6d5016f..46d85af 100644 --- a/src/Ipopt.jl +++ b/src/Ipopt.jl @@ -6,11 +6,23 @@ module Ipopt import Ipopt_jll +import LinearAlgebra import MathOptInterface +import OpenBLAS32_jll const MOI = MathOptInterface function __init__() + if VERSION >= v"1.8" + config = LinearAlgebra.BLAS.lbt_get_config() + if !any(lib -> lib.interface == :lp64, config.loaded_libs) + LinearAlgebra.BLAS.lbt_forward( + OpenBLAS32_jll.libopenblas_path; + verbose = true, + clear = false, + ) + end + end global libipopt = Ipopt_jll.libipopt return end