From 53bf46351799a12442df799ff624f5d05d1fc3c9 Mon Sep 17 00:00:00 2001 From: Mizux Seiha Date: Mon, 19 Oct 2020 11:27:02 +0200 Subject: [PATCH] cmake: Fix gscip --- cmake/cpp.cmake | 20 ++++++++++++++++++-- ortools/gscip/CMakeLists.txt | 31 +++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 ortools/gscip/CMakeLists.txt diff --git a/cmake/cpp.cmake b/cmake/cpp.cmake index ca287c6de6..c5f5e0c804 100644 --- a/cmake/cpp.cmake +++ b/cmake/cpp.cmake @@ -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 $) 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() diff --git a/ortools/gscip/CMakeLists.txt b/ortools/gscip/CMakeLists.txt new file mode 100644 index 0000000000..85ede3b0f7 --- /dev/null +++ b/ortools/gscip/CMakeLists.txt @@ -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 + $ + $) +target_link_libraries(${NAME} PRIVATE + absl::memory + absl::container + absl::strings + absl::str_format + gflags::gflags + glog::glog + protobuf::libprotobuf + $<$:libscip> + ${PROJECT_NAME}::proto) +#add_library(${PROJECT_NAME}::gscip ALIAS ${NAME})