cmake/FindCPLEX.cmake
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 15 Mar 2011 19:32:21 +0100
changeset 936 ddd3c0d3d9bf
parent 635 89705c452130
child 972 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@635
     1
SET(CPLEX_ROOT_DIR "" CACHE PATH "CPLEX root directory")
ladanyi@635
     2
ladanyi@620
     3
FIND_PATH(CPLEX_INCLUDE_DIR
ladanyi@620
     4
  ilcplex/cplex.h
ladanyi@635
     5
  PATHS "C:/ILOG/CPLEX91/include"
ladanyi@635
     6
  PATHS "/opt/ilog/cplex91/include"
ladanyi@635
     7
  HINTS ${CPLEX_ROOT_DIR}/include
ladanyi@635
     8
)
ladanyi@620
     9
FIND_LIBRARY(CPLEX_LIBRARY
ladanyi@635
    10
  cplex91
ladanyi@635
    11
  PATHS "C:/ILOG/CPLEX91/lib/msvc7/stat_mda"
ladanyi@635
    12
  PATHS "/opt/ilog/cplex91/bin"
ladanyi@635
    13
  HINTS ${CPLEX_ROOT_DIR}/bin
ladanyi@635
    14
)
ladanyi@620
    15
ladanyi@620
    16
INCLUDE(FindPackageHandleStandardArgs)
ladanyi@620
    17
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPLEX DEFAULT_MSG CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
ladanyi@620
    18
ladanyi@620
    19
FIND_PATH(CPLEX_BIN_DIR
ladanyi@620
    20
  cplex91.dll
ladanyi@635
    21
  PATHS "C:/ILOG/CPLEX91/bin/x86_win32"
ladanyi@635
    22
)
ladanyi@620
    23
ladanyi@620
    24
IF(CPLEX_FOUND)
ladanyi@620
    25
  SET(CPLEX_INCLUDE_DIRS ${CPLEX_INCLUDE_DIR})
ladanyi@620
    26
  SET(CPLEX_LIBRARIES ${CPLEX_LIBRARY})
ladanyi@636
    27
  IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
ladanyi@636
    28
    SET(CPLEX_LIBRARIES "${CPLEX_LIBRARIES};m;pthread")
ladanyi@636
    29
  ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
ladanyi@620
    30
ENDIF(CPLEX_FOUND)
ladanyi@620
    31
ladanyi@620
    32
MARK_AS_ADVANCED(CPLEX_LIBRARY CPLEX_INCLUDE_DIR CPLEX_BIN_DIR)
ladanyi@620
    33
ladanyi@620
    34
IF(CPLEX_FOUND)
ladanyi@627
    35
  SET(LEMON_HAVE_LP TRUE)
ladanyi@627
    36
  SET(LEMON_HAVE_MIP TRUE)
ladanyi@627
    37
  SET(LEMON_HAVE_CPLEX TRUE)
ladanyi@620
    38
ENDIF(CPLEX_FOUND)