cmake: bump scip to v924

note: also  bump soplex to v7.1.6

tested using: `./build/bin/math_opt_solvers_gscip_solver_test`
This commit is contained in:
Corentin Le Molgat
2025-11-21 14:25:40 +01:00
parent 8e56816c8a
commit 5d31a932d6
4 changed files with 19 additions and 54 deletions

View File

@@ -10,7 +10,7 @@ Cgl=0.60.9
Cbc=2.10.12
GLPK=5.0
HiGHS=v1.12.0
Scip=v923
Scip=v924
# Python
pybind11=v2.13.6
pybind11_abseil=v202402.0

View File

@@ -353,11 +353,11 @@ if(BUILD_soplex)
FetchContent_Declare(
soplex
GIT_REPOSITORY "https://github.com/scipopt/soplex.git"
GIT_TAG "release-713"
GIT_TAG "release-716"
GIT_SHALLOW TRUE
UPDATE_COMMAND git reset --hard
PATCH_COMMAND git apply --ignore-whitespace
"${CMAKE_CURRENT_LIST_DIR}/../../patches/soplex-v7.1.3.patch"
"${CMAKE_CURRENT_LIST_DIR}/../../patches/soplex-v7.1.6.patch"
)
set(SHARED ON CACHE BOOL "Soplex param" FORCE)
set(ZLIB ON CACHE BOOL "Soplex param" FORCE)
@@ -383,11 +383,11 @@ if(BUILD_SCIP)
FetchContent_Declare(
scip
GIT_REPOSITORY "https://github.com/scipopt/scip.git"
GIT_TAG "v923"
GIT_TAG "v924"
GIT_SHALLOW TRUE
UPDATE_COMMAND git reset --hard
PATCH_COMMAND git apply --ignore-whitespace
"${CMAKE_CURRENT_LIST_DIR}/../../patches/scip-v923.patch"
"${CMAKE_CURRENT_LIST_DIR}/../../patches/scip-v924.patch"
)
set(SHARED ON CACHE BOOL "Scip param" FORCE)
set(ZLIB ON CACHE BOOL "Scip param" FORCE)

View File

@@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b21f5a..6f08341 100644
index 96aefab..760b0f8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,6 +27,10 @@ set(CPACK_PACKAGE_VERSION_PATCH "${SOPLEX_VERSION_PATCH}")
@@ -123,7 +123,7 @@ index 0b21f5a..6f08341 100644
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
@@ -244,7 +240,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)
@@ -136,21 +136,10 @@ index 0b21f5a..6f08341 100644
+ add_subdirectory(check)
+endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 84ec5a5..4552300 100644
index 16ffb17..b5a0b56 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -3,8 +3,8 @@
#
function(setLibProperties targetname outputname)
set_target_properties(${targetname} PROPERTIES
- OUTPUT_NAME ${outputname}
- MACOSX_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ OUTPUT_NAME ${outputname}
+ )
endfunction(setLibProperties)
include(GNUInstallDirs)
@@ -193,24 +193,28 @@ target_link_libraries(libsoplexshared libsoplex ${libs})
@@ -193,25 +193,27 @@ target_link_libraries(libsoplexshared libsoplex ${libs})
set_target_properties(libsoplexshared PROPERTIES CXX_VISIBILITY_PRESET default)
# create soplex binary using library without pic
@@ -159,9 +148,6 @@ index 84ec5a5..4552300 100644
+if(SOPLEX_SOPLEX)
+ add_executable(soplex EXCLUDE_FROM_ALL soplexmain.cpp)
+ target_link_libraries(soplex PRIVATE libsoplex ${Boost_LIBRARIES})
+
+ # 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)
+ if(EMSCRIPTEN AND EMSCRIPTEN_HTML)
@@ -169,6 +155,9 @@ index 84ec5a5..4552300 100644
set(CMAKE_EXECUTABLE_SUFFIX ".html")
-endif()
+ endif()
+
+ # set the install rpath to the installed destination
+ set_target_properties(soplex PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
-if(CMAKE_BUILD_TYPE EQUAL "Debug")
- find_package(Sanitizers)
@@ -179,19 +168,16 @@ index 84ec5a5..4552300 100644
+ endif()
endif()
-add_executable(example EXCLUDE_FROM_ALL example.cpp)
-target_link_libraries(example libsoplex)
-
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
install(FILES soplex.h soplex.hpp soplex_interface.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
@@ -237,15 +239,23 @@ install(FILES
DESTINATION include/soplex/external/zstr)
# install the binary and the library to appropriate lcoations and add them to an export group
@@ -202,17 +188,12 @@ index 84ec5a5..4552300 100644
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
+
+install(TARGETS libsoplex libsoplex-pic libsoplexshared
+ EXPORT soplex-targets
+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")
@@ -223,19 +204,3 @@ index 84ec5a5..4552300 100644
#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)