deps: Bump SCIP 7.0.1 -> v800
This commit is contained in:
@@ -5,4 +5,4 @@ Cgl=0.60.3
|
||||
Clp=1.17.4
|
||||
Osi=0.108.6
|
||||
CoinUtils=2.11.4
|
||||
Scip=master
|
||||
Scip=v800
|
||||
|
||||
@@ -87,6 +87,6 @@ new_git_repository(
|
||||
name = "scip",
|
||||
build_file = "//bazel:scip.BUILD",
|
||||
patches = ["//bazel:scip.patch"],
|
||||
commit = "6acb7222e1b871041445bee75fc05bd1bcaed089", # master from Jul 19, 2021
|
||||
tag = "v800",
|
||||
remote = "https://github.com/scipopt/scip.git",
|
||||
)
|
||||
|
||||
@@ -64,16 +64,16 @@ cc_library(
|
||||
],
|
||||
exclude = [
|
||||
"src/lpi/lpi_*.c",
|
||||
"src/nlpi/exprinterpret_*.c",
|
||||
"src/nlpi/nlpi_filtersqp.c",
|
||||
"src/nlpi/nlpi_worhp.c",
|
||||
"src/scip/exprinterpret_*.c",
|
||||
"src/scip/nlpi_filtersqp.c",
|
||||
"src/scip/nlpi_worhp.c",
|
||||
"src/scip/compr_xyz.c",
|
||||
"src/scip/sorttpl.c",
|
||||
"src/symmetry/compute_symmetry_*.cpp",
|
||||
"src/tpi/tpi_*.c",
|
||||
],
|
||||
) + BLISS_FILE + [
|
||||
"src/nlpi/exprinterpret_none.c",
|
||||
"src/scip/exprinterpret_none.c",
|
||||
"src/tpi/tpi_tnycthrd.c",
|
||||
],
|
||||
hdrs = glob(
|
||||
@@ -102,7 +102,7 @@ cc_library(
|
||||
"-Isrc/scip",
|
||||
] + PLATFORM_FLAGS,
|
||||
defines = [
|
||||
# Scip 7.0.1 optionally depends on scip/config.h and
|
||||
# Scip v800 optionally depends on scip/config.h and
|
||||
# scip/scip_export.h that are generated by build system.
|
||||
#
|
||||
# We need every library and binary that depends on SCIP libraries to
|
||||
|
||||
210
bazel/scip.patch
210
bazel/scip.patch
@@ -1,54 +1,5 @@
|
||||
diff --git a/src/scip/buildflags.c b/src/scip/buildflags.c
|
||||
index 4fbbc0e3b..3dc550347 100644
|
||||
--- src/scip/buildflags.c
|
||||
+++ src/scip/buildflags.c
|
||||
@@ -0,0 +1,2 @@
|
||||
+#define SCIP_BUILDFLAGS " ARCH=x86_64\n COMP=gnu\n DEBUGSOL=false\n EXPRINT=none\n GAMS=false\n SYM=bliss\n GMP=false\n IPOPT=false\n IPOPTOPT=opt\n WORHP=false\n WORHPOPT=opt\n LPS=spx2\n LPSCHECK=false\n LPSOPT=opt\n NOBLKBUFMEM=false\n NOBLKMEM=false\n NOBUFMEM=false\n OPT=opt\n OSTYPE=linux\n PARASCIP=true\n READLINE=false\n SANITIZE=\n SHARED=false\n USRARFLAGS=\n USRCFLAGS=-fPIC\n USRCXXFLAGS=-fPIC\n USRDFLAGS=\n USRFLAGS=\n USRLDFLAGS=\n USROFLAGS=\n VERSION=7.0.1\n ZIMPL=false\n ZIMPLOPT=opt\n ZLIB=true"
|
||||
+
|
||||
diff --git a/src/scip/githash.c b/src/scip/githash.c
|
||||
new file mode 100644
|
||||
index 000000000..660dc1976
|
||||
--- /dev/null
|
||||
+++ src/scip/githash.c
|
||||
@@ -0,0 +1 @@
|
||||
+#define SCIP_GITHASH "b41d526acf"
|
||||
diff --git a/src/symmetry/compute_symmetry_bliss.cpp b/src/symmetry/compute_symmetry_bliss.cpp
|
||||
index db734cb18..2fda08fd4 100644
|
||||
--- src/symmetry/compute_symmetry_bliss.cpp
|
||||
+++ src/symmetry/compute_symmetry_bliss.cpp
|
||||
@@ -24,8 +24,8 @@
|
||||
#include "compute_symmetry.h"
|
||||
|
||||
/* include bliss graph */
|
||||
-#include <bliss/defs.hh>
|
||||
-#include <bliss/graph.hh>
|
||||
+#include <bliss-0.73/defs.hh>
|
||||
+#include <bliss-0.73/graph.hh>
|
||||
|
||||
#include <vector>
|
||||
#include <list>
|
||||
|
||||
diff --git a/src/nlpi/nlpi_xyz.c b/src/nlpi/nlpi_xyz.c
|
||||
index c66511862a..3058216088 100644
|
||||
--- src/nlpi/nlpi_xyz.c
|
||||
+++ src/nlpi/nlpi_xyz.c
|
||||
@@ -43,12 +43,14 @@
|
||||
|
||||
struct SCIP_NlpiData
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
/* TODO: fill in the necessary NLP problem instance data */
|
||||
|
||||
struct SCIP_NlpiProblem
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/src/scip/benders_xyz.c b/src/scip/benders_xyz.c
|
||||
index b3a2b710f0..e3e8397ff5 100644
|
||||
index 0d812ba6bd..ae9167c260 100644
|
||||
--- src/scip/benders_xyz.c
|
||||
+++ src/scip/benders_xyz.c
|
||||
@@ -47,6 +47,7 @@
|
||||
@@ -57,10 +8,10 @@ index b3a2b710f0..e3e8397ff5 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/benderscut_xyz.c b/src/scip/benderscut_xyz.c
|
||||
index 394685e225..0c08fe8b84 100644
|
||||
index 0f05582fe4..b07bd19a1f 100644
|
||||
--- src/scip/benderscut_xyz.c
|
||||
+++ src/scip/benderscut_xyz.c
|
||||
@@ -41,6 +41,7 @@
|
||||
@@ -69,10 +20,10 @@ index 394685e225..0c08fe8b84 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/branch_xyz.c b/src/scip/branch_xyz.c
|
||||
index a5e7f0f9a2..4970df6cce 100644
|
||||
index 1f13ac7460..f31d85dc9a 100644
|
||||
--- src/scip/branch_xyz.c
|
||||
+++ src/scip/branch_xyz.c
|
||||
@@ -42,6 +42,7 @@
|
||||
@@ -81,10 +32,10 @@ index a5e7f0f9a2..4970df6cce 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/cons_xyz.c b/src/scip/cons_xyz.c
|
||||
index af256c5485..7fe813a22d 100644
|
||||
index 8141039a2e..ca3df9dbce 100644
|
||||
--- src/scip/cons_xyz.c
|
||||
+++ src/scip/cons_xyz.c
|
||||
@@ -69,11 +69,13 @@
|
||||
@@ -93,16 +44,16 @@ index af256c5485..7fe813a22d 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
/** constraint handler data */
|
||||
struct SCIP_ConshdlrData
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/dialog_xyz.c b/src/scip/dialog_xyz.c
|
||||
index f00d44d9ea..3aee42b2dd 100644
|
||||
index 1918057017..bc688b00fa 100644
|
||||
--- src/scip/dialog_xyz.c
|
||||
+++ src/scip/dialog_xyz.c
|
||||
@@ -42,6 +42,7 @@
|
||||
@@ -111,10 +62,10 @@ index f00d44d9ea..3aee42b2dd 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/disp_xyz.c b/src/scip/disp_xyz.c
|
||||
index 073f192aa6..fa0e7e970c 100644
|
||||
index 6c6a776091..55cb57e666 100644
|
||||
--- src/scip/disp_xyz.c
|
||||
+++ src/scip/disp_xyz.c
|
||||
@@ -47,6 +47,7 @@
|
||||
@@ -123,10 +74,10 @@ index 073f192aa6..fa0e7e970c 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/event_xyz.c b/src/scip/event_xyz.c
|
||||
index 04cade95d8..58ad82f06b 100644
|
||||
index 31fd333f98..d311cfa672 100644
|
||||
--- src/scip/event_xyz.c
|
||||
+++ src/scip/event_xyz.c
|
||||
@@ -36,6 +36,7 @@
|
||||
@@ -135,10 +86,10 @@ index 04cade95d8..58ad82f06b 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
diff --git a/src/scip/heur_xyz.c b/src/scip/heur_xyz.c
|
||||
index 8bc7c4f953..c45035611f 100644
|
||||
diff --git a/src/scip/heur_xyz.c b/src/scip/heur_xyz.c
|
||||
index 9f7d804f4d..4a254ee55f 100644
|
||||
--- src/scip/heur_xyz.c
|
||||
+++ src/scip/heur_xyz.c
|
||||
@@ -46,6 +46,7 @@
|
||||
@@ -147,10 +98,10 @@ index 8bc7c4f953..c45035611f 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/nodesel_xyz.c b/src/scip/nodesel_xyz.c
|
||||
index a5139e5f9a..4009fe7793 100644
|
||||
index a5b6d9d7d6..ae9eaf4fef 100644
|
||||
--- src/scip/nodesel_xyz.c
|
||||
+++ src/scip/nodesel_xyz.c
|
||||
@@ -41,6 +41,7 @@
|
||||
@@ -159,22 +110,10 @@ index a5139e5f9a..4009fe7793 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/src/scip/pricer_xyz.c b/src/scip/pricer_xyz.c
|
||||
index c3bbbff655..5bc6ca4795 100644
|
||||
--- src/scip/pricer_xyz.c
|
||||
+++ src/scip/pricer_xyz.c
|
||||
@@ -43,6 +43,7 @@
|
||||
/** variable pricer data */
|
||||
struct SCIP_PricerData
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/presol_xyz.c b/src/scip/presol_xyz.c
|
||||
index 84ce50bb08..49d6e8f368 100644
|
||||
index 38ba9df72e..00cc6c6570 100644
|
||||
--- src/scip/presol_xyz.c
|
||||
+++ src/scip/presol_xyz.c
|
||||
@@ -42,6 +42,7 @@
|
||||
@@ -183,10 +122,22 @@ index 84ce50bb08..49d6e8f368 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/pricer_xyz.c b/src/scip/pricer_xyz.c
|
||||
index 16c968b951..fe73877d9c 100644
|
||||
--- src/scip/pricer_xyz.c
|
||||
+++ src/scip/pricer_xyz.c
|
||||
@@ -43,6 +43,7 @@
|
||||
/** variable pricer data */
|
||||
struct SCIP_PricerData
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/src/scip/prop_xyz.c b/src/scip/prop_xyz.c
|
||||
index d07b374fc3..5313a5643f 100644
|
||||
index 431d8e909b..f10cc5349f 100644
|
||||
--- src/scip/prop_xyz.c
|
||||
+++ src/scip/prop_xyz.c
|
||||
@@ -50,6 +50,7 @@
|
||||
@@ -195,10 +146,10 @@ index d07b374fc3..5313a5643f 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/reader_xyz.c b/src/scip/reader_xyz.c
|
||||
index 45720677ed..8cf3799639 100644
|
||||
index 08e5a6ff7b..7287f0827b 100644
|
||||
--- src/scip/reader_xyz.c
|
||||
+++ src/scip/reader_xyz.c
|
||||
@@ -40,6 +40,7 @@
|
||||
@@ -207,10 +158,10 @@ index 45720677ed..8cf3799639 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/relax_xyz.c b/src/scip/relax_xyz.c
|
||||
index 30b0999de4..afdbe5b076 100644
|
||||
index 4d4acc80b3..8f62fca710 100644
|
||||
--- src/scip/relax_xyz.c
|
||||
+++ src/scip/relax_xyz.c
|
||||
@@ -43,6 +43,7 @@
|
||||
@@ -219,10 +170,27 @@ index 30b0999de4..afdbe5b076 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/scip/scipbuildflags.c b/src/scip/scipbuildflags.c
|
||||
index b54b9112cb..2cc0d83bda 100644
|
||||
--- src/scip/scipbuildflags.c
|
||||
+++ src/scip/scipbuildflags.c
|
||||
@@ -21,10 +21,9 @@
|
||||
|
||||
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
|
||||
|
||||
+#define SCIP_BUILDFLAGS " ARCH=x86_64\n COMP=gnu\n DEBUGSOL=false\n EXPRINT=none\n GAMS=false\n SYM=bliss\n GMP=false\n IPOPT=false\n IPOPTOPT=opt\n WORHP=false\n WORHPOPT=opt\n LPS=spx2\n LPSCHECK=false\n LPSOPT=opt\n NOBLKBUFMEM=false\n NOBLKMEM=false\n NOBUFMEM=false\n OPT=opt\n OSTYPE=linux\n PARASCIP=true\n READLINE=false\n SANITIZE=\n SHARED=false\n USRARFLAGS=\n USRCFLAGS=-fPIC\n USRCXXFLAGS=-fPIC\n USRDFLAGS=\n USRFLAGS=\n USRLDFLAGS=\n USROFLAGS=\n VERSION=7.0.1\n ZIMPL=false\n ZIMPLOPT=opt\n ZLIB=true"
|
||||
+
|
||||
#include "scip/scipbuildflags.h"
|
||||
-#ifdef NO_CONFIG_HEADER
|
||||
-#include "buildflags.c"
|
||||
-#endif
|
||||
|
||||
/** returns the flags that were used to build SCIP */
|
||||
const char* SCIPgetBuildFlags(
|
||||
diff --git a/src/scip/sepa_xyz.c b/src/scip/sepa_xyz.c
|
||||
index 930ee78b3d..b25fed4dd7 100644
|
||||
index 40d3c1c5f7..4b069b6c71 100644
|
||||
--- src/scip/sepa_xyz.c
|
||||
+++ src/scip/sepa_xyz.c
|
||||
@@ -44,6 +44,7 @@
|
||||
@@ -231,17 +199,27 @@ index 930ee78b3d..b25fed4dd7 100644
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/src/scip/table_xyz.c b/src/scip/table_xyz.c
|
||||
index 5d479de8a4..61e1307d0d 100644
|
||||
--- src/scip/table_xyz.c
|
||||
+++ src/scip/table_xyz.c
|
||||
@@ -43,6 +43,7 @@
|
||||
/** statistics table data */
|
||||
struct SCIP_TableData
|
||||
{
|
||||
+ void* ptr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
diff --git a/src/symmetry/compute_symmetry_bliss.cpp b/src/symmetry/compute_symmetry_bliss.cpp
|
||||
index 484627c4b9..27c2895165 100644
|
||||
--- src/symmetry/compute_symmetry_bliss.cpp
|
||||
+++ src/symmetry/compute_symmetry_bliss.cpp
|
||||
@@ -25,8 +25,8 @@
|
||||
#include "compute_symmetry.h"
|
||||
|
||||
/* include bliss graph */
|
||||
-#include <bliss/defs.hh>
|
||||
-#include <bliss/graph.hh>
|
||||
+#include <bliss-0.73/defs.hh>
|
||||
+#include <bliss-0.73/graph.hh>
|
||||
|
||||
#include <string.h>
|
||||
#include <vector>
|
||||
diff --git a/src/scip/githash.c b/src/scip/githash.c
|
||||
new file mode 100644
|
||||
index 0000000000..2891bc72de
|
||||
--- /dev/null
|
||||
+++ src/scip/githash.c
|
||||
@@ -0,0 +1 @@
|
||||
+#define SCIP_GITHASH "a740f0891e"
|
||||
|
||||
@@ -143,8 +143,8 @@ if(BUILD_SCIP)
|
||||
set(SYM "none" CACHE STRING "Scip param")
|
||||
FetchContent_Declare(
|
||||
scip
|
||||
GIT_REPOSITORY https://github.com/scipopt/scip.git
|
||||
GIT_TAG master
|
||||
GIT_REPOSITORY "https://github.com/scipopt/scip.git"
|
||||
GIT_TAG "v800"
|
||||
)
|
||||
FetchContent_MakeAvailable(scip)
|
||||
set(LPI_GLOP_SRC ${scip_SOURCE_DIR}/src/lpi/lpi_glop.cpp PARENT_SCOPE)
|
||||
|
||||
3
dependencies/archives/BUILD.bazel
vendored
3
dependencies/archives/BUILD.bazel
vendored
@@ -1,3 +1,2 @@
|
||||
exports_files([
|
||||
"scip-7.0.1.tgz",
|
||||
])
|
||||
])
|
||||
|
||||
BIN
dependencies/archives/scip-7.0.1.tgz
vendored
BIN
dependencies/archives/scip-7.0.1.tgz
vendored
Binary file not shown.
@@ -703,7 +703,7 @@ ifeq ($(USE_SCIP),ON)
|
||||
ifeq ($(WINDOWS_SCIP_DIR),$(OR_TOOLS_TOP)/dependencies/install)
|
||||
-$(MKDIR) "$(DESTDIR)$(prefix)$Sinclude$Sscip"
|
||||
$(COPYREC) /E /Y dependencies$Sinstall$Sinclude$Sscip "$(DESTDIR)$(prefix)$Sinclude$Sscip"
|
||||
$(COPY) dependencies$Ssources$Sscip-7.0.1$Sapplications$SPolySCIP$SLICENCE "$(DESTDIR)$(prefix)$Sshare$Sscip_license.txt"
|
||||
$(COPY) dependencies$Ssources$Sscip-v800$Sapplications$SPolySCIP$SLICENCE "$(DESTDIR)$(prefix)$Sshare$Sscip_license.txt"
|
||||
endif
|
||||
endif # USE_SCIP
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ CLP_TAG = 1.17.4
|
||||
OSI_TAG = 0.108.6
|
||||
COINUTILS_TAG = 2.11.4
|
||||
PATCHELF_TAG = 0.10
|
||||
SCIP_TAG = master
|
||||
SCIP_TAG = v800
|
||||
|
||||
# Main target.
|
||||
.PHONY: third_party # Build OR-Tools Prerequisite
|
||||
|
||||
@@ -46,7 +46,7 @@ CLP_TAG = 1.17.4
|
||||
OSI_TAG = 0.108.6
|
||||
COINUTILS_TAG = 2.11.4
|
||||
SWIG_TAG = 4.0.2
|
||||
SCIP_TAG = master
|
||||
SCIP_TAG = v800
|
||||
|
||||
# Added in support of clean third party targets
|
||||
TSVNCACHE_EXE = TSVNCache.exe
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// limitations under the License.
|
||||
|
||||
// Provides a safe C++ interface for SCIP event handlers, which are described at
|
||||
// https://www.scipopt.org/doc-7.0.1/html/EVENT.php.
|
||||
// https://www.scipopt.org/doc/html/EVENT.php.
|
||||
#ifndef OR_TOOLS_GSCIP_GSCIP_EVENT_HANDLER_H_
|
||||
#define OR_TOOLS_GSCIP_GSCIP_EVENT_HANDLER_H_
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace operations_research {
|
||||
struct GScipEventHandlerDescription {
|
||||
// For the first two members below, the SCIP constraint handler
|
||||
// property name is provided. See
|
||||
// https://www.scipopt.org/doc-7.0.1/html/EVENT.php#EVENTHDLR_PROPERTIES for
|
||||
// https://www.scipopt.org/doc/html/EVENT.php#EVENTHDLR_PROPERTIES for
|
||||
// details.
|
||||
|
||||
// See CONSHDLR_NAME in SCIP documentation above.
|
||||
|
||||
@@ -880,7 +880,7 @@ absl::StatusOr<MPSolutionResponse> ScipSolveProto(
|
||||
return variable_value;
|
||||
};
|
||||
|
||||
// NOTE(user): As of SCIP 7.0.1, getting the pointer to all
|
||||
// NOTE(user): As of SCIP 8.0.0, getting the pointer to all
|
||||
// solutions is as fast as getting the pointer to the best solution.
|
||||
SCIP_SOL** const scip_solutions = SCIPgetSols(scip);
|
||||
response.set_objective_value(SCIPgetSolOrigObj(scip, scip_solutions[0]));
|
||||
|
||||
@@ -1,700 +0,0 @@
|
||||
diff --color -ru /tmp/scip-7.0.1/CMakeLists.txt ./CMakeLists.txt
|
||||
--- /tmp/scip-7.0.1/CMakeLists.txt 2020-06-23 10:40:49.000000000 +0200
|
||||
+++ ./CMakeLists.txt 2020-10-23 01:04:58.377410527 +0200
|
||||
@@ -1,5 +1,15 @@
|
||||
cmake_minimum_required(VERSION 3.3)
|
||||
|
||||
+# option() honors normal variables.
|
||||
+if(POLICY CMP0077)
|
||||
+ cmake_policy(SET CMP0077 NEW)
|
||||
+endif()
|
||||
+
|
||||
+# MSVC runtime library flags are selected by an abstraction.
|
||||
+if(POLICY CMP0091)
|
||||
+ cmake_policy(SET CMP0091 NEW)
|
||||
+endif()
|
||||
+
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_DEBUG} ${CMAKE_C_FLAGS_RELEASE}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
|
||||
@@ -88,6 +98,7 @@
|
||||
SET(COVERAGE_CTEST_ARGS "" CACHE STRING "additional ctest arguments for coverage")
|
||||
option(MT "use static runtime libraries for Visual Studio compiler" OFF)
|
||||
option(CXXONLY "use a c++ compiler for all source files" OFF)
|
||||
+option(AMPL "Enable AMPL support" OFF)
|
||||
|
||||
set(TPI none CACHE STRING "options for thread support library") #create the variable
|
||||
set_property(CACHE TPI PROPERTY STRINGS none tny omp) #define list of values GUI will offer for the variable
|
||||
@@ -185,7 +196,7 @@
|
||||
set(NEWLINE "\\\\n")
|
||||
|
||||
# create a target for updating the current git hash
|
||||
-file(WRITE ${CMAKE_BINARY_DIR}/scip_update_githash.cmake "
|
||||
+file(WRITE ${PROJECT_BINARY_DIR}/scip_update_githash.cmake "
|
||||
find_program(GIT git)
|
||||
if(EXISTS \${DST})
|
||||
file(STRINGS \${DST} GITHASH_OLD)
|
||||
@@ -206,8 +217,9 @@
|
||||
message(STATUS \"Git hash: \" \${GITHASH})
|
||||
")
|
||||
add_custom_target(scip_update_githash
|
||||
- COMMAND ${CMAKE_COMMAND} -DDST=${PROJECT_SOURCE_DIR}/src/scip/githash.c
|
||||
- -P ${CMAKE_BINARY_DIR}/scip_update_githash.cmake)
|
||||
+ COMMAND ${CMAKE_COMMAND}
|
||||
+ -DDST=${PROJECT_SOURCE_DIR}/src/scip/githash.c
|
||||
+ -P ${PROJECT_BINARY_DIR}/scip_update_githash.cmake)
|
||||
|
||||
set(WITH_SCIPDEF on)
|
||||
|
||||
@@ -221,161 +233,200 @@
|
||||
|
||||
# ZLIB
|
||||
if(ZLIB)
|
||||
- find_package(ZLIB)
|
||||
-endif()
|
||||
-if(ZLIB_FOUND)
|
||||
- include_directories(${ZLIB_INCLUDE_DIRS})
|
||||
- set(SCIP_WITH_ZLIB on)
|
||||
+ message(STATUS "Finding ZLIB")
|
||||
+ if(NOT TARGET ZLIB::ZLIB)
|
||||
+ find_package(ZLIB REQUIRED)
|
||||
+ endif()
|
||||
+ message(STATUS "Finding ZLIB - found")
|
||||
+ set(SCIP_WITH_ZLIB ON)
|
||||
else()
|
||||
- set(ZLIB_LIBRARIES "")
|
||||
+ message(STATUS "Support ZLIB: OFF")
|
||||
+ set(SCIP_WITH_ZLIB OFF)
|
||||
endif()
|
||||
|
||||
# Readline
|
||||
if(READLINE)
|
||||
- find_package(Readline)
|
||||
-endif()
|
||||
-if(READLINE_FOUND)
|
||||
- include_directories(${Readline_INCLUDE_DIRS})
|
||||
- set(SCIP_WITH_READLINE on)
|
||||
-else()
|
||||
- set(Readline_LIBRARY "")
|
||||
+ message(STATUS "Finding Readline")
|
||||
+ find_package(Readline REQUIRED)
|
||||
+ message(STATUS "Finding Readline - found")
|
||||
+ include_directories(${Readline_INCLUDE_DIRS})
|
||||
+ set(SCIP_WITH_READLINE ON)
|
||||
+else()
|
||||
+ message(STATUS "Support Readline: OFF")
|
||||
+ set(Readline_LIBRARY "")
|
||||
+ set(SCIP_WITH_READLINE OFF)
|
||||
endif()
|
||||
|
||||
# GMP
|
||||
if(GMP)
|
||||
- find_package(GMP)
|
||||
-endif()
|
||||
-if(GMP_FOUND)
|
||||
- include_directories(${GMP_INCLUDE_DIRS})
|
||||
- set(SCIP_WITH_GMP on)
|
||||
-else()
|
||||
- set(GMP_LIBRARIES "")
|
||||
+ message(STATUS "Finding GMP")
|
||||
+ find_package(GMP REQUIRED)
|
||||
+ message(STATUS "Finding GMP - found")
|
||||
+ include_directories(${GMP_INCLUDE_DIRS})
|
||||
+ set(SCIP_WITH_GMP ON)
|
||||
+else()
|
||||
+ message(STATUS "Support GMP: OFF")
|
||||
+ set(GMP_LIBRARIES "")
|
||||
+ set(SCIP_WITH_GMP OFF)
|
||||
endif()
|
||||
|
||||
# look for presolvelib
|
||||
if(PAPILO)
|
||||
- find_package(PAPILO CONFIG)
|
||||
-endif()
|
||||
-if(PAPILO_FOUND)
|
||||
- set(SCIP_WITH_PAPILO on)
|
||||
-else()
|
||||
- set(PAPILO_IMPORTED_TARGETS "")
|
||||
+ message(STATUS "Finding PAPILO")
|
||||
+ find_package(PAPILO CONFIG REQUIRED)
|
||||
+ message(STATUS "Finding PAPILO - found")
|
||||
+ set(SCIP_WITH_PAPILO ON)
|
||||
+else()
|
||||
+ message(STATUS "Support PAPILO: OFF")
|
||||
+ set(PAPILO_IMPORTED_TARGETS "")
|
||||
+ set(SCIP_WITH_PAPILO OFF)
|
||||
endif()
|
||||
|
||||
#search the selected LP solver library
|
||||
+message(STATUS "Finding Solver \"${LPS}\"")
|
||||
if(LPS STREQUAL "spx")
|
||||
- find_package(SOPLEX REQUIRED CONFIG)
|
||||
- if(LPSCHECK)
|
||||
- find_package(CPLEX REQUIRED)
|
||||
- set(SCIP_WITH_LPSCHECK on)
|
||||
- endif()
|
||||
-elseif(LPS STREQUAL "cpx")
|
||||
+ message(STATUS "Finding Soplex")
|
||||
+ find_package(SOPLEX REQUIRED CONFIG)
|
||||
+ if(LPSCHECK)
|
||||
find_package(CPLEX REQUIRED)
|
||||
+ set(SCIP_WITH_LPSCHECK on)
|
||||
+ endif()
|
||||
+elseif(LPS STREQUAL "cpx")
|
||||
+ find_package(CPLEX REQUIRED)
|
||||
elseif(LPS STREQUAL "glop")
|
||||
- find_package(GLOP REQUIRED)
|
||||
+ find_package(GLOP REQUIRED)
|
||||
elseif(LPS STREQUAL "grb")
|
||||
- find_package(GUROBI REQUIRED)
|
||||
+ find_package(GUROBI REQUIRED)
|
||||
elseif(LPS STREQUAL "qso")
|
||||
- find_package(QSO REQUIRED)
|
||||
- set(BUILD_SHARED_LIBS off)
|
||||
- message(STATUS "Turning off shared libraries.")
|
||||
+ find_package(QSO REQUIRED)
|
||||
+ set(BUILD_SHARED_LIBS off)
|
||||
+ message(STATUS "Turning off shared libraries.")
|
||||
elseif(LPS STREQUAL "clp")
|
||||
- find_package(CLP REQUIRED)
|
||||
+ find_package(CLP REQUIRED)
|
||||
elseif(LPS STREQUAL "xprs")
|
||||
- find_package(XPRESS REQUIRED)
|
||||
+ find_package(XPRESS REQUIRED)
|
||||
elseif(LPS STREQUAL "msk")
|
||||
- find_package(MOSEK REQUIRED)
|
||||
+ find_package(MOSEK REQUIRED)
|
||||
elseif(LPS STREQUAL "none")
|
||||
- set(lpi lpi/lpi_none.c)
|
||||
+ set(lpi lpi/lpi_none.c)
|
||||
else()
|
||||
- message(FATAL_ERROR "option LPS has wrong value")
|
||||
+ message(FATAL_ERROR "option LPS has wrong value")
|
||||
endif()
|
||||
|
||||
#setup the proper lpi file for the selected LP solver
|
||||
if(SOPLEX_FOUND)
|
||||
- # SoPlex headers can be directly included
|
||||
- include_directories(${SOPLEX_INCLUDE_DIRS})
|
||||
- set(LPS_LIBRARIES ${SOPLEX_LIBRARIES})
|
||||
- if(SHARED)
|
||||
- set(LPS_PIC_LIBRARIES ${SOPLEX_PIC_LIBRARIES})
|
||||
- else()
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
- endif()
|
||||
- if(LEGACY)
|
||||
- set(lpi lpi/lpi_spx1.cpp)
|
||||
- else()
|
||||
- set(lpi lpi/lpi_spx2.cpp)
|
||||
- endif()
|
||||
+ message(STATUS "Finding SOPLEX - found")
|
||||
+ # SoPlex headers can be directly included
|
||||
+ include_directories(${SOPLEX_INCLUDE_DIRS})
|
||||
+ set(LPS_LIBRARIES ${SOPLEX_LIBRARIES})
|
||||
+ if(SHARED)
|
||||
+ set(LPS_PIC_LIBRARIES ${SOPLEX_PIC_LIBRARIES})
|
||||
+ else()
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+ endif()
|
||||
+ if(LEGACY)
|
||||
+ set(lpi lpi/lpi_spx1.cpp)
|
||||
+ else()
|
||||
+ set(lpi lpi/lpi_spx2.cpp)
|
||||
+ endif()
|
||||
+else()
|
||||
+ message(STATUS "Support SOPLEX: OFF")
|
||||
endif()
|
||||
|
||||
if(CLP_FOUND)
|
||||
- include_directories(${CLP_INCLUDE_DIRS})
|
||||
- set(lpi lpi/lpi_clp.cpp)
|
||||
- set(LPS_LIBRARIES ${CLP_LIBRARIES})
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+ message(STATUS "Finding CLP - found")
|
||||
+ include_directories(${CLP_INCLUDE_DIRS})
|
||||
+ set(lpi lpi/lpi_clp.cpp)
|
||||
+ set(LPS_LIBRARIES ${CLP_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+else()
|
||||
+ message(STATUS "Support CLP: OFF")
|
||||
endif()
|
||||
|
||||
if(CPLEX_FOUND)
|
||||
- include_directories(${CPLEX_INCLUDE_DIRS})
|
||||
- # only use lpi_cpx.c if LPSCHECK is not enabled
|
||||
- if(LPS STREQUAL "cpx")
|
||||
- set(lpi lpi/lpi_cpx.c)
|
||||
- endif()
|
||||
- set(LPS_LIBRARIES ${LPS_LIBRARIES} ${CPLEX_LIBRARIES})
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_PIC_LIBRARIES} ${LPS_LIBRARIES})
|
||||
+ message(STATUS "Finding CPLEX - found")
|
||||
+ include_directories(${CPLEX_INCLUDE_DIRS})
|
||||
+ # only use lpi_cpx.c if LPSCHECK is not enabled
|
||||
+ if(LPS STREQUAL "cpx")
|
||||
+ set(lpi lpi/lpi_cpx.c)
|
||||
+ endif()
|
||||
+ set(LPS_LIBRARIES ${LPS_LIBRARIES} ${CPLEX_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_PIC_LIBRARIES} ${LPS_LIBRARIES})
|
||||
+else()
|
||||
+ message(STATUS "Support CPLEX: OFF")
|
||||
endif()
|
||||
|
||||
if(GLOP_FOUND)
|
||||
- include_directories(${GLOP_INCLUDE_DIRS})
|
||||
- set(lpi lpi/lpi_glop.cpp)
|
||||
- set(LPS_LIBRARIES ${GLOP_LIBRARIES})
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+ message(STATUS "Finding GLOP - found")
|
||||
+ include_directories(${GLOP_INCLUDE_DIRS})
|
||||
+ set(lpi lpi/lpi_glop.cpp)
|
||||
+ set(LPS_LIBRARIES ${GLOP_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+else()
|
||||
+ message(STATUS "Support GLOP: OFF")
|
||||
endif()
|
||||
|
||||
if(GUROBI_FOUND)
|
||||
- include_directories(${GUROBI_INCLUDE_DIRS})
|
||||
- set(lpi lpi/lpi_grb.c)
|
||||
- set(LPS_LIBRARIES ${GUROBI_LIBRARIES})
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+ message(STATUS "Finding GUROBI - found")
|
||||
+ include_directories(${GUROBI_INCLUDE_DIRS})
|
||||
+ set(lpi lpi/lpi_grb.c)
|
||||
+ set(LPS_LIBRARIES ${GUROBI_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+else()
|
||||
+ message(STATUS "Support GUROBI: OFF")
|
||||
endif()
|
||||
|
||||
if(XPRESS_FOUND)
|
||||
- include_directories(${XPRESS_INCLUDE_DIRS})
|
||||
- set(lpi lpi/lpi_xprs.c)
|
||||
- set(LPS_LIBRARIES ${XPRESS_LIBRARIES})
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+ message(STATUS "Finding XPRESS - found")
|
||||
+ include_directories(${XPRESS_INCLUDE_DIRS})
|
||||
+ set(lpi lpi/lpi_xprs.c)
|
||||
+ set(LPS_LIBRARIES ${XPRESS_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+else()
|
||||
+ message(STATUS "Support XPRESS: OFF")
|
||||
endif()
|
||||
|
||||
if(MOSEK_FOUND)
|
||||
- include_directories(${MOSEK_INCLUDE_DIRS})
|
||||
- set(lpi lpi/lpi_msk.c)
|
||||
- set(LPS_LIBRARIES ${MOSEK_LIBRARIES})
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+ message(STATUS "Finding MOSEK - found")
|
||||
+ include_directories(${MOSEK_INCLUDE_DIRS})
|
||||
+ set(lpi lpi/lpi_msk.c)
|
||||
+ set(LPS_LIBRARIES ${MOSEK_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+else()
|
||||
+ message(STATUS "Support MOSEK: OFF")
|
||||
endif()
|
||||
|
||||
if(QSO_FOUND)
|
||||
- include_directories(${QSO_INCLUDE_DIRS})
|
||||
- set(lpi lpi/lpi_qso.c)
|
||||
- set(LPS_LIBRARIES ${QSO_LIBRARIES})
|
||||
- set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+ message(STATUS "Finding QSO - found")
|
||||
+ include_directories(${QSO_INCLUDE_DIRS})
|
||||
+ set(lpi lpi/lpi_qso.c)
|
||||
+ set(LPS_LIBRARIES ${QSO_LIBRARIES})
|
||||
+ set(LPS_PIC_LIBRARIES ${LPS_LIBRARIES})
|
||||
+else()
|
||||
+ message(STATUS "Support QSO: OFF")
|
||||
endif()
|
||||
|
||||
#search the selected symmetry computation program
|
||||
+message(STATUS "Finding symmetry computation program \"${SYM}\"")
|
||||
if(SYM STREQUAL "bliss")
|
||||
- find_package(BLISS)
|
||||
- if(BLISS_FOUND)
|
||||
- include_directories(${BLISS_INCLUDE_DIRS})
|
||||
- set(sym symmetry/compute_symmetry_bliss.cpp)
|
||||
- set(SYM_LIBRARIES ${BLISS_LIBRARIES})
|
||||
- set(SYM_PIC_LIBRARIES ${BLISS_LIBRARIES})
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${BLISS_DEFINITIONS}")
|
||||
- else()
|
||||
- set(sym symmetry/compute_symmetry_none.cpp)
|
||||
- endif()
|
||||
-elseif(SYM STREQUAL "none")
|
||||
+ message(STATUS "Finding BLISS")
|
||||
+ find_package(BLISS)
|
||||
+ if(BLISS_FOUND)
|
||||
+ message(STATUS "Finding BLISS - found")
|
||||
+ include_directories(${BLISS_INCLUDE_DIRS})
|
||||
+ set(sym symmetry/compute_symmetry_bliss.cpp)
|
||||
+ set(SYM_LIBRARIES ${BLISS_LIBRARIES})
|
||||
+ set(SYM_PIC_LIBRARIES ${BLISS_LIBRARIES})
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${BLISS_DEFINITIONS}")
|
||||
+ else()
|
||||
+ message(STATUS "Finding BLISS - not found")
|
||||
set(sym symmetry/compute_symmetry_none.cpp)
|
||||
+ endif()
|
||||
+elseif(SYM STREQUAL "none")
|
||||
+ message(STATUS "Support SYM: OFF")
|
||||
+ set(sym symmetry/compute_symmetry_none.cpp)
|
||||
else()
|
||||
- message(FATAL_ERROR "option SYM has wrong value")
|
||||
+ message(FATAL_ERROR "option SYM has wrong value")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -396,56 +447,62 @@
|
||||
# With a script file, the return code of the tests is simply ignored,
|
||||
# and a coverage report is generated even if some tests fail currently.
|
||||
#
|
||||
- file(WRITE ${CMAKE_BINARY_DIR}/RunCoverage.cmake "execute_process(COMMAND ctest ${CMAKE_CTEST_COMMAND} ${COVERAGE_CTEST_ARGS})")
|
||||
+ file(WRITE ${PROJECT_BINARY_DIR}/RunCoverage.cmake "execute_process(COMMAND ctest ${CMAKE_CTEST_COMMAND} ${COVERAGE_CTEST_ARGS})")
|
||||
|
||||
#
|
||||
# setup the coverage target to execute the RunCoverage script
|
||||
#
|
||||
SETUP_TARGET_FOR_COVERAGE(NAME coverage
|
||||
- EXECUTABLE ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/RunCoverage.cmake
|
||||
+ EXECUTABLE ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/RunCoverage.cmake
|
||||
DEPENDENCIES all_executables
|
||||
)
|
||||
+else()
|
||||
+ message(STATUS "CodeCoverage: OFF")
|
||||
endif()
|
||||
|
||||
# ZIMPL headers need to be copied to have the "zimpl/*.h" prefix
|
||||
if(ZIMPL)
|
||||
- find_package(ZIMPL CONFIG)
|
||||
-endif()
|
||||
-if(ZIMPL_FOUND)
|
||||
- set(SCIP_WITH_ZIMPL on)
|
||||
- include_directories(${ZIMPL_INCLUDE_DIRS})
|
||||
- if(NOT SHARED)
|
||||
- set(ZIMPL_PIC_LIBRARIES ${ZIMPL_LIBRARIES})
|
||||
- endif()
|
||||
-else()
|
||||
- set(ZIMPL_LIBRARIES "")
|
||||
- set(ZIMPL_PIC_LIBRARIES "")
|
||||
+ message(STATUS "Finding ZIMPL")
|
||||
+ find_package(ZIMPL CONFIG REQUIRED)
|
||||
+ message(STATUS "Finding ZIMPL - found")
|
||||
+ set(SCIP_WITH_ZIMPL ON)
|
||||
+ include_directories(${ZIMPL_INCLUDE_DIRS})
|
||||
+ if(NOT SHARED)
|
||||
+ set(ZIMPL_PIC_LIBRARIES ${ZIMPL_LIBRARIES})
|
||||
+ endif()
|
||||
+else()
|
||||
+ message(STATUS "Support ZIMPL: OFF")
|
||||
+ set(ZIMPL_LIBRARIES "")
|
||||
+ set(ZIMPL_PIC_LIBRARIES "")
|
||||
+ set(SCIP_WITH_ZIMPL OFF)
|
||||
endif()
|
||||
|
||||
# IPOPT
|
||||
if(IPOPT)
|
||||
- find_package(IPOPT 3.12.0)
|
||||
-endif()
|
||||
-if(IPOPT_FOUND)
|
||||
- include_directories(${IPOPT_INCLUDE_DIRS})
|
||||
- #on debian IPOPT package needs this definition to work
|
||||
- set(HAVE_CSTDDEF on)
|
||||
- set(NLPI_LIBRARIES ${IPOPT_LIBRARIES})
|
||||
- set(nlpi nlpi/nlpi_ipopt.cpp)
|
||||
+ message(STATUS "Finding IPOPT")
|
||||
+ find_package(IPOPT 3.12.0 REQUIRED)
|
||||
+ message(STATUS "Finding IPOPT - found")
|
||||
+ include_directories(${IPOPT_INCLUDE_DIRS})
|
||||
+ #on debian IPOPT package needs this definition to work
|
||||
+ set(HAVE_CSTDDEF on)
|
||||
+ set(NLPI_LIBRARIES ${IPOPT_LIBRARIES})
|
||||
+ set(nlpi nlpi/nlpi_ipopt.cpp)
|
||||
else()
|
||||
- set(nlpi nlpi/nlpi_ipopt_dummy.c)
|
||||
+ message(STATUS "Support IPOPT: OFF")
|
||||
+ set(nlpi nlpi/nlpi_ipopt_dummy.c)
|
||||
endif()
|
||||
|
||||
# WORHP
|
||||
if(WORHP)
|
||||
- find_package(WORHP)
|
||||
-endif()
|
||||
-if(WORHP_FOUND)
|
||||
- include_directories(${WORHP_INCLUDE_DIRS})
|
||||
- set(nlpi ${nlpi} nlpi/nlpi_worhp.c)
|
||||
- set(NLPI_LIBRARIES ${NLPI_LIBRARIES} ${WORHP_LIBRARIES})
|
||||
+ message(STATUS "Finding WORHP")
|
||||
+ find_package(WORHP REQUIRED)
|
||||
+ message(STATUS "Finding WORHP - found")
|
||||
+ include_directories(${WORHP_INCLUDE_DIRS})
|
||||
+ set(nlpi ${nlpi} nlpi/nlpi_worhp.c)
|
||||
+ set(NLPI_LIBRARIES ${NLPI_LIBRARIES} ${WORHP_LIBRARIES})
|
||||
else()
|
||||
- set(nlpi ${nlpi} nlpi/nlpi_worhp_dummy.c)
|
||||
+ message(STATUS "Support WORHP: OFF")
|
||||
+ set(nlpi ${nlpi} nlpi/nlpi_worhp_dummy.c)
|
||||
endif()
|
||||
|
||||
# FilterSQP (with CMake, nlpi_filtersqp doesn't build anyway)
|
||||
@@ -470,56 +527,65 @@
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+message(STATUS "Finding CRITERION")
|
||||
find_package(CRITERION)
|
||||
+if(CRITERION_FOUND)
|
||||
+ message(STATUS "Finding CRITERION - found")
|
||||
+else()
|
||||
+ message(STATUS "Finding CRITERION - not found")
|
||||
+endif()
|
||||
|
||||
# export compilation settings to header file
|
||||
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/scip/config.h.in ${CMAKE_BINARY_DIR}/scip/config.h @ONLY)
|
||||
-include_directories(${CMAKE_BINARY_DIR})
|
||||
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/scip/config.h.in ${PROJECT_BINARY_DIR}/scip/config.h @ONLY)
|
||||
|
||||
# go to src/ and compile the code
|
||||
add_subdirectory(src)
|
||||
|
||||
-#
|
||||
-# we set the SCIP_DIR variable explicitly for the following examples/applications and unittests that depend on SCIP.
|
||||
-#
|
||||
-set(SCIP_DIR ${CMAKE_BINARY_DIR})
|
||||
-#
|
||||
-# add SCIP tests
|
||||
-#
|
||||
-add_subdirectory(check)
|
||||
-
|
||||
-#
|
||||
-# add unit tests as a single target. Including tests will add the unit tests as single executables
|
||||
-#
|
||||
-add_custom_target(unittests)
|
||||
-add_subdirectory(tests EXCLUDE_FROM_ALL)
|
||||
-add_subdirectory(doc EXCLUDE_FROM_ALL)
|
||||
-add_custom_target(all_executables DEPENDS scip unittests examples applications)
|
||||
-#
|
||||
-# add examples
|
||||
-#
|
||||
-# use sub directory bin/examples for executables of examples
|
||||
-#
|
||||
set(OLD_CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/examples)
|
||||
-add_subdirectory(examples)
|
||||
|
||||
-#
|
||||
-# add applications
|
||||
-#
|
||||
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OLD_CMAKE_RUNTIME_OUTPUT_DIRECTORY}/applications)
|
||||
-add_subdirectory(applications)
|
||||
-
|
||||
-#
|
||||
-# add AMPL interface
|
||||
-#
|
||||
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OLD_CMAKE_RUNTIME_OUTPUT_DIRECTORY}/interfaces/ampl)
|
||||
-add_subdirectory(interfaces/ampl EXCLUDE_FROM_ALL)
|
||||
+include(CTest)
|
||||
+if(BUILD_TESTING)
|
||||
+ #
|
||||
+ # add SCIP tests
|
||||
+ #
|
||||
+ add_subdirectory(check)
|
||||
+
|
||||
+ #
|
||||
+ # add unit tests as a single target. Including tests will add the unit tests as single executables
|
||||
+ #
|
||||
+ add_custom_target(unittests)
|
||||
+ add_subdirectory(tests EXCLUDE_FROM_ALL)
|
||||
+ add_subdirectory(doc EXCLUDE_FROM_ALL)
|
||||
+
|
||||
+ #
|
||||
+ # add examples
|
||||
+ #
|
||||
+ # use sub directory bin/examples for executables of examples
|
||||
+ #
|
||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OLD_CMAKE_RUNTIME_OUTPUT_DIRECTORY}/examples)
|
||||
+ add_subdirectory(examples)
|
||||
+
|
||||
+ #
|
||||
+ # add applications
|
||||
+ #
|
||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OLD_CMAKE_RUNTIME_OUTPUT_DIRECTORY}/applications)
|
||||
+ add_subdirectory(applications)
|
||||
+
|
||||
+ add_custom_target(all_executables DEPENDS scip unittests examples applications)
|
||||
+endif()
|
||||
+
|
||||
+if(AMPL)
|
||||
+ #
|
||||
+ # add AMPL interface
|
||||
+ #
|
||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OLD_CMAKE_RUNTIME_OUTPUT_DIRECTORY}/interfaces/ampl)
|
||||
+ add_subdirectory(interfaces/ampl EXCLUDE_FROM_ALL)
|
||||
+else()
|
||||
+ message(STATUS "Support AMPL: OFF")
|
||||
+endif()
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OLD_CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
|
||||
-enable_testing()
|
||||
-
|
||||
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
include(FeatureSummary)
|
||||
feature_summary(WHAT ALL)
|
||||
diff --color -ru /tmp/scip-7.0.1/src/CMakeLists.txt ./src/CMakeLists.txt
|
||||
--- /tmp/scip-7.0.1/src/CMakeLists.txt 2020-06-23 10:40:53.000000000 +0200
|
||||
+++ ./src/CMakeLists.txt 2020-08-26 00:23:47.920274032 +0200
|
||||
@@ -1,4 +1,3 @@
|
||||
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
#
|
||||
# interface function for setting common library properties
|
||||
@@ -14,10 +13,10 @@
|
||||
|
||||
#configure the scipbuildflags.c source file for the build tree
|
||||
configure_file(${PROJECT_SOURCE_DIR}/src/scipbuildflags.c.in
|
||||
- "${CMAKE_BINARY_DIR}/scipbuildflag.c" @ONLY)
|
||||
+ "${PROJECT_BINARY_DIR}/scipbuildflag.c" @ONLY)
|
||||
|
||||
set(scipsources
|
||||
- ${CMAKE_BINARY_DIR}/scipbuildflag.c
|
||||
+ ${PROJECT_BINARY_DIR}/scipbuildflag.c
|
||||
blockmemshell/memory.c
|
||||
scip/message.c
|
||||
scip/bitencode.c
|
||||
@@ -953,6 +952,7 @@
|
||||
setLibProperties(liblpi "lpi")
|
||||
|
||||
add_library(libscip ${scipsources} ${objscipsources} ${nlpisources} ${lpisources} ${tpisources} ${symsources})
|
||||
+
|
||||
if(MSVC)
|
||||
# msvc otherwise is not smart enough and tries to link the scip.exe binary as a library
|
||||
setLibProperties(libscip "libscip")
|
||||
@@ -960,8 +960,12 @@
|
||||
setLibProperties(libscip "scip")
|
||||
endif()
|
||||
|
||||
+target_include_directories(libscip PUBLIC
|
||||
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
|
||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
+ $<INSTALL_INTERFACE:include>)
|
||||
target_link_libraries(libscip PRIVATE
|
||||
- ${ZLIB_LIBRARIES}
|
||||
+ $<$<BOOL:${ZLIB}>:ZLIB::ZLIB>
|
||||
${Readline_LIBRARY}
|
||||
${GMP_LIBRARIES}
|
||||
${THREAD_LIBRARIES}
|
||||
@@ -983,7 +987,7 @@
|
||||
endif()
|
||||
|
||||
include(GenerateExportHeader)
|
||||
-generate_export_header(libscip BASE_NAME scip EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/scip/scip_export.h)
|
||||
+generate_export_header(libscip BASE_NAME scip EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/scip/scip_export.h)
|
||||
target_compile_definitions(scip PRIVATE SCIP_STATIC_DEFINE)
|
||||
|
||||
if(CMAKE_BUILD_TYPE EQUAL "Debug")
|
||||
@@ -991,8 +995,16 @@
|
||||
add_sanitizers(scip)
|
||||
endif()
|
||||
|
||||
-target_link_libraries(scip ${ZLIB_LIBRARIES} ${Readline_LIBRARY} ${GMP_LIBRARIES}
|
||||
- ${ZIMPL_LIBRARIES} ${LPS_LIBRARIES} ${SYM_LIBRARIES} ${THREAD_LIBRARIES} ${NLPI_LIBRARIES} ${PAPILO_IMPORTED_TARGETS})
|
||||
+target_link_libraries(scip
|
||||
+ $<$<BOOL:${ZLIB}>:ZLIB::ZLIB>
|
||||
+ ${Readline_LIBRARY}
|
||||
+ ${GMP_LIBRARIES}
|
||||
+ ${ZIMPL_LIBRARIES}
|
||||
+ ${LPS_LIBRARIES}
|
||||
+ ${SYM_LIBRARIES}
|
||||
+ ${THREAD_LIBRARIES}
|
||||
+ ${NLPI_LIBRARIES}
|
||||
+ ${PAPILO_IMPORTED_TARGETS})
|
||||
|
||||
add_dependencies(libscip scip_update_githash)
|
||||
add_dependencies(scip scip_update_githash)
|
||||
@@ -1012,7 +1024,7 @@
|
||||
install(FILES ${dijkstraheaders} DESTINATION include/dijkstra)
|
||||
install(FILES ${nlpiheaders} DESTINATION include/nlpi)
|
||||
install(FILES ${objscipheaders} DESTINATION include/objscip)
|
||||
-install(FILES ${scipheaders} ${CMAKE_BINARY_DIR}/scip/config.h ${CMAKE_BINARY_DIR}/scip/scip_export.h DESTINATION include/scip)
|
||||
+install(FILES ${scipheaders} ${PROJECT_BINARY_DIR}/scip/config.h ${PROJECT_BINARY_DIR}/scip/scip_export.h DESTINATION include/scip)
|
||||
install(FILES ${tcliqueheaders} DESTINATION include/tclique)
|
||||
install(FILES ${tinycthreadheader} DESTINATION include/tinycthread)
|
||||
install(FILES ${tpiheaders} DESTINATION include/tpi)
|
||||
@@ -1029,7 +1041,7 @@
|
||||
|
||||
# Add all targets to the build-tree export set
|
||||
export(TARGETS scip libscip
|
||||
- FILE "${CMAKE_BINARY_DIR}/scip-targets.cmake")
|
||||
+ FILE "${PROJECT_BINARY_DIR}/scip-targets.cmake")
|
||||
|
||||
#make soplex and zimpl dir absolute for the config file
|
||||
if(SOPLEX_NEEDED)
|
||||
@@ -1041,13 +1053,13 @@
|
||||
endif()
|
||||
|
||||
#configure the config file for the build tree
|
||||
-set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" "${CMAKE_BINARY_DIR}")
|
||||
+set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}")
|
||||
configure_file(${PROJECT_SOURCE_DIR}/scip-config.cmake.in
|
||||
- "${CMAKE_BINARY_DIR}/scip-config.cmake" @ONLY)
|
||||
+ "${PROJECT_BINARY_DIR}/scip-config.cmake" @ONLY)
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file(
|
||||
-${CMAKE_BINARY_DIR}/scip-config-version.cmake
|
||||
+ ${PROJECT_BINARY_DIR}/scip-config-version.cmake
|
||||
VERSION ${SCIP_VERSION_MAJOR}.${SCIP_VERSION_MINOR}.${SCIP_VERSION_PATCH}
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
@@ -1067,5 +1079,5 @@
|
||||
# can link easily against scip
|
||||
install(EXPORT scip-targets DESTINATION lib/cmake/scip)
|
||||
install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/scip-config.cmake"
|
||||
- ${CMAKE_BINARY_DIR}/scip-config-version.cmake
|
||||
+ ${PROJECT_BINARY_DIR}/scip-config-version.cmake
|
||||
DESTINATION lib/cmake/scip)
|
||||
diff --color -ru /tmp/scip-7.0.1/src/lpi/lpi_glop.cpp ./src/lpi/lpi_glop.cpp
|
||||
--- /tmp/scip-7.0.1/src/lpi/lpi_glop.cpp 2020-06-23 10:40:54.000000000 +0200
|
||||
+++ ./src/lpi/lpi_glop.cpp 2020-10-23 01:04:58.377410527 +0200
|
||||
@@ -41,8 +41,8 @@
|
||||
#include "ortools/util/stats.h"
|
||||
#include "ortools/util/time_limit.h"
|
||||
|
||||
-#include "glog/logging.h"
|
||||
-#include "glog/vlog_is_on.h"
|
||||
+#include "ortools/base/logging.h"
|
||||
+#include "ortools/base/vlog_is_on.h"
|
||||
|
||||
#include "lpi/lpi.h"
|
||||
#include "scip/pub_message.h"
|
||||
@@ -2985,9 +2985,9 @@
|
||||
assert( 0 <= ival && ival <= 2 );
|
||||
lpi->timing = ival;
|
||||
if ( ival == 1 )
|
||||
- FLAGS_time_limit_use_usertime = true;
|
||||
+ absl::SetFlag(&FLAGS_time_limit_use_usertime, true);
|
||||
else
|
||||
- FLAGS_time_limit_use_usertime = false;
|
||||
+ absl::SetFlag(&FLAGS_time_limit_use_usertime, false);
|
||||
break;
|
||||
case SCIP_LPPAR_RANDOMSEED:
|
||||
SCIPdebugMessage("SCIPlpiSetIntpar: SCIP_LPPAR_RANDOMSEED -> %d.\n", ival);
|
||||
@@ -3030,7 +3030,7 @@
|
||||
SCIPdebugMessage("SCIPlpiGetRealpar: SCIP_LPPAR_OBJLIM = %f.\n", *dval);
|
||||
break;
|
||||
case SCIP_LPPAR_LPTILIM:
|
||||
- if ( FLAGS_time_limit_use_usertime )
|
||||
+ if ( absl::GetFlag(FLAGS_time_limit_use_usertime) )
|
||||
*dval = lpi->parameters->max_time_in_seconds();
|
||||
else
|
||||
*dval = lpi->parameters->max_deterministic_time();
|
||||
@@ -3082,7 +3082,7 @@
|
||||
break;
|
||||
case SCIP_LPPAR_LPTILIM:
|
||||
SCIPdebugMessage("SCIPlpiSetRealpar: SCIP_LPPAR_LPTILIM -> %f.\n", dval);
|
||||
- if ( FLAGS_time_limit_use_usertime )
|
||||
+ if ( absl::GetFlag(FLAGS_time_limit_use_usertime) )
|
||||
lpi->parameters->set_max_time_in_seconds(dval);
|
||||
else
|
||||
lpi->parameters->set_max_deterministic_time(dval);
|
||||
Reference in New Issue
Block a user