Remove tab from CMakeLists.txt

- Mandatory to follow google internal convention
This commit is contained in:
Corentin Le Molgat
2018-11-13 10:12:02 +01:00
parent b88298edd3
commit 47fefdc3bb
23 changed files with 474 additions and 475 deletions

View File

@@ -10,10 +10,10 @@ set_target_properties(sample PROPERTIES VERSION ${PROJECT_VERSION})
target_link_libraries(sample PRIVATE ortools::ortools)
if(BUILD_TESTING)
add_test(NAME sample_UT COMMAND sample)
add_test(NAME sample_UT COMMAND sample)
endif()
include(GNUInstallDirs)
install(TARGETS sample
EXPORT SampleTargets
DESTINATION ${CMAKE_INSTALL_BINDIR})
EXPORT SampleTargets
DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@@ -3,22 +3,21 @@ if (NOT BUILD_PYTHON)
endif()
foreach(TEST
hidato_table
integer_programming
knapsack
linear_programming
pyflow_example
tsp
vrp
vrpgs
cvrp
cvrptw
)
add_test(py${TEST}_venv ${VENV_BIN_DIR}/python ${CMAKE_CURRENT_SOURCE_DIR}/${TEST}.py)
set_tests_properties(py${TEST}_venv PROPERTIES DEPENDS build_venv)
hidato_table
integer_programming
knapsack
linear_programming
pyflow_example
tsp
vrp
vrpgs
cvrp
cvrptw)
add_test(py${TEST}_venv ${VENV_BIN_DIR}/python ${CMAKE_CURRENT_SOURCE_DIR}/${TEST}.py)
set_tests_properties(py${TEST}_venv PROPERTIES DEPENDS build_venv)
endforeach()
include(GNUInstallDirs)
install(DIRECTORY .
DESTINATION ${CMAKE_INSTALL_DATADIR}/ortools/examples/python
FILES_MATCHING PATTERN "*.py")
DESTINATION ${CMAKE_INSTALL_DATADIR}/ortools/examples/python
FILES_MATCHING PATTERN "*.py")

View File

@@ -1,28 +1,28 @@
if (NOT BUILD_CXX)
return()
return()
endif()
project(ortools_examples)
if (APPLE)
set(CMAKE_INSTALL_RPATH
"@loader_path/../..;@loader_path/../lib;@loader_path")
set(CMAKE_INSTALL_RPATH
"@loader_path/../..;@loader_path/../lib;@loader_path")
else()
set(CMAKE_INSTALL_RPATH "$ORIGIN/../../:$ORIGIN/../lib:$ORIGIN/")
set(CMAKE_INSTALL_RPATH "$ORIGIN/../../:$ORIGIN/../lib:$ORIGIN/")
endif()
set(_SRCS
cvrptw_lib.cc
fap_model_printer.cc
fap_parser.cc
fap_utilities.cc
parse_dimacs_assignment.cc
)
cvrptw_lib.cc
fap_model_printer.cc
fap_parser.cc
fap_utilities.cc
parse_dimacs_assignment.cc
)
if(MSVC)
add_library(${PROJECT_NAME} STATIC ${_SRCS})
add_library(${PROJECT_NAME} STATIC ${_SRCS})
else()
add_library(${PROJECT_NAME} SHARED ${_SRCS})
add_library(${PROJECT_NAME} SHARED ${_SRCS})
endif()
get_filename_component(PARENT_SOURCE_DIR ${PROJECT_SOURCE_DIR} DIRECTORY)
@@ -33,93 +33,93 @@ target_link_libraries(${PROJECT_NAME} PUBLIC ortools::ortools)
include(GNUInstallDirs)
install(TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}Targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
EXPORT ${PROJECT_NAME}Targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
foreach(EXECUTABLE
costas_array
cryptarithm
cvrp_disjoint_tw
cvrptw
cvrptw_with_breaks
cvrptw_with_refueling
cvrptw_with_resources
cvrptw_with_stop_times_and_resources
dimacs_assignment
dobble_ls
flow_api
frequency_assignment_problem
golomb
integer_programming
jobshop
jobshop_earlytardy
jobshop_ls
jobshop_sat
linear_assignment_api
linear_programming
linear_solver_protocol_buffers
ls_api
magic_square
model_util
mps_driver
multidim_knapsack
network_routing
nqueens
pdptw
shift_minimization_sat
solve
sports_scheduling
strawberry_fields_with_column_generation
tsp
weighted_tardiness_sat)
add_executable(${EXECUTABLE} ${EXECUTABLE}.cc)
target_link_libraries(${EXECUTABLE} ${PROJECT_NAME})
install(TARGETS ${EXECUTABLE}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
costas_array
cryptarithm
cvrp_disjoint_tw
cvrptw
cvrptw_with_breaks
cvrptw_with_refueling
cvrptw_with_resources
cvrptw_with_stop_times_and_resources
dimacs_assignment
dobble_ls
flow_api
frequency_assignment_problem
golomb
integer_programming
jobshop
jobshop_earlytardy
jobshop_ls
jobshop_sat
linear_assignment_api
linear_programming
linear_solver_protocol_buffers
ls_api
magic_square
model_util
mps_driver
multidim_knapsack
network_routing
nqueens
pdptw
shift_minimization_sat
solve
sports_scheduling
strawberry_fields_with_column_generation
tsp
weighted_tardiness_sat)
add_executable(${EXECUTABLE} ${EXECUTABLE}.cc)
target_link_libraries(${EXECUTABLE} ${PROJECT_NAME})
install(TARGETS ${EXECUTABLE}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endforeach()
foreach(TEST
costas_array
cryptarithm
cvrp_disjoint_tw
cvrptw
#cvrptw_with_breaks # Too long
#cvrptw_with_refueling # Too long
cvrptw_with_resources
cvrptw_with_stop_times_and_resources
#dimacs_assignment
#dobble_ls # Too long
flow_api
#frequency_assignment_problem
golomb
integer_programming
#jobshop
#jobshop_earlytardy
#jobshop_ls
#jobshop_sat
linear_assignment_api
linear_programming
linear_solver_protocol_buffers
ls_api
magic_square
#model_util
mps_driver
#multidim_knapsack
#network_routing
nqueens
#pdptw
#rcpsp_sat
#shift_minimization_sat
#solve
#sports_scheduling # Too long
#strawberry_fields_with_column_generation # Too long
tsp
#weighted_tardiness_sat
)
add_test(NAME cc_${TEST} COMMAND ${TEST})
costas_array
cryptarithm
cvrp_disjoint_tw
cvrptw
#cvrptw_with_breaks # Too long
#cvrptw_with_refueling # Too long
cvrptw_with_resources
cvrptw_with_stop_times_and_resources
#dimacs_assignment
#dobble_ls # Too long
flow_api
#frequency_assignment_problem
golomb
integer_programming
#jobshop
#jobshop_earlytardy
#jobshop_ls
#jobshop_sat
linear_assignment_api
linear_programming
linear_solver_protocol_buffers
ls_api
magic_square
#model_util
mps_driver
#multidim_knapsack
#network_routing
nqueens
#pdptw
#rcpsp_sat
#shift_minimization_sat
#solve
#sports_scheduling # Too long
#strawberry_fields_with_column_generation # Too long
tsp
#weighted_tardiness_sat
)
add_test(NAME cc_${TEST} COMMAND ${TEST})
endforeach()

View File

@@ -3,4 +3,4 @@ if (NOT BUILD_PYTHON)
endif()
install(DIRECTORY .
DESTINATION ${CMAKE_INSTALL_DATADIR}/ortools/examples/data)
DESTINATION ${CMAKE_INSTALL_DATADIR}/ortools/examples/data)

View File

@@ -3,5 +3,5 @@ if (NOT BUILD_PYTHON)
endif()
install(DIRECTORY .
DESTINATION ${CMAKE_INSTALL_DATADIR}/ortools/examples/notebook
FILES_MATCHING PATTERN "*.ipynb")
DESTINATION ${CMAKE_INSTALL_DATADIR}/ortools/examples/notebook
FILES_MATCHING PATTERN "*.ipynb")

View File

@@ -2,7 +2,7 @@ file(GLOB _SRCS "*.h" "*.cc")
list(REMOVE_ITEM _SRCS
${CMAKE_CURRENT_SOURCE_DIR}/hungarian_test.cc
${CMAKE_CURRENT_SOURCE_DIR}/hungarian_test.h
)
)
set(NAME ${PROJECT_NAME}_algorithms)
@@ -14,29 +14,29 @@ set_target_properties(${NAME} PROPERTIES
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
POSITION_INDEPENDENT_CODE ON
)
)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# gflags::gflags
@@ -45,5 +45,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::algorithms ALIAS ${NAME})

View File

@@ -15,35 +15,35 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
# Second, for multi-config builds (e.g. msvc)
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
endforeach()
if(${CMAKE_VERSION} VERSION_GREATER 3.8.2)
swig_add_library(pywrapknapsack_solver
TYPE SHARED
LANGUAGE python
SOURCES knapsack_solver.i)
swig_add_library(pywrapknapsack_solver
TYPE SHARED
LANGUAGE python
SOURCES knapsack_solver.i)
else()
swig_add_module(pywrapknapsack_solver python knapsack_solver.i)
swig_add_module(pywrapknapsack_solver python knapsack_solver.i)
endif()
# ${SWIG_MODULE_<name>_REAL_NAME} will resolve to _<name>.so TARGET
target_include_directories(${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} PRIVATE
${PYTHON_INCLUDE_DIRS})
${PYTHON_INCLUDE_DIRS})
target_link_libraries(${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} PRIVATE
ortools::ortools ${PYTHON_LIBRARIES})
ortools::ortools ${PYTHON_LIBRARIES})
if(UNIX)
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapknapsack_solver_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
endif()

View File

@@ -9,30 +9,30 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# ZLIB::ZLIB
@@ -42,5 +42,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
ZLIB::ZLIB protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
ZLIB::ZLIB protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::base ALIAS ${NAME})

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# protobuf::libprotobuf
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::bop ALIAS ${NAME})

View File

@@ -9,30 +9,30 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:ZLIB::ZLIB,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# ZLIB::ZLIB
@@ -42,5 +42,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
ZLIB::ZLIB protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
ZLIB::ZLIB protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::constraint_solver ALIAS ${NAME})

View File

@@ -15,32 +15,32 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
# Second, for multi-config builds (e.g. msvc)
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
endforeach()
if(${CMAKE_VERSION} VERSION_GREATER 3.8.2)
swig_add_library(pywrapcp TYPE SHARED LANGUAGE python SOURCES routing.i)
swig_add_library(pywrapcp TYPE SHARED LANGUAGE python SOURCES routing.i)
else()
swig_add_module(pywrapcp python routing.i)
swig_add_module(pywrapcp python routing.i)
endif()
# ${SWIG_MODULE_<name>_REAL_NAME} will resolve to _<name>.so TARGET
target_include_directories(${SWIG_MODULE_pywrapcp_REAL_NAME} PRIVATE
${PYTHON_INCLUDE_DIRS})
${PYTHON_INCLUDE_DIRS})
target_link_libraries(${SWIG_MODULE_pywrapcp_REAL_NAME} PRIVATE
ortools::ortools ${PYTHON_LIBRARIES})
ortools::ortools ${PYTHON_LIBRARIES})
if(UNIX)
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapcp_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapcp_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapcp_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapcp_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapcp_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapcp_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
endif()

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# protobuf::libprotobuf
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::data ALIAS ${NAME})

View File

@@ -15,32 +15,32 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
# Second, for multi-config builds (e.g. msvc)
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
endforeach()
if(${CMAKE_VERSION} VERSION_GREATER 3.8.2)
swig_add_library(pywraprcpsp TYPE SHARED LANGUAGE python SOURCES rcpsp.i)
swig_add_library(pywraprcpsp TYPE SHARED LANGUAGE python SOURCES rcpsp.i)
else()
swig_add_module(pywraprcpsp python rcpsp.i)
swig_add_module(pywraprcpsp python rcpsp.i)
endif()
# ${SWIG_MODULE_<name>_REAL_NAME} will resolve to _<name>.so TARGET
target_include_directories(${SWIG_MODULE_pywraprcpsp_REAL_NAME} PRIVATE
${PYTHON_INCLUDE_DIRS})
${PYTHON_INCLUDE_DIRS})
target_link_libraries(${SWIG_MODULE_pywraprcpsp_REAL_NAME} PRIVATE
ortools::ortools ${PYTHON_LIBRARIES})
ortools::ortools ${PYTHON_LIBRARIES})
if(UNIX)
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywraprcpsp_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywraprcpsp_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywraprcpsp_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywraprcpsp_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywraprcpsp_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywraprcpsp_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
endif()

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# gflags::gflags
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::glop ALIAS ${NAME})

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# gflags::gflags
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::graph ALIAS ${NAME})

View File

@@ -16,32 +16,32 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
# Second, for multi-config builds (e.g. msvc)
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
endforeach()
if(${CMAKE_VERSION} VERSION_GREATER 3.8.2)
swig_add_library(pywrapgraph TYPE SHARED LANGUAGE python SOURCES graph.i)
swig_add_library(pywrapgraph TYPE SHARED LANGUAGE python SOURCES graph.i)
else()
swig_add_module(pywrapgraph python graph.i)
swig_add_module(pywrapgraph python graph.i)
endif()
# ${SWIG_MODULE_<name>_REAL_NAME} will resolve to _<name>.so TARGET
target_include_directories(${SWIG_MODULE_pywrapgraph_REAL_NAME} PRIVATE
${PYTHON_INCLUDE_DIRS})
${PYTHON_INCLUDE_DIRS})
target_link_libraries(${SWIG_MODULE_pywrapgraph_REAL_NAME} PRIVATE
ortools::ortools ${PYTHON_LIBRARIES})
ortools::ortools ${PYTHON_LIBRARIES})
if(UNIX)
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapgraph_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapgraph_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapgraph_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapgraph_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapgraph_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapgraph_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
endif()

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# gflags::gflags
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::linear_solver ALIAS ${NAME})

View File

@@ -15,32 +15,32 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
# Second, for multi-config builds (e.g. msvc)
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
endforeach()
if(${CMAKE_VERSION} VERSION_GREATER 3.8.2)
swig_add_library(pywraplp TYPE SHARED LANGUAGE python SOURCES linear_solver.i)
swig_add_library(pywraplp TYPE SHARED LANGUAGE python SOURCES linear_solver.i)
else()
swig_add_module(pywraplp python linear_solver.i)
swig_add_module(pywraplp python linear_solver.i)
endif()
# ${SWIG_MODULE_<name>_REAL_NAME} will resolve to _<name>.so TARGET
target_include_directories(${SWIG_MODULE_pywraplp_REAL_NAME} PRIVATE
${PYTHON_INCLUDE_DIRS})
${PYTHON_INCLUDE_DIRS})
target_link_libraries(${SWIG_MODULE_pywraplp_REAL_NAME} PRIVATE
ortools::ortools ${PYTHON_LIBRARIES})
ortools::ortools ${PYTHON_LIBRARIES})
if(UNIX)
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywraplp_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywraplp_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywraplp_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywraplp_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywraplp_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywraplp_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
endif()

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# gflags::gflags
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::lp_data ALIAS ${NAME})

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# protobuf::libprotobuf
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# gflags::gflags
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::port ALIAS ${NAME})

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# gflags::gflags
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::sat ALIAS ${NAME})

View File

@@ -16,32 +16,32 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
# Second, for multi-config builds (e.g. msvc)
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR}/..)
endforeach()
if(${CMAKE_VERSION} VERSION_GREATER 3.8.2)
swig_add_library(pywrapsat TYPE SHARED LANGUAGE python SOURCES sat.i)
swig_add_library(pywrapsat TYPE SHARED LANGUAGE python SOURCES sat.i)
else()
swig_add_module(pywrapsat python sat.i)
swig_add_module(pywrapsat python sat.i)
endif()
# ${SWIG_MODULE_<name>_REAL_NAME} will resolve to _<name>.so TARGET
target_include_directories(${SWIG_MODULE_pywrapsat_REAL_NAME} PRIVATE
${PYTHON_INCLUDE_DIRS})
${PYTHON_INCLUDE_DIRS})
target_link_libraries(${SWIG_MODULE_pywrapsat_REAL_NAME} PRIVATE
ortools::ortools ${PYTHON_LIBRARIES})
ortools::ortools ${PYTHON_LIBRARIES})
if(UNIX)
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapsat_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapsat_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapsat_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
if(NOT APPLE)
set_target_properties(${SWIG_MODULE_pywrapsat_REAL_NAME} PROPERTIES
INSTALL_RPATH "$ORIGIN/../../:$ORIGIN")
else()
set_target_properties(${SWIG_MODULE_pywrapsat_REAL_NAME} PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path/../..;@loader_path")
set_property(TARGET ${SWIG_MODULE_pywrapsat_REAL_NAME} APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress")
endif()
endif()

View File

@@ -9,27 +9,27 @@ set_target_properties(${NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(${NAME} PRIVATE
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
${PROJECT_SOURCE_DIR}
${PROJECT_BINARY_DIR}
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:glog::glog,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_options(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_OPTIONS>
)
target_compile_definitions(${NAME} PRIVATE
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
$<TARGET_PROPERTY:gflags::gflags,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:glog::glog,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:Cbc::Cbc,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:${PROJECT_NAME}::proto,INTERFACE_COMPILE_DEFINITIONS>
)
# CMakeError: Object library may not link to anything.
#target_link_libraries(${NAME} PRIVATE
# gflags::gflags
@@ -38,5 +38,5 @@ target_compile_definitions(${NAME} PRIVATE
# Cbc::Cbc
# ${PROJECT_NAME}::proto)
add_dependencies(${NAME}
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
protobuf::libprotobuf gflags::gflags glog::glog Cbc::Cbc ${PROJECT_NAME}::proto)
add_library(${PROJECT_NAME}::util ALIAS ${NAME})