Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
3.0 kB · 81 lines
at develop
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182# - Try to find CBC# Once done this will define# OSICBC_FOUND - System has CBC# OSICBC_INCLUDE_DIRS - The CBC include directories# OSICBC_LIBRARIES - The libraries needed to use CBC# GOSICBC_TARGETS - The names of imported targets created for CBC# User can set OSICBC_ROOT to the preferred installation prefix
list(INSERT CMAKE_PREFIX_PATH 0 "${OSICBC_ROOT}" "$ENV{OSICBC_ROOT}")
set(OSICBC_FIND_FILES coin/CbcSolver.hpp coin/CglPreProcess.hpp coin/ClpConfig.h coin/CoinSignal.hpp coin/OsiClpSolverInterface.hpp coin/OsiSolverInterface.hpp)
foreach(OSICBC_FILE ${OSICBC_FIND_FILES}) set(OSICBC_FILE_LOC "OSICBC_LIB_LOC-NOTFOUND") find_path(OSICBC_FILE_LOC ${OSICBC_FILE} PATH_SUFFIXES cbc cgl clp coinutils osi include) if("${OSICBC_FILE_LOC}" STREQUAL "OSICBC_FILE_LOC-NOTFOUND")# message(STATUS "OsiCBC: Could not find file `${OSICBC_FILE}`") set(OSICBC_INCLUDE "") break() endif() list(APPEND OSICBC_INCLUDE ${OSICBC_FILE_LOC}) # Add "/coin" for CBC internal dependencies list(APPEND OSICBC_INCLUDE ${OSICBC_FILE_LOC}/coin)endforeach(OSICBC_FILE)
list(REMOVE_DUPLICATES OSICBC_INCLUDE)unset(OSICBC_FIND_FILES)unset(OSICBC_FILE_LOC)
if(WIN32 AND NOT UNIX) set(OSICBC_REQ_LIBS Osi OsiClp OsiCbc Clp Cgl Cbc CbcSolver CoinUtils)else() set(OSICBC_REQ_LIBS CbcSolver Cbc Cgl OsiClp Clp Osi CoinUtils)endif()
foreach(OSICBC_LIB ${OSICBC_REQ_LIBS}) set(OSICBC_LIB_LOC "OSICBC_LIB_LOC-NOTFOUND") find_library(OSICBC_LIB_LOC NAMES ${OSICBC_LIB} lib${OSICBC_LIB} PATH_SUFFIXES lib) if("${OSICBC_LIB_LOC}" STREQUAL "OSICBC_LIB_LOC-NOTFOUND")# message(STATUS "OsiCBC: Could not find library `${OSICBC_LIB}`") set(OSICBC_LIBRARY "") break() endif() list(APPEND OSICBC_LIBRARY ${OSICBC_LIB_LOC}) add_library(${OSICBC_LIB} UNKNOWN IMPORTED) set_target_properties(${OSICBC_LIB} PROPERTIES IMPORTED_LOCATION ${OSICBC_LIB_LOC} INTERFACE_INCLUDE_DIRECTORIES "${OSICBC_INCLUDE}") list(APPEND OSICBC_TARGETS ${OSICBC_LIB})endforeach(OSICBC_LIB)
unset(OSICBC_REQ_LIBS)unset(OSICBC_LIB_LOC)
if(UNIX AND NOT WIN32 AND NOT DEFINED EMSCRIPTEN) find_package(ZLIB) if(NOT ZLIB_FOUND) message(STATUS "OsiCBC: Missing dependency `Zlib`") set(OSICBC_LIBRARY "") else() list(APPEND OSICBC_LIBRARY ${ZLIB_LIBRARIES}) list(APPEND OSICBC_TARGETS ${ZLIB_LIBRARIES}) endif()endif()
include(FindPackageHandleStandardArgs)# handle the QUIETLY and REQUIRED arguments and set CBC_FOUND to TRUE# if all listed variables are TRUEfind_package_handle_standard_args(OsiCBC FOUND_VAR OSICBC_FOUND REQUIRED_VARS OSICBC_INCLUDE OSICBC_LIBRARY FAIL_MESSAGE "Could NOT find OsiCBC, use OSICBC_ROOT to hint its location")
mark_as_advanced(OSICBC_INCLUDE OSICBC_LIBRARY)list(REMOVE_AT CMAKE_PREFIX_PATH 1 0)
set(OSICBC_LIBRARIES ${OSICBC_LIBRARY})set(OSICBC_INCLUDE_DIRS ${OSICBC_INCLUDE})