cmake: Fix gscip

This commit is contained in:
Mizux Seiha
2020-10-19 11:27:02 +02:00
parent e68cb9febd
commit 53bf463517
2 changed files with 49 additions and 2 deletions

View File

@@ -66,6 +66,7 @@ if(USE_SCIP)
if(NOT BUILD_SCIP)
find_package(SCIP REQUIRED)
endif()
set(GSCIP_DIR gscip)
endif()
if(USE_COINOR)
@@ -244,6 +245,10 @@ file(GLOB_RECURSE proto_files RELATIVE ${PROJECT_SOURCE_DIR}
"ortools/util/*.proto"
"ortools/linear_solver/*.proto"
)
if(USE_SCIP)
file(GLOB_RECURSE gscip_proto_files RELATIVE ${PROJECT_SOURCE_DIR} "ortools/gscip/*.proto")
list(APPEND proto_files ${gscip_proto_files})
endif()
## Get Protobuf include dir
get_target_property(protobuf_dirs protobuf::libprotobuf INTERFACE_INCLUDE_DIRECTORIES)
@@ -297,8 +302,19 @@ target_sources(${PROJECT_NAME} PRIVATE $<TARGET_OBJECTS:${PROJECT_NAME}::proto>)
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}::proto)
foreach(SUBPROJECT IN ITEMS
algorithms base bop constraint_solver data glop graph linear_solver lp_data
port sat util)
algorithms
base
bop
constraint_solver
data
${GSCIP_DIR}
glop
graph
linear_solver
lp_data
port
sat
util)
add_subdirectory(ortools/${SUBPROJECT})
target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_NAME}_${SUBPROJECT})
endforeach()

View File

@@ -0,0 +1,31 @@
if(NOT USE_SCIP)
return()
endif()
file(GLOB _SRCS "*.h" "*.cc")
set(NAME ${PROJECT_NAME}_gscip)
# Will be merge in libortools.so
#add_library(${NAME} STATIC ${_SRCS})
add_library(${NAME} OBJECT ${_SRCS})
set_target_properties(${NAME} PROPERTIES
CXX_STANDARD 17
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::memory
absl::container
absl::strings
absl::str_format
gflags::gflags
glog::glog
protobuf::libprotobuf
$<$<BOOL:${USE_SCIP}>:libscip>
${PROJECT_NAME}::proto)
#add_library(${PROJECT_NAME}::gscip ALIAS ${NAME})