COIN-OR::LEMON - Graph Library

source: lemon-main/cmake/FindILOG.cmake @ 1062:caf16813b1e8

Last change on this file since 1062:caf16813b1e8 was 1062:caf16813b1e8, checked in by Alpar Juttner <alpar@…>, 12 years ago

Better CPLEX discovery (#446)

File size: 3.2 KB
Line 
1FIND_PATH(ILOG_ROOT_DIR
2  NAMES cplex
3  DOC "CPLEX STUDIO root directory"
4  PATHS /opt/ibm/ILOG /usr/local/ibm/ILOG /usr/local/ILOG /usr/local/ilog
5  PATHS "$ENV{HOME}/ILOG" "$ENV{HOME}/.local/ILOG"
6  PATHS "$ENV{HOME}/ibm/ILOG" "$ENV{HOME}/.local/ibm/ILOG"
7  PATHS "C:/Program Files/IBM/ILOG"
8  PATH_SUFFIXES "CPLEX_Studio126" "CPLEX_Studio125"
9  "CPLEX_Studio124" "CPLEX_Studio123" "CPLEX_Studio122"
10  NO_DEFAULT_PATH
11)
12
13IF(WIN32)
14  IF(MSVC_VERSION STREQUAL "1400")
15    SET(ILOG_WIN_COMPILER "windows_vs2005")
16  ELSEIF(MSVC_VERSION STREQUAL "1500")
17    SET(ILOG_WIN_COMPILER "windows_vs2008")
18  ELSEIF(MSVC_VERSION STREQUAL "1600")
19    SET(ILOG_WIN_COMPILER "windows_vs2010")
20  ELSE()
21    SET(ILOG_WIN_COMPILER "windows_vs2008")
22  ENDIF()
23  IF(CMAKE_CL_64)
24    SET(ILOG_WIN_COMPILER "x64_${ILOG_WIN_COMPILER}")
25    SET(ILOG_WIN_PLATFORM "x64_win32")
26  ELSE()
27    SET(ILOG_WIN_COMPILER "x86_${ILOG_WIN_COMPILER}")
28    SET(ILOG_WIN_PLATFORM "x86_win32")
29  ENDIF()
30ENDIF()
31
32FIND_PATH(ILOG_CPLEX_ROOT_DIR
33  NAMES include/ilcplex
34  HINTS ${ILOG_ROOT_DIR}/cplex ${ILOG_ROOT_DIR}/cplex121
35  ${ILOG_ROOT_DIR}/cplex122 ${ILOG_ROOT_DIR}/cplex123
36  DOC "CPLEX root directory"
37  NO_DEFAULT_PATH
38)
39
40FIND_PATH(ILOG_CONCERT_ROOT_DIR
41  NAMES include/ilconcert
42  HINTS ${ILOG_ROOT_DIR}/concert ${ILOG_ROOT_DIR}/concert29
43  DOC "CONCERT root directory"
44  NO_DEFAULT_PATH
45)
46
47FIND_PATH(ILOG_CPLEX_INCLUDE_DIR
48  ilcplex/cplex.h
49  HINTS ${ILOG_CPLEX_ROOT_DIR}/include
50  NO_DEFAULT_PATH
51)
52
53FIND_PATH(ILOG_CONCERT_INCLUDE_DIR
54  ilconcert/ilobasic.h
55  HINTS ${ILOG_CONCERT_ROOT_DIR}/include
56  NO_DEFAULT_PATH
57)
58
59FIND_LIBRARY(ILOG_CPLEX_LIBRARY
60  cplex cplex121 cplex122 cplex123 cplex124
61  HINTS ${ILOG_CPLEX_ROOT_DIR}/lib/x86_sles10_4.1/static_pic
62  ${ILOG_CPLEX_ROOT_DIR}/lib/x86-64_sles10_4.1/static_pic
63  ${ILOG_CPLEX_ROOT_DIR}/lib/x86_debian4.0_4.1/static_pic
64  ${ILOG_CPLEX_ROOT_DIR}/lib/x86-64_debian4.0_4.1/static_pic
65  ${ILOG_CPLEX_ROOT_DIR}/lib/${ILOG_WIN_COMPILER}/stat_mda
66  NO_DEFAULT_PATH
67  )
68
69FIND_LIBRARY(ILOG_CONCERT_LIBRARY
70  concert
71  HINTS ${ILOG_CONCERT_ROOT_DIR}/lib/x86_sles10_4.1/static_pic
72  ${ILOG_CONCERT_ROOT_DIR}/lib/x86-64_sles10_4.1/static_pic
73  ${ILOG_CONCERT_ROOT_DIR}/lib/x86_debian4.0_4.1/static_pic
74  ${ILOG_CONCERT_ROOT_DIR}/lib/x86-64_debian4.0_4.1/static_pic
75  ${ILOG_CONCERT_ROOT_DIR}/lib/${ILOG_WIN_COMPILER}/stat_mda
76  NO_DEFAULT_PATH
77  )
78
79FIND_FILE(ILOG_CPLEX_DLL
80  cplex121.dll cplex122.dll cplex123.dll cplex124.dll
81  HINTS ${ILOG_CPLEX_ROOT_DIR}/bin/${ILOG_WIN_PLATFORM}
82  NO_DEFAULT_PATH
83  )
84
85INCLUDE(FindPackageHandleStandardArgs)
86FIND_PACKAGE_HANDLE_STANDARD_ARGS(ILOG
87  DEFAULT_MSG ILOG_CPLEX_LIBRARY ILOG_CPLEX_INCLUDE_DIR
88  )
89
90IF(ILOG_FOUND)
91  SET(ILOG_INCLUDE_DIRS ${ILOG_CPLEX_INCLUDE_DIR} ${ILOG_CONCERT_INCLUDE_DIR})
92  SET(ILOG_LIBRARIES ${ILOG_CPLEX_LIBRARY} ${ILOG_CONCERT_LIBRARY})
93  IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
94    # SET(CPLEX_LIBRARIES "${CPLEX_LIBRARIES};m;pthread")
95    SET(ILOG_LIBRARIES ${ILOG_LIBRARIES} "m" "pthread")
96  ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
97ENDIF(ILOG_FOUND)
98
99MARK_AS_ADVANCED(
100  ILOG_CPLEX_LIBRARY ILOG_CPLEX_INCLUDE_DIR ILOG_CPLEX_DLL
101  ILOG_CONCERT_LIBRARY ILOG_CONCERT_INCLUDE_DIR ILOG_CONCERT_DLL
102  )
103
104IF(ILOG_FOUND)
105  SET(LEMON_HAVE_LP TRUE)
106  SET(LEMON_HAVE_MIP TRUE)
107  SET(LEMON_HAVE_CPLEX TRUE)
108ENDIF(ILOG_FOUND)
Note: See TracBrowser for help on using the repository browser.