cmake: Enable soplex when building SCIP
* use SCIP::libscip note: While scip provide ALIAS, they forget to use it when `install(export ...)` * update internal docs/ * build boost as static libraries
This commit is contained in:
@@ -296,11 +296,19 @@ message(STATUS "Build PDLP: ${BUILD_PDLP}")
|
||||
CMAKE_DEPENDENT_OPTION(USE_SCIP "Use the Scip solver" ON "BUILD_CXX" OFF)
|
||||
message(STATUS "SCIP support: ${USE_SCIP}")
|
||||
if(USE_SCIP)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_Boost "Build the Boost dependency Library" OFF
|
||||
"NOT BUILD_DEPS" ON)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_soplex "Build the Soplex dependency Library" OFF
|
||||
"NOT BUILD_DEPS" ON)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_SCIP "Build the SCIP dependency Library" OFF
|
||||
"NOT BUILD_DEPS" ON)
|
||||
else()
|
||||
set(BUILD_Boost OFF)
|
||||
set(BUILD_soplex OFF)
|
||||
set(BUILD_SCIP OFF)
|
||||
endif()
|
||||
message(STATUS "Build Boost (Soplex requirement): ${BUILD_Boost}")
|
||||
message(STATUS "Build Soplex (SCIP requirement): ${BUILD_soplex}")
|
||||
message(STATUS "Build SCIP: ${BUILD_SCIP}")
|
||||
|
||||
# Optional third party solvers (disabled by default)
|
||||
|
||||
@@ -105,10 +105,10 @@ if(USE_PDLP AND BUILD_PDLP)
|
||||
endif()
|
||||
|
||||
if(USE_SCIP)
|
||||
if(NOT TARGET libscip)
|
||||
message(FATAL_ERROR "Target libscip not available.")
|
||||
if(NOT TARGET SCIP::libscip)
|
||||
message(FATAL_ERROR "Target SCIP::libscip not available.")
|
||||
endif()
|
||||
set(SCIP_DEPS libscip)
|
||||
set(SCIP_DEPS SCIP::libscip)
|
||||
endif()
|
||||
|
||||
# Check optional Dependencies
|
||||
|
||||
@@ -78,16 +78,21 @@ endif()
|
||||
if(BUILD_absl)
|
||||
message(CHECK_START "Fetching Abseil-cpp")
|
||||
list(APPEND CMAKE_MESSAGE_INDENT " ")
|
||||
set(ABSL_ENABLE_INSTALL ON)
|
||||
set(ABSL_USE_SYSTEM_INCLUDES ON)
|
||||
# We want Abseil to declare what C++ standard it was compiled with.
|
||||
set(ABSL_PROPAGATE_CXX_STD ON)
|
||||
# We want Abseil to keep the INSTALL rules enabled, even though it is a
|
||||
# subproject. Otherwise the install rules in this project break.
|
||||
set(ABSL_ENABLE_INSTALL ON)
|
||||
set(ABSL_BUILD_TESTING OFF)
|
||||
FetchContent_Declare(
|
||||
absl
|
||||
GIT_REPOSITORY "https://github.com/abseil/abseil-cpp.git"
|
||||
GIT_TAG "20250127.0"
|
||||
GIT_SHALLOW TRUE
|
||||
PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/abseil-cpp-20250127.0.patch"
|
||||
PATCH_COMMAND git apply --ignore-whitespace
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../patches/abseil-cpp-20250127.0.patch"
|
||||
OVERRIDE_FIND_PACKAGE
|
||||
)
|
||||
FetchContent_MakeAvailable(absl)
|
||||
list(POP_BACK CMAKE_MESSAGE_INDENT)
|
||||
@@ -259,33 +264,86 @@ if(BUILD_HIGHS)
|
||||
message(CHECK_PASS "fetched")
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# BOOST
|
||||
# ##############################################################################
|
||||
if(BUILD_Boost)
|
||||
message(CHECK_START "Fetching Boost")
|
||||
list(APPEND CMAKE_MESSAGE_INDENT " ")
|
||||
FetchContent_Declare(
|
||||
Boost
|
||||
URL
|
||||
https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-cmake.tar.gz
|
||||
USES_TERMINAL_DOWNLOAD TRUE
|
||||
DOWNLOAD_NO_EXTRACT FALSE
|
||||
PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/boost-1.87.0.patch"
|
||||
)
|
||||
set(BOOST_INCLUDE_LIBRARIES multiprecision serialization)
|
||||
option(BOOST_SKIP_INSTALL_RULES NO)
|
||||
set(BOOST_ENABLE_CMAKE ON)
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
FetchContent_MakeAvailable(Boost)
|
||||
set(BUILD_SHARED_LIBS ON)
|
||||
list(POP_BACK CMAKE_MESSAGE_INDENT)
|
||||
message(CHECK_PASS "fetched")
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# SOPLEX
|
||||
# ##############################################################################
|
||||
if(BUILD_soplex)
|
||||
message(CHECK_START "Fetching SOPLEX")
|
||||
list(APPEND CMAKE_MESSAGE_INDENT " ")
|
||||
FetchContent_Declare(
|
||||
soplex
|
||||
GIT_REPOSITORY "https://github.com/scipopt/soplex.git"
|
||||
GIT_TAG "release-713"
|
||||
GIT_SHALLOW TRUE
|
||||
PATCH_COMMAND git apply --ignore-whitespace
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../patches/soplex-v7.1.3.patch"
|
||||
)
|
||||
set(SHARED ON CACHE BOOL "Soplex param" FORCE)
|
||||
set(ZLIB ON CACHE BOOL "Soplex param" FORCE)
|
||||
set(GMP OFF CACHE BOOL "Soplex param" FORCE)
|
||||
set(BOOST ON CACHE BOOL "Soplex param" FORCE)
|
||||
set(QUADMATH OFF CACHE BOOL "Soplex param" FORCE)
|
||||
set(MPFR OFF CACHE BOOL "Soplex param" FORCE)
|
||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON CACHE BOOL "Soplex param" FORCE)
|
||||
set(MT OFF CACHE BOOL "Soplex param" FORCE)
|
||||
set(PAPILO OFF CACHE BOOL "Soplex param" FORCE)
|
||||
#set(Boost_INCLUDE_DIR "../boost-src/libs/config/include" CACHE PATH "Soplex param" FORCE)
|
||||
FetchContent_MakeAvailable(soplex)
|
||||
list(POP_BACK CMAKE_MESSAGE_INDENT)
|
||||
message(CHECK_PASS "fetched")
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# SCIP
|
||||
# ##############################################################################
|
||||
if(BUILD_SCIP)
|
||||
message(CHECK_START "Fetching SCIP")
|
||||
list(APPEND CMAKE_MESSAGE_INDENT " ")
|
||||
set(SHARED OFF)
|
||||
set(READLINE OFF)
|
||||
set(GMP OFF)
|
||||
set(PAPILO OFF)
|
||||
set(ZIMPL OFF)
|
||||
set(IPOPT OFF)
|
||||
set(AMPL OFF)
|
||||
|
||||
set(TPI "tny" CACHE STRING "Scip param")
|
||||
set(EXPRINT "none" CACHE STRING "Scip param")
|
||||
set(LPS "none" CACHE STRING "Scip param")
|
||||
set(SYM "none" CACHE STRING "Scip param")
|
||||
FetchContent_Declare(
|
||||
scip
|
||||
GIT_REPOSITORY "https://github.com/scipopt/scip.git"
|
||||
GIT_TAG "v921"
|
||||
GIT_SHALLOW TRUE
|
||||
PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/scip-v921.patch"
|
||||
PATCH_COMMAND git apply --ignore-whitespace
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../patches/scip-v921.patch"
|
||||
)
|
||||
set(SHARED ON CACHE BOOL "Scip param" FORCE)
|
||||
set(ZLIB ON CACHE BOOL "Scip param" FORCE)
|
||||
set(READLINE OFF CACHE BOOL "Scip param" FORCE)
|
||||
set(GMP OFF CACHE BOOL "Scip param" FORCE)
|
||||
set(PAPILO OFF CACHE BOOL "Scip param" FORCE)
|
||||
set(ZIMPL OFF CACHE BOOL "Scip param" FORCE)
|
||||
set(AMPL OFF CACHE BOOL "Scip param" FORCE)
|
||||
set(IPOPT OFF CACHE BOOL "Scip param" FORCE)
|
||||
set(TPI "tny" CACHE STRING "Scip param" FORCE)
|
||||
set(EXPRINT "none" CACHE STRING "Scip param" FORCE)
|
||||
set(LPS "spx" CACHE STRING "Scip param" FORCE)
|
||||
set(SYM "none" CACHE STRING "Scip param" FORCE)
|
||||
FetchContent_MakeAvailable(scip)
|
||||
set(LPI_GLOP_SRC ${scip_SOURCE_DIR}/src/lpi/lpi_glop.cpp PARENT_SCOPE)
|
||||
list(POP_BACK CMAKE_MESSAGE_INDENT)
|
||||
message(CHECK_PASS "fetched")
|
||||
endif()
|
||||
|
||||
@@ -41,6 +41,14 @@ digraph CMake {
|
||||
label = "abseil/abseil-cpp.git";
|
||||
}
|
||||
|
||||
subgraph clusterRe2 {
|
||||
Re2 [label="re2::re2"];
|
||||
|
||||
color=royalblue;
|
||||
label = "google/re2.git";
|
||||
}
|
||||
Absl -> Re2;
|
||||
|
||||
subgraph clusterProtobuf {
|
||||
Protobuf [label="protobuf::libprotobuf", color=royalblue];
|
||||
|
||||
@@ -49,6 +57,7 @@ digraph CMake {
|
||||
}
|
||||
ZLIB -> Protobuf;
|
||||
Absl -> Protobuf;
|
||||
Re2 -> Protobuf;
|
||||
|
||||
subgraph clusterCoinOR {
|
||||
subgraph clusterCoinUtils {
|
||||
@@ -140,7 +149,10 @@ digraph CMake {
|
||||
|
||||
subgraph clusterSCIPSolver {
|
||||
subgraph clusterSCIP {
|
||||
SCIP [label="scip::scip"];
|
||||
SCIP [label="SCIP::libscip"];
|
||||
SPX [label="libsoplex"];
|
||||
|
||||
SPX -> SCIP;
|
||||
|
||||
color=royalblue;
|
||||
label = "scipopt/scip.git";
|
||||
@@ -148,6 +160,8 @@ digraph CMake {
|
||||
color=royalblue;
|
||||
label = "SCIP Solver\n(-DUSE_SCIP=ON)";
|
||||
}
|
||||
ZLIB -> SPX;
|
||||
ZLIB -> SCIP;
|
||||
|
||||
SWIG_WIN [label="swigwin\n(Windows)", color=chocolate];
|
||||
|
||||
@@ -176,6 +190,7 @@ digraph CMake {
|
||||
ZLIB -> OR_SRC;
|
||||
Absl -> OR_SRC;
|
||||
Protobuf -> OR_SRC;
|
||||
Re2 -> OR_SRC;
|
||||
ClpSolver -> OR_SRC;
|
||||
CbcSolver -> OR_SRC;
|
||||
GLPK -> OR_SRC;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 50 KiB |
@@ -136,7 +136,10 @@ digraph CMakeDeps {
|
||||
|
||||
subgraph clusterSCIPSolver {
|
||||
subgraph clusterSCIP {
|
||||
SCIP [label="scip::scip"];
|
||||
SCIP [label="SCIP::libscip"];
|
||||
SPX [label="libsoplex"];
|
||||
|
||||
SPX -> SCIP;
|
||||
|
||||
color=royalblue;
|
||||
label = "scipopt/scip.git";
|
||||
@@ -148,7 +151,11 @@ digraph CMakeDeps {
|
||||
// inter deps
|
||||
ZLIB -> Protobuf;
|
||||
ZLIB -> Cbc;
|
||||
ZLIB -> SPX;
|
||||
ZLIB -> SCIP;
|
||||
Absl -> Re2;
|
||||
Absl -> Protobuf;
|
||||
Re2 -> Protobuf;
|
||||
}
|
||||
@enddot
|
||||
# vim tw:0
|
||||
|
||||
@@ -1,329 +1,381 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
<!-- Generated by graphviz version 2.42.4 (0)
|
||||
-->
|
||||
<!-- Title: CMakeDeps Pages: 1 -->
|
||||
<svg width="1743pt" height="622pt"
|
||||
viewBox="0.00 0.00 1743.00 622.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 618)">
|
||||
<svg width="1263pt" height="656pt"
|
||||
viewBox="0.00 0.00 1263.00 656.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 652)">
|
||||
<title>CMakeDeps</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-618 1739,-618 1739,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-652 1259,-652 1259,4 -4,4"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>clusterZLIB</title>
|
||||
<polygon fill="none" stroke="royalblue" points="205,-171 205,-246 387,-246 387,-171 205,-171"/>
|
||||
<text text-anchor="middle" x="296" y="-230.8" font-family="Times,serif" font-size="14.00">madler/zlib.git + cmake patch</text>
|
||||
<polygon fill="none" stroke="royalblue" points="654,-202 654,-277 836,-277 836,-202 654,-202"/>
|
||||
<text text-anchor="middle" x="745" y="-261.8" font-family="Times,serif" font-size="14.00">madler/zlib.git + cmake patch</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>clusterAbsl</title>
|
||||
<polygon fill="none" stroke="royalblue" points="72,-171 72,-246 197,-246 197,-171 72,-171"/>
|
||||
<text text-anchor="middle" x="134.5" y="-230.8" font-family="Times,serif" font-size="14.00">abseil/abseil-cpp.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="492,-285 492,-360 617,-360 617,-285 492,-285"/>
|
||||
<text text-anchor="middle" x="554.5" y="-344.8" font-family="Times,serif" font-size="14.00">abseil/abseil-cpp.git</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>clusterProtobuf</title>
|
||||
<polygon fill="none" stroke="royalblue" points="8,-88 8,-163 279,-163 279,-88 8,-88"/>
|
||||
<text text-anchor="middle" x="143.5" y="-147.8" font-family="Times,serif" font-size="14.00">protocolbuffers/protobuf.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="384,-88 384,-163 655,-163 655,-88 384,-88"/>
|
||||
<text text-anchor="middle" x="519.5" y="-147.8" font-family="Times,serif" font-size="14.00">protocolbuffers/protobuf.git</text>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>clusterRe2</title>
|
||||
<polygon fill="none" stroke="royalblue" points="789,-500 789,-575 881,-575 881,-500 789,-500"/>
|
||||
<text text-anchor="middle" x="835" y="-559.8" font-family="Times,serif" font-size="14.00">google/re2.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="544,-202 544,-277 636,-277 636,-202 544,-202"/>
|
||||
<text text-anchor="middle" x="590" y="-261.8" font-family="Times,serif" font-size="14.00">google/re2.git</text>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>clusterEigen3</title>
|
||||
<polygon fill="none" stroke="royalblue" points="889,-500 889,-575 1000,-575 1000,-500 889,-500"/>
|
||||
<text text-anchor="middle" x="944.5" y="-559.8" font-family="Times,serif" font-size="14.00">libeigen/eigen.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="384,-534 384,-609 495,-609 495,-534 384,-534"/>
|
||||
<text text-anchor="middle" x="439.5" y="-593.8" font-family="Times,serif" font-size="14.00">libeigen/eigen.git</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>clusterPybind11</title>
|
||||
<polygon fill="none" stroke="royalblue" points="1008,-500 1008,-575 1150,-575 1150,-500 1008,-500"/>
|
||||
<text text-anchor="middle" x="1079" y="-559.8" font-family="Times,serif" font-size="14.00">pybind/pybind11.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="503,-534 503,-609 645,-609 645,-534 503,-534"/>
|
||||
<text text-anchor="middle" x="574" y="-593.8" font-family="Times,serif" font-size="14.00">pybind/pybind11.git</text>
|
||||
</g>
|
||||
<g id="clust7" class="cluster">
|
||||
<title>clusterCoinOR</title>
|
||||
<polygon fill="none" stroke="royalblue" points="395,-8 395,-606 781,-606 781,-8 395,-8"/>
|
||||
<text text-anchor="middle" x="588" y="-590.8" font-family="Times,serif" font-size="14.00">-DUSE_COINOR=ON AND -DBUILD_DEPS=ON</text>
|
||||
<polygon fill="none" stroke="royalblue" points="8,-8 8,-640 376,-640 376,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="192" y="-624.8" font-family="Times,serif" font-size="14.00">-DUSE_COINOR=ON AND -DBUILD_DEPS=ON</text>
|
||||
</g>
|
||||
<g id="clust8" class="cluster">
|
||||
<title>clusterCoinUtils</title>
|
||||
<polygon fill="none" stroke="royalblue" points="619,-500 619,-575 746,-575 746,-500 619,-500"/>
|
||||
<text text-anchor="middle" x="682.5" y="-559.8" font-family="Times,serif" font-size="14.00">Mizux/CoinUtils.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="77,-534 77,-609 204,-609 204,-534 77,-534"/>
|
||||
<text text-anchor="middle" x="140.5" y="-593.8" font-family="Times,serif" font-size="14.00">Mizux/CoinUtils.git</text>
|
||||
</g>
|
||||
<g id="clust9" class="cluster">
|
||||
<title>clusterOsi</title>
|
||||
<polygon fill="none" stroke="royalblue" points="610,-409 610,-484 703,-484 703,-409 610,-409"/>
|
||||
<text text-anchor="middle" x="656.5" y="-468.8" font-family="Times,serif" font-size="14.00">Mizux/Osi.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="66,-443 66,-518 159,-518 159,-443 66,-443"/>
|
||||
<text text-anchor="middle" x="112.5" y="-502.8" font-family="Times,serif" font-size="14.00">Mizux/Osi.git</text>
|
||||
</g>
|
||||
<g id="clust10" class="cluster">
|
||||
<title>clusterClp</title>
|
||||
<polygon fill="none" stroke="royalblue" points="455,-254 455,-401 683,-401 683,-254 455,-254"/>
|
||||
<text text-anchor="middle" x="569" y="-385.8" font-family="Times,serif" font-size="14.00">Mizux/Clp.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="108,-285 108,-435 336,-435 336,-285 108,-285"/>
|
||||
<text text-anchor="middle" x="222" y="-419.8" font-family="Times,serif" font-size="14.00">Mizux/Clp.git</text>
|
||||
</g>
|
||||
<g id="clust11" class="cluster">
|
||||
<title>clusterCgl</title>
|
||||
<polygon fill="none" stroke="royalblue" points="606,-171 606,-246 700,-246 700,-171 606,-171"/>
|
||||
<text text-anchor="middle" x="653" y="-230.8" font-family="Times,serif" font-size="14.00">Mizux/Cgl.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="87,-202 87,-277 181,-277 181,-202 87,-202"/>
|
||||
<text text-anchor="middle" x="134" y="-261.8" font-family="Times,serif" font-size="14.00">Mizux/Cgl.git</text>
|
||||
</g>
|
||||
<g id="clust12" class="cluster">
|
||||
<title>clusterCbc</title>
|
||||
<polygon fill="none" stroke="royalblue" points="403,-16 403,-163 635,-163 635,-16 403,-16"/>
|
||||
<text text-anchor="middle" x="519" y="-147.8" font-family="Times,serif" font-size="14.00">Mizux/Cbc.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="46,-16 46,-163 278,-163 278,-16 46,-16"/>
|
||||
<text text-anchor="middle" x="162" y="-147.8" font-family="Times,serif" font-size="14.00">Mizux/Cbc.git</text>
|
||||
</g>
|
||||
<g id="clust13" class="cluster">
|
||||
<title>clusterGLPKSolver</title>
|
||||
<polygon fill="none" stroke="royalblue" points="1158,-492 1158,-606 1445,-606 1445,-492 1158,-492"/>
|
||||
<text text-anchor="middle" x="1301.5" y="-590.8" font-family="Times,serif" font-size="14.00">-DUSE_GLPK=ON AND -DBUILD_GLPK=ON</text>
|
||||
<polygon fill="none" stroke="royalblue" points="653,-526 653,-640 940,-640 940,-526 653,-526"/>
|
||||
<text text-anchor="middle" x="796.5" y="-624.8" font-family="Times,serif" font-size="14.00">-DUSE_GLPK=ON AND -DBUILD_GLPK=ON</text>
|
||||
</g>
|
||||
<g id="clust14" class="cluster">
|
||||
<title>clusterGLPK</title>
|
||||
<polygon fill="none" stroke="royalblue" points="1246,-500 1246,-575 1356,-575 1356,-500 1246,-500"/>
|
||||
<text text-anchor="middle" x="1301" y="-559.8" font-family="Times,serif" font-size="14.00">Mizux/GLPK.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="741,-534 741,-609 851,-609 851,-534 741,-534"/>
|
||||
<text text-anchor="middle" x="796" y="-593.8" font-family="Times,serif" font-size="14.00">Mizux/GLPK.git</text>
|
||||
</g>
|
||||
<g id="clust15" class="cluster">
|
||||
<title>clusterSCIPSolver</title>
|
||||
<polygon fill="none" stroke="royalblue" points="1453,-492 1453,-606 1727,-606 1727,-492 1453,-492"/>
|
||||
<text text-anchor="middle" x="1590" y="-590.8" font-family="Times,serif" font-size="14.00">-DUSE_SCIP=ON AND -DBUILD_SCIP=ON</text>
|
||||
<title>clusterHIGHSSolver</title>
|
||||
<polygon fill="none" stroke="royalblue" points="948,-526 948,-640 1247,-640 1247,-526 948,-526"/>
|
||||
<text text-anchor="middle" x="1097.5" y="-624.8" font-family="Times,serif" font-size="14.00">-DUSE_HIGHS=ON AND -DBUILD_HIGHS=ON</text>
|
||||
</g>
|
||||
<g id="clust16" class="cluster">
|
||||
<title>clusterHIGHS</title>
|
||||
<polygon fill="none" stroke="royalblue" points="1023,-534 1023,-609 1172,-609 1172,-534 1023,-534"/>
|
||||
<text text-anchor="middle" x="1097.5" y="-593.8" font-family="Times,serif" font-size="14.00">ERGO-Code/HIGHS.git</text>
|
||||
</g>
|
||||
<g id="clust17" class="cluster">
|
||||
<title>clusterSCIPSolver</title>
|
||||
<polygon fill="none" stroke="royalblue" points="663,-8 663,-194 937,-194 937,-8 663,-8"/>
|
||||
<text text-anchor="middle" x="800" y="-178.8" font-family="Times,serif" font-size="14.00">-DUSE_SCIP=ON AND -DBUILD_SCIP=ON</text>
|
||||
</g>
|
||||
<g id="clust18" class="cluster">
|
||||
<title>clusterSCIP</title>
|
||||
<polygon fill="none" stroke="royalblue" points="1540,-500 1540,-575 1639,-575 1639,-500 1540,-500"/>
|
||||
<text text-anchor="middle" x="1589.5" y="-559.8" font-family="Times,serif" font-size="14.00">scipopt/scip.git</text>
|
||||
<polygon fill="none" stroke="royalblue" points="671,-16 671,-163 775,-163 775,-16 671,-16"/>
|
||||
<text text-anchor="middle" x="723" y="-147.8" font-family="Times,serif" font-size="14.00">scipopt/scip.git</text>
|
||||
</g>
|
||||
<!-- ZLIB -->
|
||||
<g id="node1" class="node">
|
||||
<title>ZLIB</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M292,-215C292,-215 232,-215 232,-215 226,-215 220,-209 220,-203 220,-203 220,-191 220,-191 220,-185 226,-179 232,-179 232,-179 292,-179 292,-179 298,-179 304,-185 304,-191 304,-191 304,-203 304,-203 304,-209 298,-215 292,-215"/>
|
||||
<text text-anchor="middle" x="262" y="-193.3" font-family="Times,serif" font-size="14.00">ZLIB::ZLIB</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M739,-246C739,-246 679,-246 679,-246 673,-246 667,-240 667,-234 667,-234 667,-222 667,-222 667,-216 673,-210 679,-210 679,-210 739,-210 739,-210 745,-210 751,-216 751,-222 751,-222 751,-234 751,-234 751,-240 745,-246 739,-246"/>
|
||||
<text text-anchor="middle" x="709" y="-224.3" font-family="Times,serif" font-size="14.00">ZLIB::ZLIB</text>
|
||||
</g>
|
||||
<!-- Protobuf -->
|
||||
<g id="node3" class="node">
|
||||
<title>Protobuf</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M258.5,-132C258.5,-132 151.5,-132 151.5,-132 145.5,-132 139.5,-126 139.5,-120 139.5,-120 139.5,-108 139.5,-108 139.5,-102 145.5,-96 151.5,-96 151.5,-96 258.5,-96 258.5,-96 264.5,-96 270.5,-102 270.5,-108 270.5,-108 270.5,-120 270.5,-120 270.5,-126 264.5,-132 258.5,-132"/>
|
||||
<text text-anchor="middle" x="205" y="-110.3" font-family="Times,serif" font-size="14.00">protobuf::libprotobuf</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M634.5,-132C634.5,-132 527.5,-132 527.5,-132 521.5,-132 515.5,-126 515.5,-120 515.5,-120 515.5,-108 515.5,-108 515.5,-102 521.5,-96 527.5,-96 527.5,-96 634.5,-96 634.5,-96 640.5,-96 646.5,-102 646.5,-108 646.5,-108 646.5,-120 646.5,-120 646.5,-126 640.5,-132 634.5,-132"/>
|
||||
<text text-anchor="middle" x="581" y="-110.3" font-family="Times,serif" font-size="14.00">protobuf::libprotobuf</text>
|
||||
</g>
|
||||
<!-- ZLIB->Protobuf -->
|
||||
<g id="edge19" class="edge">
|
||||
<g id="edge20" class="edge">
|
||||
<title>ZLIB->Protobuf</title>
|
||||
<path fill="none" stroke="black" d="M249.91,-178.82C242.05,-167.65 231.67,-152.9 222.86,-140.38"/>
|
||||
<polygon fill="black" stroke="black" points="225.69,-138.32 217.07,-132.15 219.96,-142.35 225.69,-138.32"/>
|
||||
<path fill="none" stroke="black" d="M686.51,-209.85C680.12,-204.84 673.22,-199.29 667,-194 645.97,-176.12 622.98,-154.92 606.07,-138.98"/>
|
||||
<polygon fill="black" stroke="black" points="608.42,-136.39 598.76,-132.06 603.61,-141.47 608.42,-136.39"/>
|
||||
</g>
|
||||
<!-- Cbc -->
|
||||
<g id="node14" class="node">
|
||||
<title>Cbc</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M471,-132C471,-132 423,-132 423,-132 417,-132 411,-126 411,-120 411,-120 411,-108 411,-108 411,-102 417,-96 423,-96 423,-96 471,-96 471,-96 477,-96 483,-102 483,-108 483,-108 483,-120 483,-120 483,-126 477,-132 471,-132"/>
|
||||
<text text-anchor="middle" x="447" y="-110.3" font-family="Times,serif" font-size="14.00">Coin::Cbc</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M155,-132C155,-132 107,-132 107,-132 101,-132 95,-126 95,-120 95,-120 95,-108 95,-108 95,-102 101,-96 107,-96 107,-96 155,-96 155,-96 161,-96 167,-102 167,-108 167,-108 167,-120 167,-120 167,-126 161,-132 155,-132"/>
|
||||
<text text-anchor="middle" x="131" y="-110.3" font-family="Times,serif" font-size="14.00">Coin::Cbc</text>
|
||||
</g>
|
||||
<!-- ZLIB->Cbc -->
|
||||
<g id="edge20" class="edge">
|
||||
<g id="edge21" class="edge">
|
||||
<title>ZLIB->Cbc</title>
|
||||
<path fill="none" stroke="black" d="M301.23,-178.82C330.65,-165.94 370.96,-148.29 401.74,-134.82"/>
|
||||
<polygon fill="black" stroke="black" points="403.2,-138 410.96,-130.78 400.4,-131.58 403.2,-138"/>
|
||||
<path fill="none" stroke="black" d="M668.37,-209.88C659.19,-206.69 649.39,-203.8 640,-202 526.45,-180.26 493.96,-213.44 380,-194 307.07,-181.56 225.98,-152.9 176.74,-133.74"/>
|
||||
<polygon fill="black" stroke="black" points="177.92,-130.44 167.33,-130.04 175.36,-136.95 177.92,-130.44"/>
|
||||
</g>
|
||||
<!-- SCIP -->
|
||||
<g id="node19" class="node">
|
||||
<title>SCIP</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M755.5,-60C755.5,-60 690.5,-60 690.5,-60 684.5,-60 678.5,-54 678.5,-48 678.5,-48 678.5,-36 678.5,-36 678.5,-30 684.5,-24 690.5,-24 690.5,-24 755.5,-24 755.5,-24 761.5,-24 767.5,-30 767.5,-36 767.5,-36 767.5,-48 767.5,-48 767.5,-54 761.5,-60 755.5,-60"/>
|
||||
<text text-anchor="middle" x="723" y="-38.3" font-family="Times,serif" font-size="14.00">SCIP::libscip</text>
|
||||
</g>
|
||||
<!-- ZLIB->SCIP -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>ZLIB->SCIP</title>
|
||||
<path fill="none" stroke="black" d="M740.89,-209.63C746.18,-205.26 750.93,-200.05 754,-194 775.29,-151.98 767.99,-132.98 754,-88 751.88,-81.18 748.33,-74.49 744.37,-68.43"/>
|
||||
<polygon fill="black" stroke="black" points="747.06,-66.17 738.4,-60.07 741.36,-70.24 747.06,-66.17"/>
|
||||
</g>
|
||||
<!-- SPX -->
|
||||
<g id="node20" class="node">
|
||||
<title>SPX</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M733,-132C733,-132 691,-132 691,-132 685,-132 679,-126 679,-120 679,-120 679,-108 679,-108 679,-102 685,-96 691,-96 691,-96 733,-96 733,-96 739,-96 745,-102 745,-108 745,-108 745,-120 745,-120 745,-126 739,-132 733,-132"/>
|
||||
<text text-anchor="middle" x="712" y="-110.3" font-family="Times,serif" font-size="14.00">libsoplex</text>
|
||||
</g>
|
||||
<!-- ZLIB->SPX -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>ZLIB->SPX</title>
|
||||
<path fill="none" stroke="black" d="M709.46,-209.99C709.94,-192.06 710.7,-163.56 711.26,-142.44"/>
|
||||
<polygon fill="black" stroke="black" points="714.77,-142.26 711.54,-132.17 707.77,-142.07 714.77,-142.26"/>
|
||||
</g>
|
||||
<!-- Absl -->
|
||||
<g id="node2" class="node">
|
||||
<title>Absl</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M176.5,-215C176.5,-215 119.5,-215 119.5,-215 113.5,-215 107.5,-209 107.5,-203 107.5,-203 107.5,-191 107.5,-191 107.5,-185 113.5,-179 119.5,-179 119.5,-179 176.5,-179 176.5,-179 182.5,-179 188.5,-185 188.5,-191 188.5,-191 188.5,-203 188.5,-203 188.5,-209 182.5,-215 176.5,-215"/>
|
||||
<text text-anchor="middle" x="148" y="-193.3" font-family="Times,serif" font-size="14.00">absl::absl_*</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M582.5,-329C582.5,-329 525.5,-329 525.5,-329 519.5,-329 513.5,-323 513.5,-317 513.5,-317 513.5,-305 513.5,-305 513.5,-299 519.5,-293 525.5,-293 525.5,-293 582.5,-293 582.5,-293 588.5,-293 594.5,-299 594.5,-305 594.5,-305 594.5,-317 594.5,-317 594.5,-323 588.5,-329 582.5,-329"/>
|
||||
<text text-anchor="middle" x="554" y="-307.3" font-family="Times,serif" font-size="14.00">absl::absl_*</text>
|
||||
</g>
|
||||
<!-- Absl->Protobuf -->
|
||||
<g id="edge21" class="edge">
|
||||
<g id="edge25" class="edge">
|
||||
<title>Absl->Protobuf</title>
|
||||
<path fill="none" stroke="black" d="M160.09,-178.82C167.95,-167.65 178.33,-152.9 187.14,-140.38"/>
|
||||
<polygon fill="black" stroke="black" points="190.04,-142.35 192.93,-132.15 184.31,-138.32 190.04,-142.35"/>
|
||||
</g>
|
||||
<!-- Protoc -->
|
||||
<g id="node4" class="node">
|
||||
<title>Protoc</title>
|
||||
<polygon fill="royalblue" stroke="royalblue" points="121.5,-132 16.5,-132 16.5,-128 12.5,-128 12.5,-124 16.5,-124 16.5,-104 12.5,-104 12.5,-100 16.5,-100 16.5,-96 121.5,-96 121.5,-132"/>
|
||||
<polyline fill="none" stroke="royalblue" points="16.5,-128 20.5,-128 20.5,-124 16.5,-124 "/>
|
||||
<polyline fill="none" stroke="royalblue" points="16.5,-104 20.5,-104 20.5,-100 16.5,-100 "/>
|
||||
<text text-anchor="middle" x="69" y="-110.3" font-family="Times,serif" font-size="14.00">protobuf::protoc</text>
|
||||
<path fill="none" stroke="black" d="M545.24,-292.95C543.09,-287.94 541.09,-282.37 540,-277 533.36,-244.34 532.72,-234.53 540,-202 544.82,-180.48 555.58,-158.01 564.87,-141.29"/>
|
||||
<polygon fill="black" stroke="black" points="568.16,-142.58 570.11,-132.17 562.09,-139.1 568.16,-142.58"/>
|
||||
</g>
|
||||
<!-- Re2 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Re2</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M852.5,-544C852.5,-544 817.5,-544 817.5,-544 811.5,-544 805.5,-538 805.5,-532 805.5,-532 805.5,-520 805.5,-520 805.5,-514 811.5,-508 817.5,-508 817.5,-508 852.5,-508 852.5,-508 858.5,-508 864.5,-514 864.5,-520 864.5,-520 864.5,-532 864.5,-532 864.5,-538 858.5,-544 852.5,-544"/>
|
||||
<text text-anchor="middle" x="835" y="-522.3" font-family="Times,serif" font-size="14.00">re2::re2</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M600.5,-246C600.5,-246 565.5,-246 565.5,-246 559.5,-246 553.5,-240 553.5,-234 553.5,-234 553.5,-222 553.5,-222 553.5,-216 559.5,-210 565.5,-210 565.5,-210 600.5,-210 600.5,-210 606.5,-210 612.5,-216 612.5,-222 612.5,-222 612.5,-234 612.5,-234 612.5,-240 606.5,-246 600.5,-246"/>
|
||||
<text text-anchor="middle" x="583" y="-224.3" font-family="Times,serif" font-size="14.00">re2::re2</text>
|
||||
</g>
|
||||
<!-- Absl->Re2 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>Absl->Re2</title>
|
||||
<path fill="none" stroke="black" d="M560.15,-292.82C563.99,-282.08 569.03,-268.03 573.39,-255.84"/>
|
||||
<polygon fill="black" stroke="black" points="576.78,-256.75 576.86,-246.15 570.19,-254.39 576.78,-256.75"/>
|
||||
</g>
|
||||
<!-- Protoc -->
|
||||
<g id="node4" class="node">
|
||||
<title>Protoc</title>
|
||||
<polygon fill="royalblue" stroke="royalblue" points="497.5,-132 392.5,-132 392.5,-128 388.5,-128 388.5,-124 392.5,-124 392.5,-104 388.5,-104 388.5,-100 392.5,-100 392.5,-96 497.5,-96 497.5,-132"/>
|
||||
<polyline fill="none" stroke="royalblue" points="392.5,-128 396.5,-128 396.5,-124 392.5,-124 "/>
|
||||
<polyline fill="none" stroke="royalblue" points="392.5,-104 396.5,-104 396.5,-100 392.5,-100 "/>
|
||||
<text text-anchor="middle" x="445" y="-110.3" font-family="Times,serif" font-size="14.00">protobuf::protoc</text>
|
||||
</g>
|
||||
<!-- Re2->Protobuf -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>Re2->Protobuf</title>
|
||||
<path fill="none" stroke="black" d="M582.7,-209.99C582.38,-192.06 581.87,-163.56 581.49,-142.44"/>
|
||||
<polygon fill="black" stroke="black" points="584.98,-142.11 581.31,-132.17 577.99,-142.23 584.98,-142.11"/>
|
||||
</g>
|
||||
<!-- Eigen3 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Eigen3</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M978,-544C978,-544 910,-544 910,-544 904,-544 898,-538 898,-532 898,-532 898,-520 898,-520 898,-514 904,-508 910,-508 910,-508 978,-508 978,-508 984,-508 990,-514 990,-520 990,-520 990,-532 990,-532 990,-538 984,-544 978,-544"/>
|
||||
<text text-anchor="middle" x="944" y="-522.3" font-family="Times,serif" font-size="14.00">Eigen3::eigen</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M473,-578C473,-578 405,-578 405,-578 399,-578 393,-572 393,-566 393,-566 393,-554 393,-554 393,-548 399,-542 405,-542 405,-542 473,-542 473,-542 479,-542 485,-548 485,-554 485,-554 485,-566 485,-566 485,-572 479,-578 473,-578"/>
|
||||
<text text-anchor="middle" x="439" y="-556.3" font-family="Times,serif" font-size="14.00">Eigen3::eigen</text>
|
||||
</g>
|
||||
<!-- Pybind11 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Pybind11</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M1130,-544C1130,-544 1028,-544 1028,-544 1022,-544 1016,-538 1016,-532 1016,-532 1016,-520 1016,-520 1016,-514 1022,-508 1028,-508 1028,-508 1130,-508 1130,-508 1136,-508 1142,-514 1142,-520 1142,-520 1142,-532 1142,-532 1142,-538 1136,-544 1130,-544"/>
|
||||
<text text-anchor="middle" x="1079" y="-522.3" font-family="Times,serif" font-size="14.00">pybind11::pybind11</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M625,-578C625,-578 523,-578 523,-578 517,-578 511,-572 511,-566 511,-566 511,-554 511,-554 511,-548 517,-542 523,-542 523,-542 625,-542 625,-542 631,-542 637,-548 637,-554 637,-554 637,-566 637,-566 637,-572 631,-578 625,-578"/>
|
||||
<text text-anchor="middle" x="574" y="-556.3" font-family="Times,serif" font-size="14.00">pybind11::pybind11</text>
|
||||
</g>
|
||||
<!-- CoinUtils -->
|
||||
<g id="node8" class="node">
|
||||
<title>CoinUtils</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M721.5,-544C721.5,-544 642.5,-544 642.5,-544 636.5,-544 630.5,-538 630.5,-532 630.5,-532 630.5,-520 630.5,-520 630.5,-514 636.5,-508 642.5,-508 642.5,-508 721.5,-508 721.5,-508 727.5,-508 733.5,-514 733.5,-520 733.5,-520 733.5,-532 733.5,-532 733.5,-538 727.5,-544 721.5,-544"/>
|
||||
<text text-anchor="middle" x="682" y="-522.3" font-family="Times,serif" font-size="14.00">Coin::CoinUtils</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M179.5,-578C179.5,-578 100.5,-578 100.5,-578 94.5,-578 88.5,-572 88.5,-566 88.5,-566 88.5,-554 88.5,-554 88.5,-548 94.5,-542 100.5,-542 100.5,-542 179.5,-542 179.5,-542 185.5,-542 191.5,-548 191.5,-554 191.5,-554 191.5,-566 191.5,-566 191.5,-572 185.5,-578 179.5,-578"/>
|
||||
<text text-anchor="middle" x="140" y="-556.3" font-family="Times,serif" font-size="14.00">Coin::CoinUtils</text>
|
||||
</g>
|
||||
<!-- Osi -->
|
||||
<g id="node9" class="node">
|
||||
<title>Osi</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M678.5,-453C678.5,-453 633.5,-453 633.5,-453 627.5,-453 621.5,-447 621.5,-441 621.5,-441 621.5,-429 621.5,-429 621.5,-423 627.5,-417 633.5,-417 633.5,-417 678.5,-417 678.5,-417 684.5,-417 690.5,-423 690.5,-429 690.5,-429 690.5,-441 690.5,-441 690.5,-447 684.5,-453 678.5,-453"/>
|
||||
<text text-anchor="middle" x="656" y="-431.3" font-family="Times,serif" font-size="14.00">Coin::Osi</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M134.5,-487C134.5,-487 89.5,-487 89.5,-487 83.5,-487 77.5,-481 77.5,-475 77.5,-475 77.5,-463 77.5,-463 77.5,-457 83.5,-451 89.5,-451 89.5,-451 134.5,-451 134.5,-451 140.5,-451 146.5,-457 146.5,-463 146.5,-463 146.5,-475 146.5,-475 146.5,-481 140.5,-487 134.5,-487"/>
|
||||
<text text-anchor="middle" x="112" y="-465.3" font-family="Times,serif" font-size="14.00">Coin::Osi</text>
|
||||
</g>
|
||||
<!-- CoinUtils->Osi -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>CoinUtils->Osi</title>
|
||||
<path fill="none" stroke="black" d="M676.99,-507.84C673.28,-495.16 668.16,-477.64 663.91,-463.08"/>
|
||||
<polygon fill="black" stroke="black" points="667.16,-461.72 661,-453.11 660.44,-463.69 667.16,-461.72"/>
|
||||
<path fill="none" stroke="black" d="M134.6,-541.84C130.57,-529.04 124.99,-511.3 120.39,-496.65"/>
|
||||
<polygon fill="black" stroke="black" points="123.72,-495.6 117.38,-487.11 117.04,-497.7 123.72,-495.6"/>
|
||||
</g>
|
||||
<!-- Clp -->
|
||||
<g id="node10" class="node">
|
||||
<title>Clp</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M624,-370C624,-370 578,-370 578,-370 572,-370 566,-364 566,-358 566,-358 566,-346 566,-346 566,-340 572,-334 578,-334 578,-334 624,-334 624,-334 630,-334 636,-340 636,-346 636,-346 636,-358 636,-358 636,-364 630,-370 624,-370"/>
|
||||
<text text-anchor="middle" x="601" y="-348.3" font-family="Times,serif" font-size="14.00">Coin::Clp</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M245,-404C245,-404 199,-404 199,-404 193,-404 187,-398 187,-392 187,-392 187,-380 187,-380 187,-374 193,-368 199,-368 199,-368 245,-368 245,-368 251,-368 257,-374 257,-380 257,-380 257,-392 257,-392 257,-398 251,-404 245,-404"/>
|
||||
<text text-anchor="middle" x="222" y="-382.3" font-family="Times,serif" font-size="14.00">Coin::Clp</text>
|
||||
</g>
|
||||
<!-- CoinUtils->Clp -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>CoinUtils->Clp</title>
|
||||
<path fill="none" stroke="black" d="M632.62,-507.94C622.14,-502 612.34,-494.18 606,-484 586.47,-452.65 589.69,-408.41 594.67,-380.22"/>
|
||||
<polygon fill="black" stroke="black" points="598.13,-380.74 596.62,-370.26 591.26,-379.4 598.13,-380.74"/>
|
||||
<path fill="none" stroke="black" d="M155.77,-541.93C161.72,-534.89 168.21,-526.42 173,-518 192.29,-484.14 206.65,-441.24 214.68,-413.95"/>
|
||||
<polygon fill="black" stroke="black" points="218.06,-414.89 217.45,-404.31 211.33,-412.96 218.06,-414.89"/>
|
||||
</g>
|
||||
<!-- OsiClp -->
|
||||
<g id="node11" class="node">
|
||||
<title>OsiClp</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M663.5,-298C663.5,-298 598.5,-298 598.5,-298 592.5,-298 586.5,-292 586.5,-286 586.5,-286 586.5,-274 586.5,-274 586.5,-268 592.5,-262 598.5,-262 598.5,-262 663.5,-262 663.5,-262 669.5,-262 675.5,-268 675.5,-274 675.5,-274 675.5,-286 675.5,-286 675.5,-292 669.5,-298 663.5,-298"/>
|
||||
<text text-anchor="middle" x="631" y="-276.3" font-family="Times,serif" font-size="14.00">Coin::OsiClp</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M192.5,-329C192.5,-329 127.5,-329 127.5,-329 121.5,-329 115.5,-323 115.5,-317 115.5,-317 115.5,-305 115.5,-305 115.5,-299 121.5,-293 127.5,-293 127.5,-293 192.5,-293 192.5,-293 198.5,-293 204.5,-299 204.5,-305 204.5,-305 204.5,-317 204.5,-317 204.5,-323 198.5,-329 192.5,-329"/>
|
||||
<text text-anchor="middle" x="160" y="-307.3" font-family="Times,serif" font-size="14.00">Coin::OsiClp</text>
|
||||
</g>
|
||||
<!-- CoinUtils->OsiClp -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>CoinUtils->OsiClp</title>
|
||||
<path fill="none" stroke="black" d="M695.5,-507.63C700.09,-500.68 704.66,-492.35 707,-484 716.01,-451.91 715.82,-441.14 707,-409 696.29,-369.99 670.26,-330.82 651.65,-306.28"/>
|
||||
<polygon fill="black" stroke="black" points="654.31,-304 645.42,-298.24 648.77,-308.28 654.31,-304"/>
|
||||
<path fill="none" stroke="black" d="M152.18,-541.89C156.49,-534.84 160.81,-526.37 163,-518 179.28,-455.71 171.18,-379.17 164.94,-339.22"/>
|
||||
<polygon fill="black" stroke="black" points="168.37,-338.49 163.29,-329.19 161.46,-339.63 168.37,-338.49"/>
|
||||
</g>
|
||||
<!-- Cgl -->
|
||||
<g id="node13" class="node">
|
||||
<title>Cgl</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M676,-215C676,-215 630,-215 630,-215 624,-215 618,-209 618,-203 618,-203 618,-191 618,-191 618,-185 624,-179 630,-179 630,-179 676,-179 676,-179 682,-179 688,-185 688,-191 688,-191 688,-203 688,-203 688,-209 682,-215 676,-215"/>
|
||||
<text text-anchor="middle" x="653" y="-193.3" font-family="Times,serif" font-size="14.00">Coin::Cgl</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M154,-246C154,-246 108,-246 108,-246 102,-246 96,-240 96,-234 96,-234 96,-222 96,-222 96,-216 102,-210 108,-210 108,-210 154,-210 154,-210 160,-210 166,-216 166,-222 166,-222 166,-234 166,-234 166,-240 160,-246 154,-246"/>
|
||||
<text text-anchor="middle" x="131" y="-224.3" font-family="Times,serif" font-size="14.00">Coin::Cgl</text>
|
||||
</g>
|
||||
<!-- CoinUtils->Cgl -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>CoinUtils->Cgl</title>
|
||||
<path fill="none" stroke="black" d="M700.09,-507.88C706.03,-501.08 711.9,-492.79 715,-484 731.45,-437.33 703.38,-269.47 697,-254 692.34,-242.68 684.7,-231.74 677.09,-222.58"/>
|
||||
<polygon fill="black" stroke="black" points="679.7,-220.25 670.48,-215.03 674.43,-224.86 679.7,-220.25"/>
|
||||
<path fill="none" stroke="black" d="M88.26,-541.91C77.82,-536.01 68.17,-528.21 62,-518 34.92,-473.18 80.16,-313.17 92,-285 96.57,-274.13 103.48,-263.25 110.22,-254"/>
|
||||
<polygon fill="black" stroke="black" points="113.02,-256.1 116.3,-246.03 107.45,-251.86 113.02,-256.1"/>
|
||||
</g>
|
||||
<!-- CoinUtils->Cbc -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>CoinUtils->Cbc</title>
|
||||
<path fill="none" stroke="black" d="M641.21,-507.99C624.09,-500.75 604.01,-492.11 586,-484 507.51,-448.64 462.16,-470.23 411,-401 398.19,-383.66 404,-374.56 404,-353 404,-353 404,-353 404,-279 404,-230.95 393.83,-216.59 409,-171 412.6,-160.19 418.93,-149.53 425.4,-140.46"/>
|
||||
<polygon fill="black" stroke="black" points="428.33,-142.39 431.56,-132.3 422.74,-138.17 428.33,-142.39"/>
|
||||
<path fill="none" stroke="black" d="M88.03,-544.61C73.96,-538.46 59.9,-529.87 50,-518 11.55,-471.89 17,-447.04 17,-387 17,-387 17,-387 17,-310 17,-240.55 71.56,-173.86 105.19,-139.36"/>
|
||||
<polygon fill="black" stroke="black" points="107.85,-141.65 112.43,-132.09 102.89,-136.71 107.85,-141.65"/>
|
||||
</g>
|
||||
<!-- OsiCbc -->
|
||||
<g id="node15" class="node">
|
||||
<title>OsiCbc</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M614.5,-60C614.5,-60 547.5,-60 547.5,-60 541.5,-60 535.5,-54 535.5,-48 535.5,-48 535.5,-36 535.5,-36 535.5,-30 541.5,-24 547.5,-24 547.5,-24 614.5,-24 614.5,-24 620.5,-24 626.5,-30 626.5,-36 626.5,-36 626.5,-48 626.5,-48 626.5,-54 620.5,-60 614.5,-60"/>
|
||||
<text text-anchor="middle" x="581" y="-38.3" font-family="Times,serif" font-size="14.00">Coin::OsiCbc</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M133.5,-60C133.5,-60 66.5,-60 66.5,-60 60.5,-60 54.5,-54 54.5,-48 54.5,-48 54.5,-36 54.5,-36 54.5,-30 60.5,-24 66.5,-24 66.5,-24 133.5,-24 133.5,-24 139.5,-24 145.5,-30 145.5,-36 145.5,-36 145.5,-48 145.5,-48 145.5,-54 139.5,-60 133.5,-60"/>
|
||||
<text text-anchor="middle" x="100" y="-38.3" font-family="Times,serif" font-size="14.00">Coin::OsiCbc</text>
|
||||
</g>
|
||||
<!-- CoinUtils->OsiCbc -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>CoinUtils->OsiCbc</title>
|
||||
<path fill="none" stroke="black" d="M702.08,-507.62C709.08,-500.79 716.54,-492.55 722,-484 755.57,-431.49 772,-415.32 772,-353 772,-353 772,-353 772,-196 772,-138.06 744.4,-123.99 699,-88 680.83,-73.59 657.54,-63.41 636.45,-56.42"/>
|
||||
<polygon fill="black" stroke="black" points="637.22,-52.99 626.63,-53.34 635.12,-59.67 637.22,-52.99"/>
|
||||
<path fill="none" stroke="black" d="M191.51,-544.97C258.48,-523.24 367,-474.52 367,-387 367,-387 367,-387 367,-227 367,-174.36 224.53,-100.44 147.73,-64.42"/>
|
||||
<polygon fill="black" stroke="black" points="148.8,-61.06 138.25,-60.01 145.84,-67.41 148.8,-61.06"/>
|
||||
</g>
|
||||
<!-- Osi->Clp -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Osi->Clp</title>
|
||||
<path fill="none" stroke="black" d="M644.34,-416.82C636.83,-405.76 626.92,-391.18 618.48,-378.75"/>
|
||||
<polygon fill="black" stroke="black" points="621.16,-376.46 612.65,-370.15 615.37,-380.39 621.16,-376.46"/>
|
||||
<path fill="none" stroke="black" d="M135.33,-450.82C151.37,-439.01 172.87,-423.18 190.44,-410.24"/>
|
||||
<polygon fill="black" stroke="black" points="192.73,-412.9 198.71,-404.15 188.58,-407.26 192.73,-412.9"/>
|
||||
</g>
|
||||
<!-- Osi->OsiClp -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Osi->OsiClp</title>
|
||||
<path fill="none" stroke="black" d="M654.9,-416.9C653.43,-396.9 650.37,-362.85 645,-334 643.41,-325.45 641.17,-316.25 638.95,-307.95"/>
|
||||
<polygon fill="black" stroke="black" points="642.24,-306.74 636.19,-298.04 635.5,-308.61 642.24,-306.74"/>
|
||||
<path fill="none" stroke="black" d="M117.32,-450.71C125.65,-423.65 141.82,-371.09 151.69,-339.01"/>
|
||||
<polygon fill="black" stroke="black" points="155.06,-339.96 154.66,-329.37 148.37,-337.9 155.06,-339.96"/>
|
||||
</g>
|
||||
<!-- Osi->Cgl -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Osi->Cgl</title>
|
||||
<path fill="none" stroke="black" d="M676.53,-416.94C680.79,-412.26 684.68,-406.85 687,-401 711.06,-340.26 704.6,-316.92 687,-254 684.06,-243.48 678.54,-232.98 672.79,-223.96"/>
|
||||
<polygon fill="black" stroke="black" points="675.56,-221.8 667.06,-215.48 669.77,-225.73 675.56,-221.8"/>
|
||||
<path fill="none" stroke="black" d="M106.98,-450.67C105.75,-445.66 104.62,-440.15 104,-435 96.09,-368.8 89.15,-349.99 104,-285 106.32,-274.85 110.73,-264.39 115.32,-255.31"/>
|
||||
<polygon fill="black" stroke="black" points="118.45,-256.87 120.09,-246.4 112.28,-253.56 118.45,-256.87"/>
|
||||
</g>
|
||||
<!-- Osi->Cbc -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Osi->Cbc</title>
|
||||
<path fill="none" stroke="black" d="M621.25,-433.1C569.21,-431.01 474.59,-424.06 451,-401 380.8,-332.38 416.64,-199.18 436.6,-142.07"/>
|
||||
<polygon fill="black" stroke="black" points="440.02,-142.92 440.12,-132.32 433.43,-140.54 440.02,-142.92"/>
|
||||
<path fill="none" stroke="black" d="M100.16,-450.87C97.32,-445.95 94.64,-440.44 93,-435 63.08,-335.76 57.15,-302.37 83,-202 88.7,-179.87 101.35,-157.35 112.24,-140.76"/>
|
||||
<polygon fill="black" stroke="black" points="115.33,-142.44 118.05,-132.2 109.54,-138.51 115.33,-142.44"/>
|
||||
</g>
|
||||
<!-- Osi->OsiCbc -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Osi->OsiCbc</title>
|
||||
<path fill="none" stroke="black" d="M683.96,-416.8C689.6,-412.25 695.01,-406.93 699,-401 729.88,-355.11 732,-336.31 732,-281 732,-281 732,-281 732,-196 732,-135.25 670.94,-89.89 626.48,-64.92"/>
|
||||
<polygon fill="black" stroke="black" points="628.01,-61.77 617.55,-60.05 624.66,-67.91 628.01,-61.77"/>
|
||||
<path fill="none" stroke="black" d="M85.78,-450.96C80.25,-446.35 74.91,-440.96 71,-435 39.85,-387.6 37,-368.72 37,-312 37,-312 37,-312 37,-227 37,-168.05 66.3,-103.93 84.94,-69.11"/>
|
||||
<polygon fill="black" stroke="black" points="88.14,-70.54 89.88,-60.09 82,-67.18 88.14,-70.54"/>
|
||||
</g>
|
||||
<!-- Clp->OsiClp -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Clp->OsiClp</title>
|
||||
<path fill="none" stroke="black" d="M608.42,-333.7C611.79,-325.81 615.87,-316.3 619.62,-307.55"/>
|
||||
<polygon fill="black" stroke="black" points="622.95,-308.67 623.67,-298.1 616.51,-305.92 622.95,-308.67"/>
|
||||
<path fill="none" stroke="black" d="M207.31,-367.7C199.51,-358.52 189.79,-347.07 181.19,-336.94"/>
|
||||
<polygon fill="black" stroke="black" points="183.73,-334.53 174.59,-329.18 178.39,-339.06 183.73,-334.53"/>
|
||||
</g>
|
||||
<!-- ClpSolver -->
|
||||
<g id="node12" class="node">
|
||||
<title>ClpSolver</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M556.5,-298C556.5,-298 475.5,-298 475.5,-298 469.5,-298 463.5,-292 463.5,-286 463.5,-286 463.5,-274 463.5,-274 463.5,-268 469.5,-262 475.5,-262 475.5,-262 556.5,-262 556.5,-262 562.5,-262 568.5,-268 568.5,-274 568.5,-274 568.5,-286 568.5,-286 568.5,-292 562.5,-298 556.5,-298"/>
|
||||
<text text-anchor="middle" x="516" y="-276.3" font-family="Times,serif" font-size="14.00">Coin::ClpSolver</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M315.5,-329C315.5,-329 234.5,-329 234.5,-329 228.5,-329 222.5,-323 222.5,-317 222.5,-317 222.5,-305 222.5,-305 222.5,-299 228.5,-293 234.5,-293 234.5,-293 315.5,-293 315.5,-293 321.5,-293 327.5,-299 327.5,-305 327.5,-305 327.5,-317 327.5,-317 327.5,-323 321.5,-329 315.5,-329"/>
|
||||
<text text-anchor="middle" x="275" y="-307.3" font-family="Times,serif" font-size="14.00">Coin::ClpSolver</text>
|
||||
</g>
|
||||
<!-- Clp->ClpSolver -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Clp->ClpSolver</title>
|
||||
<path fill="none" stroke="black" d="M579.99,-333.7C569.28,-324.88 556.11,-314.03 544.5,-304.47"/>
|
||||
<polygon fill="black" stroke="black" points="546.71,-301.76 536.77,-298.1 542.26,-307.16 546.71,-301.76"/>
|
||||
<path fill="none" stroke="black" d="M234.56,-367.7C241.09,-358.7 249.21,-347.52 256.45,-337.55"/>
|
||||
<polygon fill="black" stroke="black" points="259.49,-339.32 262.53,-329.18 253.82,-335.21 259.49,-339.32"/>
|
||||
</g>
|
||||
<!-- Clp->Cbc -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Clp->Cbc</title>
|
||||
<path fill="none" stroke="black" d="M565.9,-348.94C531.49,-344.86 480.61,-332.89 455,-298 421.29,-252.07 430.84,-180.8 439.62,-142.15"/>
|
||||
<polygon fill="black" stroke="black" points="443.08,-142.71 442.03,-132.16 436.28,-141.06 443.08,-142.71"/>
|
||||
<path fill="none" stroke="black" d="M257.21,-382.05C286.95,-378.73 326.22,-372.16 336,-360 356.89,-334.03 350.17,-315.17 336,-285 303.15,-215.07 225.84,-164 176.11,-136.97"/>
|
||||
<polygon fill="black" stroke="black" points="177.63,-133.81 167.16,-132.2 174.34,-139.99 177.63,-133.81"/>
|
||||
</g>
|
||||
<!-- OsiClp->Cgl -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>OsiClp->Cgl</title>
|
||||
<path fill="none" stroke="black" d="M635.67,-261.82C638.58,-251.08 642.4,-237.03 645.71,-224.84"/>
|
||||
<polygon fill="black" stroke="black" points="649.1,-225.72 648.34,-215.15 642.34,-223.89 649.1,-225.72"/>
|
||||
<path fill="none" stroke="black" d="M153.85,-292.82C150.01,-282.08 144.97,-268.03 140.61,-255.84"/>
|
||||
<polygon fill="black" stroke="black" points="143.81,-254.39 137.14,-246.15 137.22,-256.75 143.81,-254.39"/>
|
||||
</g>
|
||||
<!-- Cgl->Cbc -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Cgl->Cbc</title>
|
||||
<path fill="none" stroke="black" d="M617.59,-182.08C583.16,-168.54 530.7,-147.91 493.05,-133.11"/>
|
||||
<polygon fill="black" stroke="black" points="493.92,-129.69 483.33,-129.29 491.36,-136.2 493.92,-129.69"/>
|
||||
<path fill="none" stroke="black" d="M131,-209.99C131,-192.06 131,-163.56 131,-142.44"/>
|
||||
<polygon fill="black" stroke="black" points="134.5,-142.17 131,-132.17 127.5,-142.17 134.5,-142.17"/>
|
||||
</g>
|
||||
<!-- Cbc->OsiCbc -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Cbc->OsiCbc</title>
|
||||
<path fill="none" stroke="black" d="M479.78,-95.88C497.63,-86.55 519.9,-74.92 539,-64.94"/>
|
||||
<polygon fill="black" stroke="black" points="540.85,-67.92 548.09,-60.19 537.61,-61.72 540.85,-67.92"/>
|
||||
<path fill="none" stroke="black" d="M123.34,-95.7C119.81,-87.73 115.54,-78.1 111.63,-69.26"/>
|
||||
<polygon fill="black" stroke="black" points="114.82,-67.83 107.57,-60.1 108.42,-70.67 114.82,-67.83"/>
|
||||
</g>
|
||||
<!-- CbcSolver -->
|
||||
<g id="node16" class="node">
|
||||
<title>CbcSolver</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M505.5,-60C505.5,-60 422.5,-60 422.5,-60 416.5,-60 410.5,-54 410.5,-48 410.5,-48 410.5,-36 410.5,-36 410.5,-30 416.5,-24 422.5,-24 422.5,-24 505.5,-24 505.5,-24 511.5,-24 517.5,-30 517.5,-36 517.5,-36 517.5,-48 517.5,-48 517.5,-54 511.5,-60 505.5,-60"/>
|
||||
<text text-anchor="middle" x="464" y="-38.3" font-family="Times,serif" font-size="14.00">Coin::CbcSolver</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M258.5,-60C258.5,-60 175.5,-60 175.5,-60 169.5,-60 163.5,-54 163.5,-48 163.5,-48 163.5,-36 163.5,-36 163.5,-30 169.5,-24 175.5,-24 175.5,-24 258.5,-24 258.5,-24 264.5,-24 270.5,-30 270.5,-36 270.5,-36 270.5,-48 270.5,-48 270.5,-54 264.5,-60 258.5,-60"/>
|
||||
<text text-anchor="middle" x="217" y="-38.3" font-family="Times,serif" font-size="14.00">Coin::CbcSolver</text>
|
||||
</g>
|
||||
<!-- Cbc->CbcSolver -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>Cbc->CbcSolver</title>
|
||||
<path fill="none" stroke="black" d="M451.2,-95.7C453.1,-87.9 455.38,-78.51 457.48,-69.83"/>
|
||||
<polygon fill="black" stroke="black" points="460.89,-70.65 459.85,-60.1 454.08,-69 460.89,-70.65"/>
|
||||
<path fill="none" stroke="black" d="M152.26,-95.7C163.09,-86.88 176.42,-76.03 188.16,-66.47"/>
|
||||
<polygon fill="black" stroke="black" points="190.44,-69.13 195.99,-60.1 186.02,-63.7 190.44,-69.13"/>
|
||||
</g>
|
||||
<!-- GLPK -->
|
||||
<g id="node17" class="node">
|
||||
<title>GLPK</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M1325,-544C1325,-544 1277,-544 1277,-544 1271,-544 1265,-538 1265,-532 1265,-532 1265,-520 1265,-520 1265,-514 1271,-508 1277,-508 1277,-508 1325,-508 1325,-508 1331,-508 1337,-514 1337,-520 1337,-520 1337,-532 1337,-532 1337,-538 1331,-544 1325,-544"/>
|
||||
<text text-anchor="middle" x="1301" y="-522.3" font-family="Times,serif" font-size="14.00">glpk::glpk</text>
|
||||
<path fill="royalblue" stroke="royalblue" d="M820,-578C820,-578 772,-578 772,-578 766,-578 760,-572 760,-566 760,-566 760,-554 760,-554 760,-548 766,-542 772,-542 772,-542 820,-542 820,-542 826,-542 832,-548 832,-554 832,-554 832,-566 832,-566 832,-572 826,-578 820,-578"/>
|
||||
<text text-anchor="middle" x="796" y="-556.3" font-family="Times,serif" font-size="14.00">glpk::glpk</text>
|
||||
</g>
|
||||
<!-- SCIP -->
|
||||
<!-- HIGHS -->
|
||||
<g id="node18" class="node">
|
||||
<title>SCIP</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M1611,-544C1611,-544 1567,-544 1567,-544 1561,-544 1555,-538 1555,-532 1555,-532 1555,-520 1555,-520 1555,-514 1561,-508 1567,-508 1567,-508 1611,-508 1611,-508 1617,-508 1623,-514 1623,-520 1623,-520 1623,-532 1623,-532 1623,-538 1617,-544 1611,-544"/>
|
||||
<text text-anchor="middle" x="1589" y="-522.3" font-family="Times,serif" font-size="14.00">scip::scip</text>
|
||||
<title>HIGHS</title>
|
||||
<path fill="royalblue" stroke="royalblue" d="M1126.5,-578C1126.5,-578 1067.5,-578 1067.5,-578 1061.5,-578 1055.5,-572 1055.5,-566 1055.5,-566 1055.5,-554 1055.5,-554 1055.5,-548 1061.5,-542 1067.5,-542 1067.5,-542 1126.5,-542 1126.5,-542 1132.5,-542 1138.5,-548 1138.5,-554 1138.5,-554 1138.5,-566 1138.5,-566 1138.5,-572 1132.5,-578 1126.5,-578"/>
|
||||
<text text-anchor="middle" x="1097" y="-556.3" font-family="Times,serif" font-size="14.00">highs::highs</text>
|
||||
</g>
|
||||
<!-- SPX->SCIP -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>SPX->SCIP</title>
|
||||
<path fill="none" stroke="black" d="M714.72,-95.7C715.93,-87.98 717.39,-78.71 718.74,-70.11"/>
|
||||
<polygon fill="black" stroke="black" points="722.22,-70.53 720.31,-60.1 715.3,-69.44 722.22,-70.53"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 24 KiB |
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
<!-- Generated by graphviz version 2.42.4 (0)
|
||||
-->
|
||||
<!-- Title: DockerDeps Pages: 1 -->
|
||||
<svg width="1904pt" height="1113pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@@ -397,6 +397,9 @@ set(need_cbc_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_Cbc}>>")
|
||||
set(need_unix_highs_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_HIGHS}>>")
|
||||
set(need_windows_highs_lib "$<AND:${is_windows},$<BOOL:${BUILD_HIGHS}>>")
|
||||
|
||||
set(need_unix_scip_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_SCIP}>>")
|
||||
set(need_windows_scip_lib "$<AND:${is_windows},$<BOOL:${BUILD_SCIP}>>")
|
||||
|
||||
set(is_ortools_shared "$<STREQUAL:$<TARGET_PROPERTY:ortools,TYPE>,SHARED_LIBRARY>")
|
||||
set(need_unix_ortools_lib "$<AND:${is_not_windows},${is_ortools_shared}>")
|
||||
set(need_windows_ortools_lib "$<AND:${is_windows},${is_ortools_shared}>")
|
||||
|
||||
@@ -300,6 +300,9 @@ set(need_unix_cbc_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_Cbc}>>")
|
||||
set(need_unix_highs_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_HIGHS}>>")
|
||||
set(need_windows_highs_lib "$<AND:${is_windows},$<BOOL:${BUILD_HIGHS}>>")
|
||||
|
||||
set(need_unix_scip_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_SCIP}>>")
|
||||
set(need_windows_scip_lib "$<AND:${is_windows},$<BOOL:${BUILD_SCIP}>>")
|
||||
|
||||
set(is_ortools_shared "$<STREQUAL:$<TARGET_PROPERTY:ortools,TYPE>,SHARED_LIBRARY>")
|
||||
set(need_unix_ortools_lib "$<AND:${is_not_windows},${is_ortools_shared}>")
|
||||
set(need_windows_ortools_lib "$<AND:${is_windows},${is_ortools_shared}>")
|
||||
@@ -445,8 +448,14 @@ add_custom_command(
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E
|
||||
$<IF:$<BOOL:${BUILD_HIGHS}>,copy,true>
|
||||
$<${need_unix_highs_lib}:$<TARGET_SONAME_FILE:highs>>
|
||||
$<${need_windows_highs_lib}:$<TARGET_FILE:highs>>
|
||||
$<${need_unix_highs_lib}:$<TARGET_SONAME_FILE:highs::highs>>
|
||||
$<${need_windows_highs_lib}:$<TARGET_FILE:highs::highs>>
|
||||
${JAVA_RESSOURCES_PATH}/${JAVA_NATIVE_PROJECT}/
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E
|
||||
$<IF:$<BOOL:${BUILD_SCIP}>,copy,true>
|
||||
$<${need_unix_scip_lib}:$<TARGET_SONAME_FILE:SCIP::libscip>>
|
||||
$<${need_windows_scip_lib}:$<TARGET_FILE:SCIP::libscip>>
|
||||
${JAVA_RESSOURCES_PATH}/${JAVA_NATIVE_PROJECT}/
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E
|
||||
|
||||
@@ -66,7 +66,7 @@ if(@USE_PDLP@)
|
||||
endif()
|
||||
|
||||
if(@USE_SCIP@)
|
||||
if(NOT TARGET libscip)
|
||||
if(NOT TARGET SCIP::libscip)
|
||||
find_dependency(SCIP REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -460,6 +460,9 @@ set(need_unix_cbc_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_Cbc}>>")
|
||||
set(need_unix_highs_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_HIGHS}>>")
|
||||
set(need_windows_highs_lib "$<AND:${is_windows},$<BOOL:${BUILD_HIGHS}>>")
|
||||
|
||||
set(need_unix_scip_lib "$<AND:${is_not_windows},$<BOOL:${BUILD_SCIP}>>")
|
||||
set(need_windows_scip_lib "$<AND:${is_windows},$<BOOL:${BUILD_SCIP}>>")
|
||||
|
||||
set(is_ortools_shared "$<STREQUAL:$<TARGET_PROPERTY:ortools,TYPE>,SHARED_LIBRARY>")
|
||||
set(need_unix_ortools_lib "$<AND:${is_not_windows},${is_ortools_shared}>")
|
||||
set(need_windows_ortools_lib "$<AND:${is_windows},${is_ortools_shared}>")
|
||||
@@ -605,8 +608,14 @@ add_custom_command(
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E
|
||||
$<IF:$<BOOL:${BUILD_HIGHS}>,copy,true>
|
||||
$<${need_unix_highs_lib}:$<TARGET_SONAME_FILE:highs>>
|
||||
$<${need_windows_highs_lib}:$<TARGET_FILE:highs>>
|
||||
$<${need_unix_highs_lib}:$<TARGET_SONAME_FILE:highs::highs>>
|
||||
$<${need_windows_highs_lib}:$<TARGET_FILE:highs::highs>>
|
||||
${PYTHON_PROJECT}/.libs
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E
|
||||
$<IF:$<BOOL:${BUILD_SCIP}>,copy,true>
|
||||
$<${need_unix_scip_lib}:$<TARGET_SONAME_FILE:SCIP::libscip>>
|
||||
$<${need_windows_scip_lib}:$<TARGET_FILE:SCIP::libscip>>
|
||||
${PYTHON_PROJECT}/.libs
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E
|
||||
|
||||
@@ -131,8 +131,11 @@
|
||||
$<@need_cgl_lib@:;$<TARGET_SONAME_FILE:Coin::Cgl>>
|
||||
$<@need_cbc_lib@:;$<TARGET_SONAME_FILE:Coin::Cbc>;$<TARGET_SONAME_FILE:Coin::OsiCbc>;$<TARGET_SONAME_FILE:Coin::CbcSolver>>
|
||||
|
||||
$<@need_unix_highs_lib@:;$<TARGET_SONAME_FILE:highs>>
|
||||
$<@need_windows_highs_lib@:;$<TARGET_FILE:highs>>
|
||||
$<@need_unix_highs_lib@:;$<TARGET_SONAME_FILE:highs::highs>>
|
||||
$<@need_windows_highs_lib@:;$<TARGET_FILE:highs::highs>>
|
||||
|
||||
$<@need_unix_scip_lib@:;$<TARGET_SONAME_FILE:SCIP::libscip>>
|
||||
$<@need_windows_scip_lib@:;$<TARGET_FILE:SCIP::libscip>>
|
||||
|
||||
$<@need_unix_ortools_lib@:;$<TARGET_SONAME_FILE:ortools>>
|
||||
$<@need_windows_ortools_lib@:;$<TARGET_FILE:ortools>>
|
||||
|
||||
@@ -33,6 +33,6 @@ target_link_libraries(${NAME} PRIVATE
|
||||
absl::strings
|
||||
absl::str_format
|
||||
protobuf::libprotobuf
|
||||
$<$<BOOL:${USE_SCIP}>:libscip>
|
||||
SCIP::libscip
|
||||
${PROJECT_NAMESPACE}::ortools_proto)
|
||||
#add_library(${PROJECT_NAMESPACE}::gscip ALIAS ${NAME})
|
||||
|
||||
@@ -143,7 +143,7 @@ public class Loader {
|
||||
Path tempPath = unpackNativeResources(resourceURI);
|
||||
// libraries order does matter !
|
||||
List<String> dlls = Arrays.asList("zlib1", "abseil_dll", "re2", "utf8_validity",
|
||||
"libprotobuf", "highs", "ortools", "jniortools");
|
||||
"libprotobuf", "highs", "libscip", "ortools", "jniortools");
|
||||
for (String dll : dlls) {
|
||||
try {
|
||||
// System.out.println("System.load(" + dll + ")");
|
||||
|
||||
@@ -48,7 +48,7 @@ target_link_libraries(${NAME} PRIVATE
|
||||
$<$<BOOL:${USE_GLPK}>:GLPK::GLPK>
|
||||
$<$<BOOL:${USE_HIGHS}>:highs::highs>
|
||||
$<$<BOOL:${USE_PDLP}>:Eigen3::Eigen>
|
||||
$<$<BOOL:${USE_SCIP}>:libscip>
|
||||
$<$<BOOL:${USE_SCIP}>:SCIP::libscip>
|
||||
${PROJECT_NAMESPACE}::ortools_proto)
|
||||
#add_library(${PROJECT_NAMESPACE}::linear_solver ALIAS ${NAME})
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ target_link_libraries(${NAME} PRIVATE
|
||||
absl::status
|
||||
absl::str_format
|
||||
$<$<BOOL:${USE_PDLP}>:Eigen3::Eigen>
|
||||
$<$<BOOL:${USE_SCIP}>:libscip>
|
||||
$<$<BOOL:${USE_SCIP}>:SCIP::libscip>
|
||||
$<$<BOOL:${USE_HIGHS}>:highs::highs>
|
||||
${PROJECT_NAMESPACE}::ortools_proto)
|
||||
#add_library(${PROJECT_NAMESPACE}::linear_solver_proto_solver ALIAS ${NAME})
|
||||
|
||||
@@ -25,6 +25,6 @@ target_include_directories(${NAME} PRIVATE
|
||||
${PROJECT_BINARY_DIR})
|
||||
target_link_libraries(${NAME} PRIVATE
|
||||
absl::status
|
||||
$<$<BOOL:${USE_SCIP}>:libscip>
|
||||
$<$<BOOL:${USE_SCIP}>:SCIP::libscip>
|
||||
${PROJECT_NAMESPACE}::ortools_proto)
|
||||
#add_library(${PROJECT_NAMESPACE}::linear_solver_wrappers ALIAS ${NAME})
|
||||
|
||||
@@ -30,5 +30,5 @@ target_include_directories(${NAME} PUBLIC
|
||||
target_link_libraries(${NAME} PRIVATE
|
||||
${PROJECT_NAMESPACE}::math_opt_proto
|
||||
absl::strings
|
||||
$<$<BOOL:${USE_SCIP}>:libscip>
|
||||
$<$<BOOL:${USE_SCIP}>:SCIP::libscip>
|
||||
)
|
||||
|
||||
@@ -55,7 +55,7 @@ target_link_libraries(${NAME} PRIVATE
|
||||
$<$<BOOL:${USE_GLPK}>:GLPK::GLPK>
|
||||
$<$<BOOL:${USE_HIGHS}>:highs::highs>
|
||||
$<$<BOOL:${USE_PDLP}>:Eigen3::Eigen>
|
||||
$<$<BOOL:${USE_SCIP}>:libscip>
|
||||
$<$<BOOL:${USE_SCIP}>:SCIP::libscip>
|
||||
${PROJECT_NAMESPACE}::math_opt_proto)
|
||||
|
||||
if(USE_SCIP)
|
||||
@@ -267,4 +267,4 @@ if(USE_XPRESS)
|
||||
"$<LINK_LIBRARY:WHOLE_ARCHIVE,ortools::math_opt_second_order_cone_tests>"
|
||||
"$<LINK_LIBRARY:WHOLE_ARCHIVE,ortools::math_opt_qc_tests>"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -55,7 +55,10 @@ def _load_ortools_libs():
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
for dll in ["zlib1.dll", "abseil_dll.dll", "utf8_validity.dll", "re2.dll", "libprotobuf.dll", "highs.dll", "ortools.dll"]:
|
||||
for dll in ["zlib1.dll",
|
||||
"abseil_dll.dll", "utf8_validity.dll", "re2.dll", "libprotobuf.dll",
|
||||
"highs.dll", "libscip.dll",
|
||||
"ortools.dll"]:
|
||||
dll_path = os.path.join(basedir, ".libs", dll)
|
||||
if os.path.exists(dll_path):
|
||||
print(f"load {dll_path}...")
|
||||
|
||||
12
patches/boost-1.87.0.patch
Normal file
12
patches/boost-1.87.0.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -ru a/tools/cmake/include/BoostInstall.cmake b/tools/cmake/include/BoostInstall.cmake
|
||||
--- a/tools/cmake/include/BoostInstall.cmake 2024-12-12 00:43:08.000000000 +0100
|
||||
+++ b/tools/cmake/include/BoostInstall.cmake 2025-03-03 13:11:00.310140710 +0100
|
||||
@@ -306,7 +306,7 @@
|
||||
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
|
||||
- export(TARGETS ${LIB} NAMESPACE Boost:: FILE export/${LIB}-targets.cmake)
|
||||
+ #export(TARGETS ${LIB} NAMESPACE Boost:: FILE export/${LIB}-targets.cmake)
|
||||
|
||||
if(MSVC)
|
||||
if(TYPE STREQUAL "SHARED_LIBRARY")
|
||||
@@ -1,45 +1,145 @@
|
||||
diff --git a/src/lpi/lpi_glop.cpp b/src/lpi/lpi_glop.cpp
|
||||
index a90120188a..2c068e5e30 100644
|
||||
--- a/src/lpi/lpi_glop.cpp
|
||||
+++ b/src/lpi/lpi_glop.cpp
|
||||
@@ -51,7 +51,6 @@
|
||||
#include "ortools/util/time_limit.h"
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8492dc75..4c12a9bf 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -38,9 +38,11 @@ set(CPACK_PACKAGE_VENDOR "Zuse Institute Berlin")
|
||||
set(CPACK_PACKAGE_CONTACT "http://scipopt.org")
|
||||
include(CPack)
|
||||
|
||||
#include "ortools/base/logging.h"
|
||||
-#include "ortools/base/vlog_is_on.h"
|
||||
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
||||
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||
+if(CMAKE_PROJECT_NAME EQUAL "SCIP")
|
||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
||||
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||
+endif()
|
||||
|
||||
#include "lpi/lpi.h"
|
||||
#include "scip/pub_message.h"
|
||||
@@ -2942,12 +2941,12 @@ SCIP_RETCODE SCIPlpiSetIntpar(
|
||||
SCIPdebugMessage("SCIPlpiSetIntpar: SCIP_LPPAR_LPINFO -> %d.\n", ival);
|
||||
if ( ival == 0 )
|
||||
{
|
||||
- (void) google::SetVLOGLevel("*", google::GLOG_INFO);
|
||||
+ absl::SetStderrThreshold(absl::LogSeverityAtLeast::kInfo);
|
||||
lpi->lp_info = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
- (void) google::SetVLOGLevel("*", google::GLOG_ERROR);
|
||||
+ absl::SetStderrThreshold(absl::LogSeverityAtLeast::kError);
|
||||
lpi->lp_info = true;
|
||||
}
|
||||
break;
|
||||
@@ -3190,7 +3189,7 @@ SCIP_RETCODE SCIPlpiReadLP(
|
||||
if(SCIPOptSuite_BINARY_DIR)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SCIPOptSuite_BINARY_DIR}/bin)
|
||||
@@ -412,22 +414,11 @@ endif()
|
||||
#search the selected LP solver library
|
||||
message(STATUS "Finding Solver \"${LPS}\"")
|
||||
if(LPS STREQUAL "spx")
|
||||
- message(STATUS "Finding Soplex")
|
||||
- find_package(SOPLEX CONFIG HINTS ${SOPLEX_DIR})
|
||||
- if(NOT SOPLEX_FOUND)
|
||||
- # Utilities to automatically download missing dependencies
|
||||
- include(cmake/Dependencies.cmake)
|
||||
- find_or_download_package(
|
||||
- NAME SOPLEX
|
||||
- VERSION 7.0.1
|
||||
- URL https://github.com/scipopt/soplex/archive/refs/tags/release-701.tar.gz
|
||||
- URL_HASH SHA256=80cce994dcbe45fd52b60e31a3aeb5d2c60a7ddbaae495e0ce6bf58481675696
|
||||
- COMPONENTS soplex)
|
||||
- find_package(SOPLEX REQUIRED CONFIG HINTS _deps/local)
|
||||
- endif()
|
||||
- if(NOT SOPLEX_FOUND)
|
||||
+ message(STATUS "Finding Soplex...")
|
||||
+ if(NOT TARGET libsoplex-pic OR NOT TARGET libsoplex)
|
||||
message(FATAL_ERROR "Requested LP solver SoPlex not found.")
|
||||
endif()
|
||||
+ set(SOPLEX_FOUND TRUE)
|
||||
if (DEFINED SOPLEX_WITH_PAPILO)
|
||||
message(STATUS "SOPLEX links PAPILO")
|
||||
if((NOT SCIP_WITH_PAPILO)) # TODO not sure how to handle AUTOBUILD
|
||||
@@ -502,9 +493,9 @@ if(SOPLEX_FOUND)
|
||||
message(STATUS "Finding SOPLEX - found")
|
||||
# SoPlex headers can be directly included
|
||||
include_directories(${SOPLEX_INCLUDE_DIRS})
|
||||
- set(LPS_LIBRARIES ${SOPLEX_LIBRARIES})
|
||||
+ set(LPS_LIBRARIES libsoplex)
|
||||
if(SHARED)
|
||||
- set(LPS_PIC_LIBRARIES ${SOPLEX_PIC_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES libsoplex-pic)
|
||||
else()
|
||||
set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
endif()
|
||||
@@ -514,7 +505,7 @@ if(SOPLEX_FOUND)
|
||||
set(lpi lpi/lpi_spx2.cpp)
|
||||
endif()
|
||||
else()
|
||||
- message(STATUS "Support SOPLEX: OFF")
|
||||
+ message(FATAL_ERROR "SOPLEX not found !")
|
||||
endif()
|
||||
|
||||
const std::string filespec(fname);
|
||||
MPModelProto proto;
|
||||
- if ( ! ReadFileToProto(filespec, &proto) )
|
||||
+ if ( ! ReadFileToProto(filespec, &proto).ok() )
|
||||
{
|
||||
SCIPerrorMessage("Could not read <%s>\n", fname);
|
||||
return SCIP_READERROR;
|
||||
@@ -3214,7 +3213,7 @@ SCIP_RETCODE SCIPlpiWriteLP(
|
||||
MPModelProto proto;
|
||||
LinearProgramToMPModelProto(*lpi->linear_program, &proto);
|
||||
const std::string filespec(fname);
|
||||
- if ( ! WriteProtoToFile(filespec, proto, operations_research::ProtoWriteFormat::kProtoText, true) )
|
||||
+ if ( ! WriteProtoToFile(filespec, proto, operations_research::ProtoWriteFormat::kProtoText, true).ok() )
|
||||
{
|
||||
SCIPerrorMessage("Could not write <%s>\n", fname);
|
||||
return SCIP_READERROR;
|
||||
if(CLP_FOUND)
|
||||
diff --git a/scip-config.cmake.in b/scip-config.cmake.in
|
||||
index 559552f9..682ac40a 100644
|
||||
--- a/scip-config.cmake.in
|
||||
+++ b/scip-config.cmake.in
|
||||
@@ -1,17 +1,16 @@
|
||||
if(NOT TARGET libscip)
|
||||
- include("${CMAKE_CURRENT_LIST_DIR}/scip-targets.cmake")
|
||||
-endif()
|
||||
+ include(CMakeFindDependencyMacro)
|
||||
+ if(@ZIMPL_NEEDED@)
|
||||
+ find_dependency(ZIMPL REQUIRED NO_MODULE)
|
||||
+ endif()
|
||||
+ if(@SOPLEX_NEEDED@)
|
||||
+ find_dependency(SOPLEX REQUIRED NO_MODULE)
|
||||
+ endif()
|
||||
|
||||
-if(@ZIMPL_NEEDED@)
|
||||
- set(ZIMPL_DIR "@CONF_ZIMPL_DIR@")
|
||||
- find_package(ZIMPL QUIET CONFIG)
|
||||
-endif()
|
||||
-
|
||||
-if(@SOPLEX_NEEDED@)
|
||||
- set(SOPLEX_DIR "@CONF_SOPLEX_DIR@")
|
||||
- find_package(SOPLEX QUIET CONFIG)
|
||||
+ include("${CMAKE_CURRENT_LIST_DIR}/scip-targets.cmake")
|
||||
endif()
|
||||
|
||||
+# Legacy
|
||||
set(SCIP_LIBRARIES libscip)
|
||||
set(SCIP_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
|
||||
set(SCIP_FOUND TRUE)
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index e6fda2d5..2d04b845 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1149,17 +1149,8 @@ install(TARGETS scip libscip EXPORT scip-targets
|
||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
|
||||
# Add all targets to the build-tree export set
|
||||
-export(TARGETS scip libscip
|
||||
- FILE "${PROJECT_BINARY_DIR}/scip-targets.cmake")
|
||||
-
|
||||
-# make soplex and zimpl dir absolute for the config file
|
||||
-if(SOPLEX_NEEDED)
|
||||
- get_filename_component(CONF_SOPLEX_DIR ${SOPLEX_DIR} REALPATH BASE_DIR ${CMAKE_SOURCE_DIR})
|
||||
-endif()
|
||||
-
|
||||
-if(ZIMPL_NEEDED)
|
||||
- get_filename_component(CONF_ZIMPL_DIR ${ZIMPL_DIR} REALPATH BASE_DIR ${CMAKE_SOURCE_DIR})
|
||||
-endif()
|
||||
+#export(TARGETS scip libscip
|
||||
+# FILE "${PROJECT_BINARY_DIR}/scip-targets.cmake")
|
||||
|
||||
# configure the config file for the build tree
|
||||
set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}")
|
||||
@@ -1175,18 +1166,16 @@ ${PROJECT_BINARY_DIR}/scip-config-version.cmake
|
||||
|
||||
#configure the config file for the install
|
||||
set(CONF_INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/../../../include")
|
||||
-if(SOPLEX_NEEDED)
|
||||
- set(CONF_SOPLEX_DIR "\${CMAKE_CURRENT_LIST_DIR}/../soplex")
|
||||
-endif()
|
||||
-if(ZIMPL_NEEDED)
|
||||
- set(CONF_ZIMPL_DIR "\${CMAKE_CURRENT_LIST_DIR}/../zimpl")
|
||||
-endif()
|
||||
configure_file(${PROJECT_SOURCE_DIR}/scip-config.cmake.in
|
||||
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/scip-config.cmake" @ONLY)
|
||||
|
||||
# install the targets of the scip export group and the config file so that other projects
|
||||
# can link easily against scip
|
||||
-install(EXPORT scip-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scip)
|
||||
+install(EXPORT scip-targets
|
||||
+ NAMESPACE SCIP::
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scip
|
||||
+ COMPONENT Devel
|
||||
+)
|
||||
install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/scip-config.cmake"
|
||||
${PROJECT_BINARY_DIR}/scip-config-version.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/scip)
|
||||
|
||||
225
patches/soplex-v7.1.3.patch
Normal file
225
patches/soplex-v7.1.3.patch
Normal file
@@ -0,0 +1,225 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0b21f5a..ddf1536 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -27,6 +27,10 @@ set(CPACK_PACKAGE_VERSION_PATCH "${SOPLEX_VERSION_PATCH}")
|
||||
set(CPACK_PACKAGE_VENDOR "Zuse Institute Berlin")
|
||||
include(CPack)
|
||||
|
||||
+# Disable CTest targets
|
||||
+set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1)
|
||||
+include(CTest)
|
||||
+
|
||||
option(ZLIB "Use ZLIB" ON)
|
||||
option(GMP "Use GMP" ON)
|
||||
option(EMSCRIPTEN_HTML "Emscripten HTML output" OFF)
|
||||
@@ -43,11 +47,17 @@ option(SANITIZE_THREAD "should the thread sanitizer be enabled in debug mode if
|
||||
option(COVERAGE "enable coverage support" OFF)
|
||||
option(PAPILO "should papilo library be linked" ON)
|
||||
|
||||
+option(SOPLEX_EXAMPLE "Build example" OFF)
|
||||
+option(SOPLEX_SOPLEX "Build soplex program" OFF)
|
||||
+option(SOPLEX_EXPORT "Enable to use soplex from the current project's build tree, without installation." OFF)
|
||||
+
|
||||
SET(COVERAGE_CTEST_ARGS "" CACHE STRING "additional ctest arguments for coverage")
|
||||
|
||||
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
+if(CMAKE_PROJECT_NAME EQUAL "SOPLEX")
|
||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
+endif()
|
||||
|
||||
# for colorized output
|
||||
if(NOT WIN32)
|
||||
@@ -69,6 +79,8 @@ set(CMAKE_MACOSX_RPATH ON)
|
||||
|
||||
# use C++14 standard
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
+set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
# set function visibility default to hidden
|
||||
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
@@ -123,12 +135,11 @@ if(COVERAGE)
|
||||
endif()
|
||||
|
||||
if(ZLIB)
|
||||
- find_package(ZLIB)
|
||||
-endif()
|
||||
-if(ZLIB_FOUND)
|
||||
- set(SOPLEX_WITH_ZLIB on)
|
||||
- set(libs ${libs} ${ZLIB_LIBRARIES})
|
||||
- include_directories(${ZLIB_INCLUDE_DIRS})
|
||||
+ if(NOT TARGET ZLIB::ZLIB)
|
||||
+ find_package(ZLIB REQUIRED)
|
||||
+ endif()
|
||||
+ set(SOPLEX_WITH_ZLIB on)
|
||||
+ set(libs ${libs} ZLIB::ZLIB)
|
||||
endif()
|
||||
|
||||
if(GMP)
|
||||
@@ -170,39 +181,24 @@ else()
|
||||
set(SOPLEX_WITH_PAPILO off)
|
||||
endif()
|
||||
|
||||
-set(BOOST_MINIMUM_VERSION 1.65.0)
|
||||
+set(BOOST_MINIMUM_VERSION 1.65.0) # PaPILO requires at least Boost 1.65 (on mac 1.72)
|
||||
if(BOOST)
|
||||
- find_package(Boost ${BOOST_MINIMUM_VERSION}) # PaPILO requires at least Boost 1.65 (on mac 1.72)
|
||||
- if(Boost_FOUND)
|
||||
- set(SOPLEX_WITH_BOOST on)
|
||||
- include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
|
||||
- if(NOT Boost_VERSION_MACRO)
|
||||
- set(Boost_VERSION_MACRO ${Boost_VERSION})
|
||||
- endif()
|
||||
- if(${Boost_VERSION_MACRO} LESS "107000")
|
||||
- if(NOT SOPLEX_WITH_GMP)
|
||||
- message(SEND_ERROR "If no GMP is linked, then the minimal Boost verion is 1.70. \
|
||||
- Found Boost version is ${Boost_VERSION_STRING}. Either provide newer Boost, link GMP, or disable Boost by setting BOOST=off.")
|
||||
- else()
|
||||
- message(WARNING "The multiprecision and quadprecision features are disabled with Boost versions older than 1.70. \
|
||||
- Found Boost version is ${Boost_VERSION_STRING}.")
|
||||
- endif()
|
||||
- endif()
|
||||
- if(MPFR) # MPFR is used within boost multiprecision, so using it without Boost does not make sense
|
||||
- find_package(MPFR)
|
||||
- endif()
|
||||
- if(MPFR_FOUND)
|
||||
- message(STATUS "SoPlex with Boost MPFR libraries")
|
||||
- set(SOPLEX_WITH_MPFR on)
|
||||
- include_directories(${MPFR_INCLUDE_DIRS})
|
||||
- set(libs ${libs} ${MPFR_LIBRARIES})
|
||||
- else()
|
||||
- message(STATUS "SoPlex with Boost CPP multiprecision libraries")
|
||||
- set(SOPLEX_WITH_CPPMPF on)
|
||||
- endif()
|
||||
- else()
|
||||
- set(BOOST off)
|
||||
- endif()
|
||||
+ if(NOT TARGET Boost::multiprecision OR NOT TARGET Boost::serialization)
|
||||
+ message(FATAL_ERROR "Boost::multiprecision or Boost::serialization not available!!!")
|
||||
+ find_package(Boost ${BOOST_MINIMUM_VERSION} REQUIRED)
|
||||
+ endif()
|
||||
+ set(SOPLEX_WITH_BOOST on)
|
||||
+ set(libs ${libs} Boost::multiprecision Boost::serialization)
|
||||
+ if(MPFR) # MPFR is used within boost multiprecision, so using it without Boost does not make sense
|
||||
+ find_package(MPFR REQUIRED)
|
||||
+ message(STATUS "SoPlex with Boost MPFR libraries")
|
||||
+ set(SOPLEX_WITH_MPFR on)
|
||||
+ include_directories(${MPFR_INCLUDE_DIRS})
|
||||
+ set(libs ${libs} ${MPFR_LIBRARIES})
|
||||
+ else()
|
||||
+ message(STATUS "SoPlex with Boost CPP multiprecision libraries")
|
||||
+ set(SOPLEX_WITH_CPPMPF on)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
# disable fused floating point contraction to enhance reproducibility across compilers and architectures
|
||||
@@ -247,7 +243,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/soplex/config.h.in ${PROJECT_BINA
|
||||
configure_file(${PROJECT_SOURCE_DIR}/soplex-config.cmake.in "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/soplex-config.cmake" @ONLY)
|
||||
|
||||
add_subdirectory(src)
|
||||
-add_subdirectory(tests/c_interface)
|
||||
-add_subdirectory(check)
|
||||
-
|
||||
-enable_testing()
|
||||
+if(BUILD_TESTING)
|
||||
+ add_subdirectory(tests/c_interface)
|
||||
+ add_subdirectory(check)
|
||||
+endif()
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 84ec5a5..6f5d4ef 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -193,24 +193,28 @@ target_link_libraries(libsoplexshared libsoplex ${libs})
|
||||
set_target_properties(libsoplexshared PROPERTIES CXX_VISIBILITY_PRESET default)
|
||||
|
||||
# create soplex binary using library without pic
|
||||
-add_executable(soplex soplexmain.cpp)
|
||||
-target_link_libraries(soplex LINK_PUBLIC libsoplex ${Boost_LIBRARIES})
|
||||
+if(SOPLEX_SOPLEX)
|
||||
+ add_executable(soplex EXCLUDE_FROM_ALL soplexmain.cpp)
|
||||
+ target_link_libraries(soplex PRIVATE libsoplex ${Boost_LIBRARIES})
|
||||
|
||||
-if(EMSCRIPTEN AND EMSCRIPTEN_HTML)
|
||||
+ # set the install rpath to the installed destination
|
||||
+ set_target_properties(soplex PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
+
|
||||
+ if(EMSCRIPTEN AND EMSCRIPTEN_HTML)
|
||||
set_target_properties(soplex PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/soplex_webdemo_shell.html)
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||
-endif()
|
||||
+ endif()
|
||||
|
||||
-if(CMAKE_BUILD_TYPE EQUAL "Debug")
|
||||
- find_package(Sanitizers)
|
||||
- add_sanitizers(soplex)
|
||||
+ if(CMAKE_BUILD_TYPE EQUAL "Debug")
|
||||
+ find_package(Sanitizers)
|
||||
+ add_sanitizers(soplex)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
-add_executable(example EXCLUDE_FROM_ALL example.cpp)
|
||||
-target_link_libraries(example libsoplex)
|
||||
-
|
||||
-# set the install rpath to the installed destination
|
||||
-set_target_properties(soplex PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
+if(SOPLEX_EXAMPLE)
|
||||
+ add_executable(example example.cpp)
|
||||
+ target_link_libraries(example libsoplex)
|
||||
+endif()
|
||||
|
||||
# install the header files of soplex
|
||||
install(FILES ${headers} ${PROJECT_BINARY_DIR}/soplex/config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/soplex)
|
||||
@@ -237,15 +241,28 @@ install(FILES
|
||||
DESTINATION include/soplex/external/zstr)
|
||||
|
||||
# install the binary and the library to appropriate lcoations and add them to an export group
|
||||
-install(TARGETS soplex libsoplex libsoplex-pic libsoplexshared EXPORT soplex-targets
|
||||
+if(SOPLEX_SOPLEX)
|
||||
+ install(TARGETS soplex
|
||||
+ EXPORT soplex-targets
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+endif()
|
||||
+
|
||||
+install(TARGETS libsoplex libsoplex-pic libsoplexshared
|
||||
+ EXPORT soplex-targets
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
|
||||
+install(EXPORT soplex-targets
|
||||
+ FILE soplex-targets.cmake
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/soplex)
|
||||
+
|
||||
# Add library targets to the build-tree export set
|
||||
-export(TARGETS libsoplex libsoplex-pic libsoplexshared
|
||||
- FILE "${CMAKE_BINARY_DIR}/soplex-targets.cmake")
|
||||
+if(SOPLEX_EXPORT)
|
||||
+ export(TARGETS libsoplex libsoplex-pic libsoplexshared
|
||||
+ FILE "${CMAKE_BINARY_DIR}/soplex-targets.cmake")
|
||||
+endif()
|
||||
|
||||
#configure the config file for the build tree
|
||||
set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}")
|
||||
@@ -259,7 +276,6 @@ ${CMAKE_BINARY_DIR}/soplex-config-version.cmake
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
|
||||
-
|
||||
#configure the config file for the install
|
||||
set(CONF_INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/../../../include")
|
||||
configure_file(${PROJECT_SOURCE_DIR}/soplex-config.cmake.in
|
||||
@@ -267,7 +283,6 @@ configure_file(${PROJECT_SOURCE_DIR}/soplex-config.cmake.in
|
||||
|
||||
# install the targets of the soplex export group and the config file so that other projects
|
||||
# can link easily against soplex
|
||||
-install(EXPORT soplex-targets FILE soplex-targets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/soplex)
|
||||
install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/soplex-config.cmake"
|
||||
${CMAKE_BINARY_DIR}/soplex-config-version.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/soplex)
|
||||
Reference in New Issue
Block a user