cmake: Fix GLPK support (Fix #3312)
* Eigen was spuriously enabling fortran * Missing GLKP helpers functions
This commit is contained in:
@@ -30,6 +30,7 @@ if(USE_COINOR)
|
||||
endif()
|
||||
if(USE_GLPK)
|
||||
list(APPEND OR_TOOLS_COMPILE_DEFINITIONS "USE_GLPK")
|
||||
set(GLPK_DIR glpk)
|
||||
endif()
|
||||
if(USE_PDLP)
|
||||
list(APPEND OR_TOOLS_COMPILE_DEFINITIONS "USE_PDLP")
|
||||
@@ -227,6 +228,7 @@ foreach(SUBPROJECT IN ITEMS
|
||||
base
|
||||
bop
|
||||
constraint_solver
|
||||
${GLPK_DIR}
|
||||
${PDLP_DIR}
|
||||
${GSCIP_DIR}
|
||||
glop
|
||||
|
||||
@@ -39,6 +39,7 @@ set(FETCHCONTENT_UPDATES_DISCONNECTED ON)
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(BUILD_TESTING OFF)
|
||||
set(CMAKE_Fortran_COMPILER OFF)
|
||||
|
||||
# ##############################################################################
|
||||
# ZLIB
|
||||
@@ -132,7 +133,6 @@ if(BUILD_Eigen3)
|
||||
set(EIGEN_BUILD_PKGCONFIG OFF)
|
||||
set(EIGEN_BUILD_DOC OFF)
|
||||
set(EIGEN_BUILD_TESTING OFF)
|
||||
set(EIGEN_BUILD_DOC OFF)
|
||||
FetchContent_Declare(
|
||||
eigen3
|
||||
GIT_REPOSITORY "https://gitlab.com/libeigen/eigen.git"
|
||||
|
||||
31
ortools/glpk/CMakeLists.txt
Normal file
31
ortools/glpk/CMakeLists.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
if(NOT USE_GLPK)
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(GLOB _SRCS "*.h" "*.cc")
|
||||
|
||||
set(NAME ${PROJECT_NAME}_glpk)
|
||||
|
||||
if(MSVC)
|
||||
set(STANDARD 20)
|
||||
else()
|
||||
set(STANDARD 17)
|
||||
endif()
|
||||
|
||||
# Will be merge in libortools.so
|
||||
#add_library(${NAME} STATIC ${_SRCS})
|
||||
add_library(${NAME} OBJECT ${_SRCS})
|
||||
set_target_properties(${NAME} PROPERTIES
|
||||
CXX_STANDARD ${STANDARD}
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
CXX_EXTENSIONS OFF
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
)
|
||||
target_include_directories(${NAME} PUBLIC
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>)
|
||||
target_link_libraries(${NAME} PRIVATE
|
||||
absl::strings
|
||||
absl::str_format
|
||||
$<$<BOOL:${USE_GLPK}>:GLPK::GLPK>)
|
||||
#add_library(${PROJECT_NAME}::glpk ALIAS ${NAME})
|
||||
Reference in New Issue
Block a user