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