# HG changeset patch # User Alpar Juttner # Date 1539789854 -7200 # Node ID 389416f8a995b3eab52b4f8fce27f46c7cd75956 # Parent d7e25df22e88fc8e87577d75919c1291ea0cfae4 Better MIP solver discovery and support linking to CLP/CBC on Windows (#614) diff -r d7e25df22e88 -r 389416f8a995 CMakeLists.txt --- a/CMakeLists.txt Mon Oct 15 23:39:22 2018 +0200 +++ b/CMakeLists.txt Wed Oct 17 17:24:14 2018 +0200 @@ -82,38 +82,37 @@ IF(LEMON_ENABLE_GLPK) FIND_PACKAGE(GLPK 4.33) + IF(GLPK_FOUND) + SET(LEMON_HAVE_LP TRUE) + SET(LEMON_HAVE_MIP TRUE) + SET(LEMON_HAVE_GLPK TRUE) + ENDIF(GLPK_FOUND) ENDIF(LEMON_ENABLE_GLPK) IF(LEMON_ENABLE_ILOG) FIND_PACKAGE(ILOG) + IF(ILOG_FOUND) + SET(LEMON_HAVE_LP TRUE) + SET(LEMON_HAVE_MIP TRUE) + SET(LEMON_HAVE_CPLEX TRUE) + ENDIF(ILOG_FOUND) ENDIF(LEMON_ENABLE_ILOG) IF(LEMON_ENABLE_COIN) FIND_PACKAGE(COIN) + IF(COIN_FOUND) + SET(LEMON_HAVE_LP TRUE) + SET(LEMON_HAVE_MIP TRUE) + SET(LEMON_HAVE_CLP TRUE) + SET(LEMON_HAVE_CBC TRUE) + ENDIF(COIN_FOUND) ENDIF(LEMON_ENABLE_COIN) IF(LEMON_ENABLE_SOPLEX) FIND_PACKAGE(SOPLEX) + IF(SOPLEX_FOUND) + SET(LEMON_HAVE_LP TRUE) + SET(LEMON_HAVE_SOPLEX TRUE) + ENDIF(SOPLEX_FOUND) ENDIF(LEMON_ENABLE_SOPLEX) -IF(GLPK_FOUND) - SET(LEMON_HAVE_LP TRUE) - SET(LEMON_HAVE_MIP TRUE) - SET(LEMON_HAVE_GLPK TRUE) -ENDIF(GLPK_FOUND) -IF(ILOG_FOUND) - SET(LEMON_HAVE_LP TRUE) - SET(LEMON_HAVE_MIP TRUE) - SET(LEMON_HAVE_CPLEX TRUE) -ENDIF(ILOG_FOUND) -IF(COIN_FOUND) - SET(LEMON_HAVE_LP TRUE) - SET(LEMON_HAVE_MIP TRUE) - SET(LEMON_HAVE_CLP TRUE) - SET(LEMON_HAVE_CBC TRUE) -ENDIF(COIN_FOUND) -IF(SOPLEX_FOUND) - SET(LEMON_HAVE_LP TRUE) - SET(LEMON_HAVE_SOPLEX TRUE) -ENDIF(SOPLEX_FOUND) - IF(ILOG_FOUND) SET(DEFAULT_LP "CPLEX") SET(DEFAULT_MIP "CPLEX") diff -r d7e25df22e88 -r 389416f8a995 cmake/FindCOIN.cmake --- a/cmake/FindCOIN.cmake Mon Oct 15 23:39:22 2018 +0200 +++ b/cmake/FindCOIN.cmake Wed Oct 17 17:24:14 2018 +0200 @@ -65,6 +65,12 @@ HINTS ${COIN_ROOT_DIR}/lib ) +FIND_LIBRARY(COIN_PTHREADS_LIBRARY + NAMES pthreads libpthreads + HINTS ${COIN_ROOT_DIR}/lib/coin + HINTS ${COIN_ROOT_DIR}/lib +) + INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(COIN DEFAULT_MSG COIN_INCLUDE_DIR @@ -82,14 +88,17 @@ IF(COIN_FOUND) SET(COIN_INCLUDE_DIRS ${COIN_INCLUDE_DIR}) - SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY};${COIN_ZLIB_LIBRARY};${COIN_BZ2_LIBRARY}") + SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY}") IF(COIN_ZLIB_LIBRARY) SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_ZLIB_LIBRARY}") ENDIF(COIN_ZLIB_LIBRARY) IF(COIN_BZ2_LIBRARY) SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_BZ2_LIBRARY}") ENDIF(COIN_BZ2_LIBRARY) - SET(COIN_CBC_LIBRARIES "${COIN_CBC_LIBRARY};${COIN_CBC_SOLVER_LIBRARY};${COIN_CGL_LIBRARY};${COIN_OSI_LIBRARY};${COIN_OSI_CBC_LIBRARY};${COIN_OSI_CLP_LIBRARY};${COIN_ZLIB_LIBRARY};${COIN_BZ2_LIBRARY};${COIN_CLP_LIBRARIES}") + IF(COIN_PTHREADS_LIBRARY) + SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_PTHREADS_LIBRARY}") + ENDIF(COIN_PTHREADS_LIBRARY) + SET(COIN_CBC_LIBRARIES "${COIN_CBC_LIBRARY};${COIN_CBC_SOLVER_LIBRARY};${COIN_CGL_LIBRARY};${COIN_OSI_LIBRARY};${COIN_OSI_CBC_LIBRARY};${COIN_OSI_CLP_LIBRARY};${COIN_CLP_LIBRARIES}") SET(COIN_LIBRARIES ${COIN_CBC_LIBRARIES}) ENDIF(COIN_FOUND)