COIN-OR::LEMON - Graph Library

source: lemon-main/cmake/FindCOIN.cmake @ 1202:4fd76139b69e

Last change on this file since 1202:4fd76139b69e was 1180:389416f8a995, checked in by Alpar Juttner <alpar@…>, 6 years ago

Better MIP solver discovery and support linking to CLP/CBC on Windows (#614)

File size: 3.0 KB
Line 
1SET(COIN_ROOT_DIR "" CACHE PATH "COIN root directory")
2
3FIND_PATH(COIN_INCLUDE_DIR coin/CoinUtilsConfig.h
4  HINTS ${COIN_ROOT_DIR}/include
5)
6FIND_LIBRARY(COIN_CBC_LIBRARY
7  NAMES Cbc libCbc
8  HINTS ${COIN_ROOT_DIR}/lib/coin
9  HINTS ${COIN_ROOT_DIR}/lib
10)
11FIND_LIBRARY(COIN_CBC_SOLVER_LIBRARY
12  NAMES CbcSolver libCbcSolver
13  HINTS ${COIN_ROOT_DIR}/lib/coin
14  HINTS ${COIN_ROOT_DIR}/lib
15)
16FIND_LIBRARY(COIN_CGL_LIBRARY
17  NAMES Cgl libCgl
18  HINTS ${COIN_ROOT_DIR}/lib/coin
19  HINTS ${COIN_ROOT_DIR}/lib
20)
21FIND_LIBRARY(COIN_CLP_LIBRARY
22  NAMES Clp libClp
23  HINTS ${COIN_ROOT_DIR}/lib/coin
24  HINTS ${COIN_ROOT_DIR}/lib
25)
26FIND_LIBRARY(COIN_COIN_UTILS_LIBRARY
27  NAMES CoinUtils libCoinUtils
28  HINTS ${COIN_ROOT_DIR}/lib/coin
29  HINTS ${COIN_ROOT_DIR}/lib
30)
31FIND_LIBRARY(COIN_OSI_LIBRARY
32  NAMES Osi libOsi
33  HINTS ${COIN_ROOT_DIR}/lib/coin
34  HINTS ${COIN_ROOT_DIR}/lib
35)
36FIND_LIBRARY(COIN_OSI_CBC_LIBRARY
37  NAMES OsiCbc libOsiCbc
38  HINTS ${COIN_ROOT_DIR}/lib/coin
39  HINTS ${COIN_ROOT_DIR}/lib
40)
41FIND_LIBRARY(COIN_OSI_CLP_LIBRARY
42  NAMES OsiClp libOsiClp
43  HINTS ${COIN_ROOT_DIR}/lib/coin
44  HINTS ${COIN_ROOT_DIR}/lib
45)
46FIND_LIBRARY(COIN_OSI_VOL_LIBRARY
47  NAMES OsiVol libOsiVol
48  HINTS ${COIN_ROOT_DIR}/lib/coin
49  HINTS ${COIN_ROOT_DIR}/lib
50)
51FIND_LIBRARY(COIN_VOL_LIBRARY
52  NAMES Vol libVol
53  HINTS ${COIN_ROOT_DIR}/lib/coin
54  HINTS ${COIN_ROOT_DIR}/lib
55)
56
57FIND_LIBRARY(COIN_ZLIB_LIBRARY
58  NAMES z libz
59  HINTS ${COIN_ROOT_DIR}/lib/coin
60  HINTS ${COIN_ROOT_DIR}/lib
61)
62FIND_LIBRARY(COIN_BZ2_LIBRARY
63  NAMES bz2 libbz2
64  HINTS ${COIN_ROOT_DIR}/lib/coin
65  HINTS ${COIN_ROOT_DIR}/lib
66)
67
68FIND_LIBRARY(COIN_PTHREADS_LIBRARY
69  NAMES pthreads libpthreads
70  HINTS ${COIN_ROOT_DIR}/lib/coin
71  HINTS ${COIN_ROOT_DIR}/lib
72)
73
74INCLUDE(FindPackageHandleStandardArgs)
75FIND_PACKAGE_HANDLE_STANDARD_ARGS(COIN DEFAULT_MSG
76  COIN_INCLUDE_DIR
77  COIN_CBC_LIBRARY
78  COIN_CBC_SOLVER_LIBRARY
79  COIN_CGL_LIBRARY
80  COIN_CLP_LIBRARY
81  COIN_COIN_UTILS_LIBRARY
82  COIN_OSI_LIBRARY
83  COIN_OSI_CBC_LIBRARY
84  COIN_OSI_CLP_LIBRARY
85  # COIN_OSI_VOL_LIBRARY
86  # COIN_VOL_LIBRARY
87)
88
89IF(COIN_FOUND)
90  SET(COIN_INCLUDE_DIRS ${COIN_INCLUDE_DIR})
91  SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY}")
92  IF(COIN_ZLIB_LIBRARY)
93    SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_ZLIB_LIBRARY}")
94  ENDIF(COIN_ZLIB_LIBRARY)
95   IF(COIN_BZ2_LIBRARY)
96    SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_BZ2_LIBRARY}")
97  ENDIF(COIN_BZ2_LIBRARY)
98   IF(COIN_PTHREADS_LIBRARY)
99    SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_PTHREADS_LIBRARY}")
100  ENDIF(COIN_PTHREADS_LIBRARY)
101  SET(COIN_CBC_LIBRARIES "${COIN_CBC_LIBRARY};${COIN_CBC_SOLVER_LIBRARY};${COIN_CGL_LIBRARY};${COIN_OSI_LIBRARY};${COIN_OSI_CBC_LIBRARY};${COIN_OSI_CLP_LIBRARY};${COIN_CLP_LIBRARIES}")
102  SET(COIN_LIBRARIES ${COIN_CBC_LIBRARIES})
103ENDIF(COIN_FOUND)
104
105MARK_AS_ADVANCED(
106  COIN_INCLUDE_DIR
107  COIN_CBC_LIBRARY
108  COIN_CBC_SOLVER_LIBRARY
109  COIN_CGL_LIBRARY
110  COIN_CLP_LIBRARY
111  COIN_COIN_UTILS_LIBRARY
112  COIN_OSI_LIBRARY
113  COIN_OSI_CBC_LIBRARY
114  COIN_OSI_CLP_LIBRARY
115  COIN_OSI_VOL_LIBRARY
116  COIN_VOL_LIBRARY
117  COIN_ZLIB_LIBRARY
118  COIN_BZ2_LIBRARY
119)
Note: See TracBrowser for help on using the repository browser.