cmake/FindCOIN.cmake
author Peter Kovacs <kpeter@inf.elte.hu>
Wed, 29 Apr 2009 16:54:27 +0200
changeset 638 111698359429
child 622 20dac2104519
permissions -rw-r--r--
Less map copying in NetworkSimplex (#234)

- The graph is copied in the constructor instead of the init() function.
It must not be modified after the class is constructed.
- The maps are copied once (instead of twice).
- Remove FlowMap, PotentialMap typedefs and flowMap(), pontentialMap()
setter functions.
- flowMap() and potentialMap() query functions copy the values into the
given map (reference) instead of returning a const reference to a
previously constructed map.
ladanyi@613
     1
SET(COIN_ROOT_DIR "" CACHE PATH "COIN root directory")
ladanyi@613
     2
ladanyi@613
     3
FIND_PATH(COIN_INCLUDE_DIR coin/CoinUtilsConfig.h
ladanyi@613
     4
  PATHS ${COIN_ROOT_DIR}/include)
ladanyi@613
     5
ladanyi@613
     6
FIND_LIBRARY(COIN_CBC_LIBRARY libCbc
ladanyi@613
     7
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
     8
FIND_LIBRARY(COIN_CBC_SOLVER_LIBRARY libCbcSolver
ladanyi@613
     9
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    10
FIND_LIBRARY(COIN_CGL_LIBRARY libCgl
ladanyi@613
    11
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    12
FIND_LIBRARY(COIN_CLP_LIBRARY libClp
ladanyi@613
    13
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    14
FIND_LIBRARY(COIN_COIN_UTILS_LIBRARY libCoinUtils
ladanyi@613
    15
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    16
FIND_LIBRARY(COIN_OSI_LIBRARY libOsi
ladanyi@613
    17
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    18
FIND_LIBRARY(COIN_OSI_CBC_LIBRARY libOsiCbc
ladanyi@613
    19
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    20
FIND_LIBRARY(COIN_OSI_CLP_LIBRARY libOsiClp
ladanyi@613
    21
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    22
FIND_LIBRARY(COIN_OSI_VOL_LIBRARY libOsiVol
ladanyi@613
    23
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    24
FIND_LIBRARY(COIN_VOL_LIBRARY libVol
ladanyi@613
    25
  PATHS ${COIN_ROOT_DIR}/lib)
ladanyi@613
    26
ladanyi@613
    27
INCLUDE(FindPackageHandleStandardArgs)
ladanyi@613
    28
FIND_PACKAGE_HANDLE_STANDARD_ARGS(COIN DEFAULT_MSG
ladanyi@613
    29
  COIN_INCLUDE_DIR
ladanyi@613
    30
  COIN_CBC_LIBRARY
ladanyi@613
    31
  COIN_CBC_SOLVER_LIBRARY
ladanyi@613
    32
  COIN_CGL_LIBRARY
ladanyi@613
    33
  COIN_CLP_LIBRARY
ladanyi@613
    34
  COIN_COIN_UTILS_LIBRARY
ladanyi@613
    35
  COIN_OSI_LIBRARY
ladanyi@613
    36
  COIN_OSI_CBC_LIBRARY
ladanyi@613
    37
  COIN_OSI_CLP_LIBRARY
ladanyi@613
    38
  COIN_OSI_VOL_LIBRARY
ladanyi@613
    39
  COIN_VOL_LIBRARY
ladanyi@613
    40
)
ladanyi@613
    41
ladanyi@613
    42
IF(COIN_FOUND)
ladanyi@613
    43
  SET(COIN_INCLUDE_DIRS ${COIN_INCLUDE_DIR})
ladanyi@613
    44
  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@613
    45
  SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY}")
ladanyi@613
    46
  SET(COIN_CBC_LIBRARIES ${COIN_LIBRARIES})
ladanyi@613
    47
ENDIF(COIN_FOUND)
ladanyi@613
    48
ladanyi@613
    49
MARK_AS_ADVANCED(
ladanyi@613
    50
  COIN_INCLUDE_DIR
ladanyi@613
    51
  COIN_CBC_LIBRARY
ladanyi@613
    52
  COIN_CBC_SOLVER_LIBRARY
ladanyi@613
    53
  COIN_CGL_LIBRARY
ladanyi@613
    54
  COIN_CLP_LIBRARY
ladanyi@613
    55
  COIN_COIN_UTILS_LIBRARY
ladanyi@613
    56
  COIN_OSI_LIBRARY
ladanyi@613
    57
  COIN_OSI_CBC_LIBRARY
ladanyi@613
    58
  COIN_OSI_CLP_LIBRARY
ladanyi@613
    59
  COIN_OSI_VOL_LIBRARY
ladanyi@613
    60
  COIN_VOL_LIBRARY
ladanyi@613
    61
)
ladanyi@613
    62
ladanyi@613
    63
IF(COIN_FOUND)
ladanyi@613
    64
  SET(HAVE_LP TRUE)
ladanyi@613
    65
  SET(HAVE_MIP TRUE)
ladanyi@613
    66
  SET(HAVE_CLP TRUE)
ladanyi@613
    67
  SET(HAVE_CBC TRUE)
ladanyi@613
    68
ENDIF(COIN_FOUND)