cmake/FindCPLEX.cmake
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 15 Mar 2011 19:32:21 +0100
changeset 1047 ddd3c0d3d9bf
parent 682 89705c452130
child 1119 1818cc848005
permissions -rw-r--r--
Implement the scaling Price Refinement heuristic in CostScaling (#417)
instead of Early Termination.

These two heuristics are similar, but the newer one is faster
and not only makes it possible to skip some epsilon phases, but
it can improve the performance of the other phases, as well.
ladanyi@682
     1
SET(CPLEX_ROOT_DIR "" CACHE PATH "CPLEX root directory")
ladanyi@682
     2
ladanyi@667
     3
FIND_PATH(CPLEX_INCLUDE_DIR
ladanyi@667
     4
  ilcplex/cplex.h
ladanyi@682
     5
  PATHS "C:/ILOG/CPLEX91/include"
ladanyi@682
     6
  PATHS "/opt/ilog/cplex91/include"
ladanyi@682
     7
  HINTS ${CPLEX_ROOT_DIR}/include
ladanyi@682
     8
)
ladanyi@667
     9
FIND_LIBRARY(CPLEX_LIBRARY
ladanyi@682
    10
  cplex91
ladanyi@682
    11
  PATHS "C:/ILOG/CPLEX91/lib/msvc7/stat_mda"
ladanyi@682
    12
  PATHS "/opt/ilog/cplex91/bin"
ladanyi@682
    13
  HINTS ${CPLEX_ROOT_DIR}/bin
ladanyi@682
    14
)
ladanyi@667
    15
ladanyi@667
    16
INCLUDE(FindPackageHandleStandardArgs)
ladanyi@667
    17
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPLEX DEFAULT_MSG CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
ladanyi@667
    18
ladanyi@667
    19
FIND_PATH(CPLEX_BIN_DIR
ladanyi@667
    20
  cplex91.dll
ladanyi@682
    21
  PATHS "C:/ILOG/CPLEX91/bin/x86_win32"
ladanyi@682
    22
)
ladanyi@667
    23
ladanyi@667
    24
IF(CPLEX_FOUND)
ladanyi@667
    25
  SET(CPLEX_INCLUDE_DIRS ${CPLEX_INCLUDE_DIR})
ladanyi@667
    26
  SET(CPLEX_LIBRARIES ${CPLEX_LIBRARY})
ladanyi@683
    27
  IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
ladanyi@683
    28
    SET(CPLEX_LIBRARIES "${CPLEX_LIBRARIES};m;pthread")
ladanyi@683
    29
  ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
ladanyi@667
    30
ENDIF(CPLEX_FOUND)
ladanyi@667
    31
ladanyi@667
    32
MARK_AS_ADVANCED(CPLEX_LIBRARY CPLEX_INCLUDE_DIR CPLEX_BIN_DIR)
ladanyi@667
    33
ladanyi@667
    34
IF(CPLEX_FOUND)
ladanyi@674
    35
  SET(LEMON_HAVE_LP TRUE)
ladanyi@674
    36
  SET(LEMON_HAVE_MIP TRUE)
ladanyi@674
    37
  SET(LEMON_HAVE_CPLEX TRUE)
ladanyi@667
    38
ENDIF(CPLEX_FOUND)