cmake/FindCPLEX.cmake
author Balazs Dezso <deba@inf.elte.hu>
Thu, 24 Jun 2010 09:27:53 +0200
changeset 891 bb70ad62c95f
parent 635 89705c452130
child 972 1818cc848005
permissions -rw-r--r--
Fix critical bug in preflow (#372)

The wrong transition between the bound decrease and highest active
heuristics caused the bug. The last node chosen in bound decrease mode
is used in the first iteration in highest active mode.
     1 SET(CPLEX_ROOT_DIR "" CACHE PATH "CPLEX root directory")
     2 
     3 FIND_PATH(CPLEX_INCLUDE_DIR
     4   ilcplex/cplex.h
     5   PATHS "C:/ILOG/CPLEX91/include"
     6   PATHS "/opt/ilog/cplex91/include"
     7   HINTS ${CPLEX_ROOT_DIR}/include
     8 )
     9 FIND_LIBRARY(CPLEX_LIBRARY
    10   cplex91
    11   PATHS "C:/ILOG/CPLEX91/lib/msvc7/stat_mda"
    12   PATHS "/opt/ilog/cplex91/bin"
    13   HINTS ${CPLEX_ROOT_DIR}/bin
    14 )
    15 
    16 INCLUDE(FindPackageHandleStandardArgs)
    17 FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPLEX DEFAULT_MSG CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
    18 
    19 FIND_PATH(CPLEX_BIN_DIR
    20   cplex91.dll
    21   PATHS "C:/ILOG/CPLEX91/bin/x86_win32"
    22 )
    23 
    24 IF(CPLEX_FOUND)
    25   SET(CPLEX_INCLUDE_DIRS ${CPLEX_INCLUDE_DIR})
    26   SET(CPLEX_LIBRARIES ${CPLEX_LIBRARY})
    27   IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
    28     SET(CPLEX_LIBRARIES "${CPLEX_LIBRARIES};m;pthread")
    29   ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
    30 ENDIF(CPLEX_FOUND)
    31 
    32 MARK_AS_ADVANCED(CPLEX_LIBRARY CPLEX_INCLUDE_DIR CPLEX_BIN_DIR)
    33 
    34 IF(CPLEX_FOUND)
    35   SET(LEMON_HAVE_LP TRUE)
    36   SET(LEMON_HAVE_MIP TRUE)
    37   SET(LEMON_HAVE_CPLEX TRUE)
    38 ENDIF(CPLEX_FOUND)