cmake/FindCOIN.cmake
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 23 Jul 2009 18:09:41 +0200
changeset 731 7b1a6e963018
parent 674 20dac2104519
child 1062 1f1328691a07
permissions -rw-r--r--
Fix the implementation and doc of CrossRefMap (#302)

- Handle multiple values correctly with std::multimap.
- Clarify the problematic points in the doc.
- Add some basic tests for the class.
     1 SET(COIN_ROOT_DIR "" CACHE PATH "COIN root directory")
     2 
     3 FIND_PATH(COIN_INCLUDE_DIR coin/CoinUtilsConfig.h
     4   HINTS ${COIN_ROOT_DIR}/include
     5 )
     6 FIND_LIBRARY(COIN_CBC_LIBRARY
     7   NAMES Cbc libCbc
     8   HINTS ${COIN_ROOT_DIR}/lib
     9 )
    10 FIND_LIBRARY(COIN_CBC_SOLVER_LIBRARY
    11   NAMES CbcSolver libCbcSolver
    12   HINTS ${COIN_ROOT_DIR}/lib
    13 )
    14 FIND_LIBRARY(COIN_CGL_LIBRARY
    15   NAMES Cgl libCgl
    16   HINTS ${COIN_ROOT_DIR}/lib
    17 )
    18 FIND_LIBRARY(COIN_CLP_LIBRARY
    19   NAMES Clp libClp
    20   HINTS ${COIN_ROOT_DIR}/lib
    21 )
    22 FIND_LIBRARY(COIN_COIN_UTILS_LIBRARY
    23   NAMES CoinUtils libCoinUtils
    24   HINTS ${COIN_ROOT_DIR}/lib
    25 )
    26 FIND_LIBRARY(COIN_OSI_LIBRARY
    27   NAMES Osi libOsi
    28   HINTS ${COIN_ROOT_DIR}/lib
    29 )
    30 FIND_LIBRARY(COIN_OSI_CBC_LIBRARY
    31   NAMES OsiCbc libOsiCbc
    32   HINTS ${COIN_ROOT_DIR}/lib
    33 )
    34 FIND_LIBRARY(COIN_OSI_CLP_LIBRARY
    35   NAMES OsiClp libOsiClp
    36   HINTS ${COIN_ROOT_DIR}/lib
    37 )
    38 FIND_LIBRARY(COIN_OSI_VOL_LIBRARY
    39   NAMES OsiVol libOsiVol
    40   HINTS ${COIN_ROOT_DIR}/lib
    41 )
    42 FIND_LIBRARY(COIN_VOL_LIBRARY
    43   NAMES Vol libVol
    44   HINTS ${COIN_ROOT_DIR}/lib
    45 )
    46 
    47 INCLUDE(FindPackageHandleStandardArgs)
    48 FIND_PACKAGE_HANDLE_STANDARD_ARGS(COIN DEFAULT_MSG
    49   COIN_INCLUDE_DIR
    50   COIN_CBC_LIBRARY
    51   COIN_CBC_SOLVER_LIBRARY
    52   COIN_CGL_LIBRARY
    53   COIN_CLP_LIBRARY
    54   COIN_COIN_UTILS_LIBRARY
    55   COIN_OSI_LIBRARY
    56   COIN_OSI_CBC_LIBRARY
    57   COIN_OSI_CLP_LIBRARY
    58   COIN_OSI_VOL_LIBRARY
    59   COIN_VOL_LIBRARY
    60 )
    61 
    62 IF(COIN_FOUND)
    63   SET(COIN_INCLUDE_DIRS ${COIN_INCLUDE_DIR})
    64   SET(COIN_LIBRARIES "${COIN_CBC_LIBRARY};${COIN_CBC_SOLVER_LIBRARY};${COIN_CGL_LIBRARY};${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY};${COIN_OSI_LIBRARY};${COIN_OSI_CBC_LIBRARY};${COIN_OSI_CLP_LIBRARY};${COIN_OSI_VOL_LIBRARY};${COIN_VOL_LIBRARY}")
    65   SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY}")
    66   SET(COIN_CBC_LIBRARIES ${COIN_LIBRARIES})
    67 ENDIF(COIN_FOUND)
    68 
    69 MARK_AS_ADVANCED(
    70   COIN_INCLUDE_DIR
    71   COIN_CBC_LIBRARY
    72   COIN_CBC_SOLVER_LIBRARY
    73   COIN_CGL_LIBRARY
    74   COIN_CLP_LIBRARY
    75   COIN_COIN_UTILS_LIBRARY
    76   COIN_OSI_LIBRARY
    77   COIN_OSI_CBC_LIBRARY
    78   COIN_OSI_CLP_LIBRARY
    79   COIN_OSI_VOL_LIBRARY
    80   COIN_VOL_LIBRARY
    81 )
    82 
    83 IF(COIN_FOUND)
    84   SET(LEMON_HAVE_LP TRUE)
    85   SET(LEMON_HAVE_MIP TRUE)
    86   SET(LEMON_HAVE_CLP TRUE)
    87   SET(LEMON_HAVE_CBC TRUE)
    88 ENDIF(COIN_FOUND)