1 SET(CPLEX_ROOT_DIR "" CACHE PATH "CPLEX root directory") |
1 FIND_PATH(ILOG_ROOT_DIR |
2 |
2 NAMES cplex |
3 FIND_PATH(CPLEX_INCLUDE_DIR |
3 DOC "CPLEX STUDIO root directory" |
4 ilcplex/cplex.h |
4 PATHS /opt/ibm/ILOG /usr/local/ibm/ILOG /usr/local/ILOG /usr/local/ilog |
5 PATHS "C:/ILOG/CPLEX/include" |
5 PATHS "$ENV{HOME}/ILOG" "$ENV{HOME}/.local/ILOG" |
6 PATHS "/opt/ilog/cplex/include" |
6 PATHS "$ENV{HOME}/ibm/ILOG" "$ENV{HOME}/.local/ibm/ILOG" |
7 HINTS ${CPLEX_ROOT_DIR}/include |
7 PATHS "C:/Program Files/IBM/ILOG" |
8 ) |
8 PATH_SUFFIXES "CPLEX_Studio126" "CPLEX_Studio125" |
9 FIND_LIBRARY(CPLEX_LIBRARY |
9 "CPLEX_Studio124" "CPLEX_Studio123" "CPLEX_Studio122" |
10 cplex |
10 NO_DEFAULT_PATH |
11 PATHS "C:/ILOG/CPLEX/lib/msvc7/stat_mda" |
|
12 PATHS "/opt/ilog/cplex/bin" |
|
13 HINTS ${CPLEX_ROOT_DIR}/bin |
|
14 HINTS ${CPLEX_ROOT_DIR}/lib |
|
15 ) |
11 ) |
16 |
12 |
17 INCLUDE(FindPackageHandleStandardArgs) |
13 IF(WIN32) |
18 FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPLEX DEFAULT_MSG CPLEX_LIBRARY CPLEX_INCLUDE_DIR) |
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() |
|
30 ENDIF() |
19 |
31 |
20 FIND_PATH(CPLEX_BIN_DIR |
32 FIND_PATH(ILOG_CPLEX_ROOT_DIR |
21 cplex.dll |
33 NAMES include/ilcplex |
22 PATHS "C:/ILOG/CPLEX/bin/x86_win32" |
34 HINTS ${ILOG_ROOT_DIR}/cplex ${ILOG_ROOT_DIR}/cplex121 |
23 HINTS ${CPLEX_ROOT_DIR}/bin |
35 ${ILOG_ROOT_DIR}/cplex122 ${ILOG_ROOT_DIR}/cplex123 |
|
36 DOC "CPLEX root directory" |
|
37 NO_DEFAULT_PATH |
24 ) |
38 ) |
25 |
39 |
26 IF(CPLEX_FOUND) |
40 FIND_PATH(ILOG_CONCERT_ROOT_DIR |
27 SET(CPLEX_INCLUDE_DIRS ${CPLEX_INCLUDE_DIR}) |
41 NAMES include/ilconcert |
28 SET(CPLEX_LIBRARIES ${CPLEX_LIBRARY}) |
42 HINTS ${ILOG_ROOT_DIR}/concert ${ILOG_ROOT_DIR}/concert29 |
|
43 DOC "CONCERT root directory" |
|
44 NO_DEFAULT_PATH |
|
45 ) |
|
46 |
|
47 FIND_PATH(ILOG_CPLEX_INCLUDE_DIR |
|
48 ilcplex/cplex.h |
|
49 HINTS ${ILOG_CPLEX_ROOT_DIR}/include |
|
50 NO_DEFAULT_PATH |
|
51 ) |
|
52 |
|
53 FIND_PATH(ILOG_CONCERT_INCLUDE_DIR |
|
54 ilconcert/ilobasic.h |
|
55 HINTS ${ILOG_CONCERT_ROOT_DIR}/include |
|
56 NO_DEFAULT_PATH |
|
57 ) |
|
58 |
|
59 FIND_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 |
|
69 FIND_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 |
|
79 FIND_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 |
|
85 INCLUDE(FindPackageHandleStandardArgs) |
|
86 FIND_PACKAGE_HANDLE_STANDARD_ARGS(ILOG |
|
87 DEFAULT_MSG ILOG_CPLEX_LIBRARY ILOG_CPLEX_INCLUDE_DIR |
|
88 ) |
|
89 |
|
90 IF(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}) |
29 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") |
93 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") |
30 SET(CPLEX_LIBRARIES "${CPLEX_LIBRARIES};m;pthread") |
94 # SET(CPLEX_LIBRARIES "${CPLEX_LIBRARIES};m;pthread") |
|
95 SET(ILOG_LIBRARIES ${ILOG_LIBRARIES} "m" "pthread") |
31 ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux") |
96 ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux") |
32 ENDIF(CPLEX_FOUND) |
97 ENDIF(ILOG_FOUND) |
33 |
98 |
34 MARK_AS_ADVANCED(CPLEX_LIBRARY CPLEX_INCLUDE_DIR CPLEX_BIN_DIR) |
99 MARK_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 ) |
35 |
103 |
36 IF(CPLEX_FOUND) |
104 IF(ILOG_FOUND) |
37 SET(LEMON_HAVE_LP TRUE) |
105 SET(LEMON_HAVE_LP TRUE) |
38 SET(LEMON_HAVE_MIP TRUE) |
106 SET(LEMON_HAVE_MIP TRUE) |
39 SET(LEMON_HAVE_CPLEX TRUE) |
107 SET(LEMON_HAVE_CPLEX TRUE) |
40 ENDIF(CPLEX_FOUND) |
108 ENDIF(ILOG_FOUND) |