deps: bump scip to v9.2.1
* use libscip shared library * enable soplex
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -259,33 +259,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 {
|
||||
@@ -139,15 +148,27 @@ digraph CMake {
|
||||
}
|
||||
|
||||
subgraph clusterSCIPSolver {
|
||||
subgraph clusterSoplex {
|
||||
SPX [label="libsoplex-pic"];
|
||||
|
||||
color=royalblue;
|
||||
label = "scipopt/soplex.git";
|
||||
}
|
||||
|
||||
subgraph clusterSCIP {
|
||||
SCIP [label="scip::scip"];
|
||||
SCIP [label="SCIP::libscip"];
|
||||
|
||||
color=royalblue;
|
||||
label = "scipopt/scip.git";
|
||||
}
|
||||
|
||||
SPX -> SCIP;
|
||||
|
||||
color=royalblue;
|
||||
label = "SCIP Solver\n(-DUSE_SCIP=ON)";
|
||||
}
|
||||
ZLIB -> SPX;
|
||||
ZLIB -> SCIP;
|
||||
|
||||
SWIG_WIN [label="swigwin\n(Windows)", color=chocolate];
|
||||
|
||||
@@ -176,6 +197,7 @@ digraph CMake {
|
||||
ZLIB -> OR_SRC;
|
||||
Absl -> OR_SRC;
|
||||
Protobuf -> OR_SRC;
|
||||
Re2 -> OR_SRC;
|
||||
ClpSolver -> OR_SRC;
|
||||
CbcSolver -> OR_SRC;
|
||||
GLPK -> OR_SRC;
|
||||
@@ -228,7 +250,7 @@ digraph CMake {
|
||||
OR_SRC -> OR_WJAVA [label="swig", color=chocolate];
|
||||
OR_SRC -> OR_JAVA [label="swig", color=chocolate];
|
||||
OR_WJAVA -> OR_JAVA;
|
||||
OR_JAVA -> PKG_JAVA [label="maven (WIP)", style="dotted", color=crimson];
|
||||
OR_JAVA -> PKG_JAVA [label="maven", color=crimson];
|
||||
|
||||
color=crimson;
|
||||
label = "Java\n(-DBUILD_JAVA=ON)";
|
||||
|
||||
@@ -135,12 +135,20 @@ digraph CMakeDeps {
|
||||
}
|
||||
|
||||
subgraph clusterSCIPSolver {
|
||||
subgraph clusterSoplex {
|
||||
SPX [label="libsoplex"];
|
||||
|
||||
color=royalblue;
|
||||
label = "scipopt/soplex.git";
|
||||
}
|
||||
subgraph clusterSCIP {
|
||||
SCIP [label="scip::scip"];
|
||||
SCIP [label="SCIP::libscip"];
|
||||
|
||||
color=royalblue;
|
||||
label = "scipopt/scip.git";
|
||||
}
|
||||
SPX -> SCIP;
|
||||
|
||||
color=royalblue;
|
||||
label = "-DUSE_SCIP=ON AND -DBUILD_SCIP=ON";
|
||||
}
|
||||
@@ -148,7 +156,11 @@ digraph CMakeDeps {
|
||||
// inter deps
|
||||
ZLIB -> Protobuf;
|
||||
ZLIB -> Cbc;
|
||||
ZLIB -> SPX;
|
||||
ZLIB -> SCIP;
|
||||
Absl -> Re2;
|
||||
Absl -> Protobuf;
|
||||
Re2 -> Protobuf;
|
||||
}
|
||||
@enddot
|
||||
# vim tw:0
|
||||
|
||||
@@ -395,6 +395,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}>")
|
||||
|
||||
@@ -298,6 +298,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}>")
|
||||
@@ -441,8 +444,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()
|
||||
|
||||
@@ -454,6 +454,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}>")
|
||||
@@ -597,8 +600,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
|
||||
|
||||
Reference in New Issue
Block a user