59 |
59 |
60 SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) |
60 SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) |
61 |
61 |
62 FIND_PACKAGE(Doxygen) |
62 FIND_PACKAGE(Doxygen) |
63 FIND_PACKAGE(Ghostscript) |
63 FIND_PACKAGE(Ghostscript) |
64 FIND_PACKAGE(GLPK 4.33) |
64 |
65 FIND_PACKAGE(ILOG) |
65 SET(LEMON_ENABLE_GLPK YES CACHE STRING "Enable GLPK solver backend.") |
66 FIND_PACKAGE(COIN) |
66 SET(LEMON_ENABLE_ILOG YES CACHE STRING "Enable ILOG (CPLEX) solver backend.") |
|
67 SET(LEMON_ENABLE_COIN YES CACHE STRING "Enable COIN solver backend.") |
|
68 |
|
69 IF(LEMON_ENABLE_GLPK) |
|
70 FIND_PACKAGE(GLPK 4.33) |
|
71 ENDIF(LEMON_ENABLE_GLPK) |
|
72 IF(LEMON_ENABLE_ILOG) |
|
73 FIND_PACKAGE(ILOG) |
|
74 ENDIF(LEMON_ENABLE_ILOG) |
|
75 IF(LEMON_ENABLE_COIN) |
|
76 FIND_PACKAGE(COIN) |
|
77 ENDIF(LEMON_ENABLE_COIN) |
|
78 |
|
79 IF(GLPK_FOUND) |
|
80 SET(LEMON_HAVE_LP TRUE) |
|
81 SET(LEMON_HAVE_MIP TRUE) |
|
82 SET(LEMON_HAVE_GLPK TRUE) |
|
83 ENDIF(GLPK_FOUND) |
|
84 IF(ILOG_FOUND) |
|
85 SET(LEMON_HAVE_LP TRUE) |
|
86 SET(LEMON_HAVE_MIP TRUE) |
|
87 SET(LEMON_HAVE_ILOG TRUE) |
|
88 ENDIF(ILOG_FOUND) |
|
89 IF(COIN_FOUND) |
|
90 SET(LEMON_HAVE_LP TRUE) |
|
91 SET(LEMON_HAVE_MIP TRUE) |
|
92 SET(LEMON_HAVE_CLP TRUE) |
|
93 SET(LEMON_HAVE_CBC TRUE) |
|
94 ENDIF(COIN_FOUND) |
|
95 |
|
96 IF(ILOG_FOUND) |
|
97 SET(DEFAULT_LP "CPLEX") |
|
98 SET(DEFAULT_MIP "CPLEX") |
|
99 ELSEIF(COIN_FOUND) |
|
100 SET(DEFAULT_LP "CLP") |
|
101 SET(DEFAULT_MIP "CBC") |
|
102 ELSEIF(GLPK_FOUND) |
|
103 SET(DEFAULT_LP "GLPK") |
|
104 SET(DEFAULT_MIP "GLPK") |
|
105 ENDIF() |
|
106 |
|
107 IF(NOT LEMON_DEFAULT_LP OR |
|
108 (NOT ILOG_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CPLEX")) OR |
|
109 (NOT COIN_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CLP")) OR |
|
110 (NOT GLPK_FOUND AND (LEMON_DEFAULT_LP STREQUAL "GLPK"))) |
|
111 SET(LEMON_DEFAULT_LP ${DEFAULT_LP} CACHE STRING |
|
112 "Default LP solver backend (GLPK, CPLEX or CLP)" FORCE) |
|
113 ENDIF() |
|
114 IF(NOT LEMON_DEFAULT_MIP OR |
|
115 (NOT ILOG_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CPLEX")) OR |
|
116 (NOT COIN_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CBC")) OR |
|
117 (NOT GLPK_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "GLPK"))) |
|
118 SET(LEMON_DEFAULT_MIP ${DEFAULT_MIP} CACHE STRING |
|
119 "Default MIP solver backend (GLPK, CPLEX or CBC)" FORCE) |
|
120 ENDIF() |
|
121 |
67 |
122 |
68 IF(DEFINED ENV{LEMON_CXX_WARNING}) |
123 IF(DEFINED ENV{LEMON_CXX_WARNING}) |
69 SET(CXX_WARNING $ENV{LEMON_CXX_WARNING}) |
124 SET(CXX_WARNING $ENV{LEMON_CXX_WARNING}) |
70 ELSE() |
125 ELSE() |
71 IF(CMAKE_COMPILER_IS_GNUCXX) |
126 IF(CMAKE_COMPILER_IS_GNUCXX) |