lemongraph 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +8 -0
  3. data/LICENSE +674 -0
  4. data/README.md +6 -0
  5. data/ext/lemon-1.3.1/AUTHORS +26 -0
  6. data/ext/lemon-1.3.1/CMakeLists.txt +371 -0
  7. data/ext/lemon-1.3.1/INSTALL +167 -0
  8. data/ext/lemon-1.3.1/LICENSE +32 -0
  9. data/ext/lemon-1.3.1/NEWS +337 -0
  10. data/ext/lemon-1.3.1/README +50 -0
  11. data/ext/lemon-1.3.1/cmake/FindCOIN.cmake +110 -0
  12. data/ext/lemon-1.3.1/cmake/FindGLPK.cmake +55 -0
  13. data/ext/lemon-1.3.1/cmake/FindGhostscript.cmake +10 -0
  14. data/ext/lemon-1.3.1/cmake/FindILOG.cmake +102 -0
  15. data/ext/lemon-1.3.1/cmake/FindSOPLEX.cmake +23 -0
  16. data/ext/lemon-1.3.1/cmake/LEMONConfig.cmake.in +13 -0
  17. data/ext/lemon-1.3.1/cmake/nsis/lemon.ico +0 -0
  18. data/ext/lemon-1.3.1/cmake/nsis/uninstall.ico +0 -0
  19. data/ext/lemon-1.3.1/cmake/version.cmake +1 -0
  20. data/ext/lemon-1.3.1/cmake/version.cmake.in +1 -0
  21. data/ext/lemon-1.3.1/contrib/CMakeLists.txt +19 -0
  22. data/ext/lemon-1.3.1/lemon/CMakeLists.txt +91 -0
  23. data/ext/lemon-1.3.1/lemon/adaptors.h +3638 -0
  24. data/ext/lemon-1.3.1/lemon/arg_parser.cc +474 -0
  25. data/ext/lemon-1.3.1/lemon/arg_parser.h +440 -0
  26. data/ext/lemon-1.3.1/lemon/assert.h +214 -0
  27. data/ext/lemon-1.3.1/lemon/base.cc +37 -0
  28. data/ext/lemon-1.3.1/lemon/bellman_ford.h +1116 -0
  29. data/ext/lemon-1.3.1/lemon/bfs.h +1754 -0
  30. data/ext/lemon-1.3.1/lemon/bin_heap.h +347 -0
  31. data/ext/lemon-1.3.1/lemon/binomial_heap.h +445 -0
  32. data/ext/lemon-1.3.1/lemon/bits/alteration_notifier.h +472 -0
  33. data/ext/lemon-1.3.1/lemon/bits/array_map.h +351 -0
  34. data/ext/lemon-1.3.1/lemon/bits/bezier.h +174 -0
  35. data/ext/lemon-1.3.1/lemon/bits/default_map.h +182 -0
  36. data/ext/lemon-1.3.1/lemon/bits/edge_set_extender.h +627 -0
  37. data/ext/lemon-1.3.1/lemon/bits/enable_if.h +131 -0
  38. data/ext/lemon-1.3.1/lemon/bits/graph_adaptor_extender.h +401 -0
  39. data/ext/lemon-1.3.1/lemon/bits/graph_extender.h +1332 -0
  40. data/ext/lemon-1.3.1/lemon/bits/lock.h +65 -0
  41. data/ext/lemon-1.3.1/lemon/bits/map_extender.h +332 -0
  42. data/ext/lemon-1.3.1/lemon/bits/path_dump.h +177 -0
  43. data/ext/lemon-1.3.1/lemon/bits/solver_bits.h +194 -0
  44. data/ext/lemon-1.3.1/lemon/bits/traits.h +388 -0
  45. data/ext/lemon-1.3.1/lemon/bits/variant.h +494 -0
  46. data/ext/lemon-1.3.1/lemon/bits/vector_map.h +244 -0
  47. data/ext/lemon-1.3.1/lemon/bits/windows.cc +166 -0
  48. data/ext/lemon-1.3.1/lemon/bits/windows.h +44 -0
  49. data/ext/lemon-1.3.1/lemon/bucket_heap.h +594 -0
  50. data/ext/lemon-1.3.1/lemon/capacity_scaling.h +1014 -0
  51. data/ext/lemon-1.3.1/lemon/cbc.cc +460 -0
  52. data/ext/lemon-1.3.1/lemon/cbc.h +129 -0
  53. data/ext/lemon-1.3.1/lemon/christofides_tsp.h +254 -0
  54. data/ext/lemon-1.3.1/lemon/circulation.h +807 -0
  55. data/ext/lemon-1.3.1/lemon/clp.cc +464 -0
  56. data/ext/lemon-1.3.1/lemon/clp.h +164 -0
  57. data/ext/lemon-1.3.1/lemon/color.cc +44 -0
  58. data/ext/lemon-1.3.1/lemon/color.h +204 -0
  59. data/ext/lemon-1.3.1/lemon/concept_check.h +77 -0
  60. data/ext/lemon-1.3.1/lemon/concepts/bpgraph.h +1029 -0
  61. data/ext/lemon-1.3.1/lemon/concepts/digraph.h +491 -0
  62. data/ext/lemon-1.3.1/lemon/concepts/graph.h +788 -0
  63. data/ext/lemon-1.3.1/lemon/concepts/graph_components.h +2134 -0
  64. data/ext/lemon-1.3.1/lemon/concepts/heap.h +324 -0
  65. data/ext/lemon-1.3.1/lemon/concepts/maps.h +223 -0
  66. data/ext/lemon-1.3.1/lemon/concepts/path.h +312 -0
  67. data/ext/lemon-1.3.1/lemon/config.h.in +22 -0
  68. data/ext/lemon-1.3.1/lemon/connectivity.h +1688 -0
  69. data/ext/lemon-1.3.1/lemon/core.h +2506 -0
  70. data/ext/lemon-1.3.1/lemon/cost_scaling.h +1607 -0
  71. data/ext/lemon-1.3.1/lemon/counter.h +249 -0
  72. data/ext/lemon-1.3.1/lemon/cplex.cc +994 -0
  73. data/ext/lemon-1.3.1/lemon/cplex.h +292 -0
  74. data/ext/lemon-1.3.1/lemon/cycle_canceling.h +1230 -0
  75. data/ext/lemon-1.3.1/lemon/dfs.h +1637 -0
  76. data/ext/lemon-1.3.1/lemon/dheap.h +352 -0
  77. data/ext/lemon-1.3.1/lemon/dijkstra.h +1303 -0
  78. data/ext/lemon-1.3.1/lemon/dim2.h +726 -0
  79. data/ext/lemon-1.3.1/lemon/dimacs.h +448 -0
  80. data/ext/lemon-1.3.1/lemon/edge_set.h +1420 -0
  81. data/ext/lemon-1.3.1/lemon/edmonds_karp.h +556 -0
  82. data/ext/lemon-1.3.1/lemon/elevator.h +982 -0
  83. data/ext/lemon-1.3.1/lemon/error.h +276 -0
  84. data/ext/lemon-1.3.1/lemon/euler.h +287 -0
  85. data/ext/lemon-1.3.1/lemon/fib_heap.h +475 -0
  86. data/ext/lemon-1.3.1/lemon/fractional_matching.h +2139 -0
  87. data/ext/lemon-1.3.1/lemon/full_graph.h +1082 -0
  88. data/ext/lemon-1.3.1/lemon/glpk.cc +1012 -0
  89. data/ext/lemon-1.3.1/lemon/glpk.h +263 -0
  90. data/ext/lemon-1.3.1/lemon/gomory_hu.h +568 -0
  91. data/ext/lemon-1.3.1/lemon/graph_to_eps.h +1186 -0
  92. data/ext/lemon-1.3.1/lemon/greedy_tsp.h +251 -0
  93. data/ext/lemon-1.3.1/lemon/grid_graph.h +699 -0
  94. data/ext/lemon-1.3.1/lemon/grosso_locatelli_pullan_mc.h +840 -0
  95. data/ext/lemon-1.3.1/lemon/hao_orlin.h +1015 -0
  96. data/ext/lemon-1.3.1/lemon/hartmann_orlin_mmc.h +654 -0
  97. data/ext/lemon-1.3.1/lemon/howard_mmc.h +651 -0
  98. data/ext/lemon-1.3.1/lemon/hypercube_graph.h +459 -0
  99. data/ext/lemon-1.3.1/lemon/insertion_tsp.h +533 -0
  100. data/ext/lemon-1.3.1/lemon/karp_mmc.h +590 -0
  101. data/ext/lemon-1.3.1/lemon/kruskal.h +324 -0
  102. data/ext/lemon-1.3.1/lemon/lemon.pc.in +10 -0
  103. data/ext/lemon-1.3.1/lemon/lgf_reader.h +3854 -0
  104. data/ext/lemon-1.3.1/lemon/lgf_writer.h +2687 -0
  105. data/ext/lemon-1.3.1/lemon/list_graph.h +2510 -0
  106. data/ext/lemon-1.3.1/lemon/lp.h +95 -0
  107. data/ext/lemon-1.3.1/lemon/lp_base.cc +30 -0
  108. data/ext/lemon-1.3.1/lemon/lp_base.h +2147 -0
  109. data/ext/lemon-1.3.1/lemon/lp_skeleton.cc +143 -0
  110. data/ext/lemon-1.3.1/lemon/lp_skeleton.h +234 -0
  111. data/ext/lemon-1.3.1/lemon/maps.h +4057 -0
  112. data/ext/lemon-1.3.1/lemon/matching.h +3505 -0
  113. data/ext/lemon-1.3.1/lemon/math.h +77 -0
  114. data/ext/lemon-1.3.1/lemon/max_cardinality_search.h +794 -0
  115. data/ext/lemon-1.3.1/lemon/min_cost_arborescence.h +808 -0
  116. data/ext/lemon-1.3.1/lemon/nagamochi_ibaraki.h +702 -0
  117. data/ext/lemon-1.3.1/lemon/nauty_reader.h +113 -0
  118. data/ext/lemon-1.3.1/lemon/nearest_neighbor_tsp.h +238 -0
  119. data/ext/lemon-1.3.1/lemon/network_simplex.h +1659 -0
  120. data/ext/lemon-1.3.1/lemon/opt2_tsp.h +367 -0
  121. data/ext/lemon-1.3.1/lemon/pairing_heap.h +474 -0
  122. data/ext/lemon-1.3.1/lemon/path.h +1164 -0
  123. data/ext/lemon-1.3.1/lemon/planarity.h +2754 -0
  124. data/ext/lemon-1.3.1/lemon/preflow.h +985 -0
  125. data/ext/lemon-1.3.1/lemon/quad_heap.h +343 -0
  126. data/ext/lemon-1.3.1/lemon/radix_heap.h +438 -0
  127. data/ext/lemon-1.3.1/lemon/radix_sort.h +487 -0
  128. data/ext/lemon-1.3.1/lemon/random.cc +29 -0
  129. data/ext/lemon-1.3.1/lemon/random.h +1005 -0
  130. data/ext/lemon-1.3.1/lemon/smart_graph.h +1344 -0
  131. data/ext/lemon-1.3.1/lemon/soplex.cc +465 -0
  132. data/ext/lemon-1.3.1/lemon/soplex.h +158 -0
  133. data/ext/lemon-1.3.1/lemon/static_graph.h +476 -0
  134. data/ext/lemon-1.3.1/lemon/suurballe.h +776 -0
  135. data/ext/lemon-1.3.1/lemon/time_measure.h +610 -0
  136. data/ext/lemon-1.3.1/lemon/tolerance.h +242 -0
  137. data/ext/lemon-1.3.1/lemon/unionfind.h +1824 -0
  138. data/ext/lemon-1.3.1/scripts/unify-sources.sh +390 -0
  139. data/ext/lemon-1.3.1/scripts/valgrind-wrapper.sh +22 -0
  140. data/ext/lemongraph/arc_map.cc +1007 -0
  141. data/ext/lemongraph/digraph.cc +282 -0
  142. data/ext/lemongraph/digraph_arc.cc +153 -0
  143. data/ext/lemongraph/digraph_node.cc +277 -0
  144. data/ext/lemongraph/edge_map.cc +770 -0
  145. data/ext/lemongraph/extconf.rb +53 -0
  146. data/ext/lemongraph/graph.cc +351 -0
  147. data/ext/lemongraph/graph_arc.cc +95 -0
  148. data/ext/lemongraph/graph_edge.cc +153 -0
  149. data/ext/lemongraph/graph_item.cc +76 -0
  150. data/ext/lemongraph/graph_node.cc +321 -0
  151. data/ext/lemongraph/lemongraph.cc +260 -0
  152. data/ext/lemongraph/lemongraph.hh +295 -0
  153. data/ext/lemongraph/lemongraph.map +6 -0
  154. data/ext/lemongraph/lemongraph_export.hh +31 -0
  155. data/ext/lemongraph/node_map.cc +1011 -0
  156. data/lemongraph.gemspec +176 -0
  157. data/lib/lemongraph/graphviz.rb +240 -0
  158. data/lib/lemongraph/version.rb +4 -0
  159. data/lib/lemongraph.rb +21 -0
  160. data/samples/lemondeps.rb +38 -0
  161. metadata +202 -0
@@ -0,0 +1,337 @@
1
+ 2014-07-07 Version 1.3.1 released
2
+
3
+ Bugfix release.
4
+
5
+ #484: Require CMAKE 2.8
6
+ #471, #472, #480: Various clang compatibility fixes
7
+ #481, #482: Fix shared lib build and versioning
8
+ #476: Fix invalid map query in NearestNeighborTsp
9
+ #478: Bugfix in debug checking and lower bound handling
10
+ in min cost flow algorithms
11
+ #479, #465: Bugfix in default LP/MIP backend settings
12
+ #476: Bugfix in tsp_test
13
+ #487: Add missing include header and std:: namespace spec.
14
+ #474: Fix division by zero error in NetworkSimplex
15
+
16
+ 2013-08-10 Version 1.3 released
17
+
18
+ This is major feature release
19
+
20
+ * New data structures
21
+
22
+ #69 : Bipartite graph concepts and implementations
23
+
24
+ * New algorithms
25
+
26
+ #177: Port Edmonds-Karp algorithm
27
+ #380, #405: Heuristic algorithm for the max clique problem
28
+ #386: Heuristic algorithms for symmetric TSP
29
+ ----: Nagamochi-Ibaraki algorithm [5087694945e4]
30
+ #397, #56: Max. cardinality search
31
+
32
+ * Other new features
33
+
34
+ #223: Thread safe graph and graph map implementations
35
+ #442: Different TimeStamp print formats
36
+ #457: File export functionality to LpBase
37
+ #362: Bidirectional iterator support for radixSort()
38
+
39
+ * Implementation improvements
40
+
41
+ ----: Network Simplex
42
+ #391: Better update process, pivot rule and arc mixing
43
+ #435: Improved Altering List pivot rule
44
+ #417: Various fine tunings in CostScaling
45
+ #438: Optional iteration limit in HowardMmc
46
+ #436: Ensure strongly polynomial running time for CycleCanceling
47
+ while keeping the same performance
48
+ ----: Make the CBC interface be compatible with latest CBC releases
49
+ [ee581a0ecfbf]
50
+
51
+ * CMAKE has become the default build environment (#434)
52
+
53
+ ----: Autotool support has been dropped
54
+ ----: Improved LP/MIP configuration
55
+ #465: Enable/disable options for LP/MIP backends
56
+ #446: Better CPLEX discovery
57
+ #460: Add cmake config to find SoPlex
58
+ ----: Allow CPACK configuration on all platforms
59
+ #390: Add 'Maintainer' CMAKE build type
60
+ #388: Add 'check' target.
61
+ #401: Add contrib dir
62
+ #389: Better version string setting in CMAKE
63
+ #433: Support shared library build
64
+ #416: Support testing with valgrind
65
+
66
+ * Doc improvements
67
+
68
+ #395: SOURCE_BROWSER Doxygen switch is configurable from CMAKE
69
+ update-external-tags CMAKE target
70
+ #455: Optionally use MathJax for rendering the math formulae
71
+ #402, #437, #459, #456, #463: Various doc improvements
72
+
73
+ * Bugfixes (compared to release 1.2):
74
+
75
+ #432: Add missing doc/template.h and doc/references.bib to release
76
+ tarball
77
+ ----: Intel C++ compatibility fixes
78
+ #441: Fix buggy reinitialization in _solver_bits::VarIndex::clear()
79
+ #444: Bugfix in path copy constructors and assignment operators
80
+ #447: Bugfix in AllArcLookUp<>
81
+ #448: Bugfix in adaptor_test.cc
82
+ #449: Fix clang compilation warnings and errors
83
+ #440: Fix a bug + remove redundant typedefs in dimacs-solver
84
+ #453: Avoid GCC 4.7 compiler warnings
85
+ #445: Fix missing initialization in CplexEnv::CplexEnv()
86
+ #428: Add missing lemon/lemon.pc.cmake to the release tarball
87
+ #393: Create and install lemon.pc
88
+ #429: Fix VS warnings
89
+ #430: Fix LpBase::Constr two-side limit bug
90
+ #392: Bug fix in Dfs::start(s,t)
91
+ #414: Fix wrong initialization in Preflow
92
+ #418: Better Win CodeBlock/MinGW support
93
+ #419: Build environment improvements
94
+ - Build of mip_test and lp_test precede the running of the tests
95
+ - Also search for coin libs under ${COIN_ROOT_DIR}/lib/coin
96
+ - Do not look for COIN_VOL libraries
97
+ #382: Allow lgf file without Arc maps
98
+ #417: Bug fix in CostScaling
99
+ #366: Fix Pred[Matrix]MapPath::empty()
100
+ #371: Bug fix in (di)graphCopy()
101
+ The target graph is cleared before adding nodes and arcs/edges.
102
+ #364: Add missing UndirectedTags
103
+ #368: Fix the usage of std::numeric_limits<>::min() in Network Simplex
104
+ #372: Fix a critical bug in preflow
105
+ #461: Bugfix in assert.h
106
+ #470: Fix compilation issues related to various gcc versions
107
+ #446: Fix #define indicating CPLEX availability
108
+ #294: Add explicit namespace to
109
+ ignore_unused_variable_warning() usages
110
+ #420: Bugfix in IterableValueMap
111
+ #439: Bugfix in biNodeConnected()
112
+
113
+
114
+ 2010-03-19 Version 1.2 released
115
+
116
+ This is major feature release
117
+
118
+ * New algorithms
119
+ * Bellman-Ford algorithm (#51)
120
+ * Minimum mean cycle algorithms (#179)
121
+ * Karp, Hartman-Orlin and Howard algorithms
122
+ * New minimum cost flow algorithms (#180)
123
+ * Cost Scaling algorithms
124
+ * Capacity Scaling algorithm
125
+ * Cycle-Canceling algorithms
126
+ * Planarity related algorithms (#62)
127
+ * Planarity checking algorithm
128
+ * Planar embedding algorithm
129
+ * Schnyder's planar drawing algorithm
130
+ * Coloring planar graphs with five or six colors
131
+ * Fractional matching algorithms (#314)
132
+ * New data structures
133
+ * StaticDigraph structure (#68)
134
+ * Several new priority queue structures (#50, #301)
135
+ * Fibonacci, Radix, Bucket, Pairing, Binomial
136
+ D-ary and fourary heaps (#301)
137
+ * Iterable map structures (#73)
138
+ * Other new tools and functionality
139
+ * Map utility functions (#320)
140
+ * Reserve functions are added to ListGraph and SmartGraph (#311)
141
+ * A resize() function is added to HypercubeGraph (#311)
142
+ * A count() function is added to CrossRefMap (#302)
143
+ * Support for multiple targets in Suurballe using fullInit() (#181)
144
+ * Traits class and named parameters for Suurballe (#323)
145
+ * Separate reset() and resetParams() functions in NetworkSimplex
146
+ to handle graph changes (#327)
147
+ * tolerance() functions are added to HaoOrlin (#306)
148
+ * Implementation improvements
149
+ * Improvements in weighted matching algorithms (#314)
150
+ * Jumpstart initialization
151
+ * ArcIt iteration is based on out-arc lists instead of in-arc lists
152
+ in ListDigraph (#311)
153
+ * Faster add row operation in CbcMip (#203)
154
+ * Better implementation for split() in ListDigraph (#311)
155
+ * ArgParser can also throw exception instead of exit(1) (#332)
156
+ * Miscellaneous
157
+ * A simple interactive bootstrap script
158
+ * Doc improvements (#62,#180,#299,#302,#303,#304,#307,#311,#331,#315,
159
+ #316,#319)
160
+ * BibTeX references in the doc (#184)
161
+ * Optionally use valgrind when running tests
162
+ * Also check ReferenceMapTag in concept checks (#312)
163
+ * dimacs-solver uses long long type by default.
164
+ * Several bugfixes (compared to release 1.1):
165
+ #295: Suppress MSVC warnings using pragmas
166
+ ----: Various CMAKE related improvements
167
+ * Remove duplications from doc/CMakeLists.txt
168
+ * Rename documentation install folder from 'docs' to 'html'
169
+ * Add tools/CMakeLists.txt to the tarball
170
+ * Generate and install LEMONConfig.cmake
171
+ * Change the label of the html project in Visual Studio
172
+ * Fix the check for the 'long long' type
173
+ * Put the version string into config.h
174
+ * Minor CMake improvements
175
+ * Set the version to 'hg-tip' if everything fails
176
+ #311: Add missing 'explicit' keywords
177
+ #302: Fix the implementation and doc of CrossRefMap
178
+ #308: Remove duplicate list_graph.h entry from source list
179
+ #307: Bugfix in Preflow and Circulation
180
+ #305: Bugfix and extension in the rename script
181
+ #312: Also check ReferenceMapTag in concept checks
182
+ #250: Bugfix in pathSource() and pathTarget()
183
+ #321: Use pathCopy(from,to) instead of copyPath(to,from)
184
+ #322: Distribure LEMONConfig.cmake.in
185
+ #330: Bug fix in map_extender.h
186
+ #336: Fix the date field comment of graphToEps() output
187
+ #323: Bug fix in Suurballe
188
+ #335: Fix clear() function in ExtendFindEnum
189
+ #337: Use void* as the LPX object pointer
190
+ #317: Fix (and improve) error message in mip_test.cc
191
+ Remove unnecessary OsiCbc dependency
192
+ #356: Allow multiple executions of weighted matching algorithms (#356)
193
+
194
+ 2009-05-13 Version 1.1 released
195
+
196
+ This is the second stable release of the 1.x series. It
197
+ features a better coverage of the tools available in the 0.x
198
+ series, a thoroughly reworked LP/MIP interface plus various
199
+ improvements in the existing tools.
200
+
201
+ * Much improved M$ Windows support
202
+ * Various improvements in the CMAKE build system
203
+ * Compilation warnings are fixed/suppressed
204
+ * Support IBM xlC compiler
205
+ * New algorithms
206
+ * Connectivity related algorithms (#61)
207
+ * Euler walks (#65)
208
+ * Preflow push-relabel max. flow algorithm (#176)
209
+ * Circulation algorithm (push-relabel based) (#175)
210
+ * Suurballe algorithm (#47)
211
+ * Gomory-Hu algorithm (#66)
212
+ * Hao-Orlin algorithm (#58)
213
+ * Edmond's maximum cardinality and weighted matching algorithms
214
+ in general graphs (#48,#265)
215
+ * Minimum cost arborescence/branching (#60)
216
+ * Network Simplex min. cost flow algorithm (#234)
217
+ * New data structures
218
+ * Full graph structure (#57)
219
+ * Grid graph structure (#57)
220
+ * Hypercube graph structure (#57)
221
+ * Graph adaptors (#67)
222
+ * ArcSet and EdgeSet classes (#67)
223
+ * Elevator class (#174)
224
+ * Other new tools
225
+ * LP/MIP interface (#44)
226
+ * Support for GLPK, CPLEX, Soplex, COIN-OR CLP and CBC
227
+ * Reader for the Nauty file format (#55)
228
+ * DIMACS readers (#167)
229
+ * Radix sort algorithms (#72)
230
+ * RangeIdMap and CrossRefMap (#160)
231
+ * New command line tools
232
+ * DIMACS to LGF converter (#182)
233
+ * lgf-gen - a graph generator (#45)
234
+ * DIMACS solver utility (#226)
235
+ * Other code improvements
236
+ * Lognormal distribution added to Random (#102)
237
+ * Better (i.e. O(1) time) item counting in SmartGraph (#3)
238
+ * The standard maps of graphs are guaranteed to be
239
+ reference maps (#190)
240
+ * Miscellaneous
241
+ * Various doc improvements
242
+ * Improved 0.x -> 1.x converter script
243
+
244
+ * Several bugfixes (compared to release 1.0):
245
+ #170: Bugfix SmartDigraph::split()
246
+ #171: Bugfix in SmartGraph::restoreSnapshot()
247
+ #172: Extended test cases for graphs and digraphs
248
+ #173: Bugfix in Random
249
+ * operator()s always return a double now
250
+ * the faulty real<Num>(Num) and real<Num>(Num,Num)
251
+ have been removed
252
+ #187: Remove DijkstraWidestPathOperationTraits
253
+ #61: Bugfix in DfsVisit
254
+ #193: Bugfix in GraphReader::skipSection()
255
+ #195: Bugfix in ConEdgeIt()
256
+ #197: Bugfix in heap unionfind
257
+ * This bug affects Edmond's general matching algorithms
258
+ #207: Fix 'make install' without 'make html' using CMAKE
259
+ #208: Suppress or fix VS2008 compilation warnings
260
+ ----: Update the LEMON icon
261
+ ----: Enable the component-based installer
262
+ (in installers made by CPACK)
263
+ ----: Set the proper version for CMAKE in the tarballs
264
+ (made by autotools)
265
+ ----: Minor clarification in the LICENSE file
266
+ ----: Add missing unistd.h include to time_measure.h
267
+ #204: Compilation bug fixed in graph_to_eps.h with VS2005
268
+ #214,#215: windows.h should never be included by LEMON headers
269
+ #230: Build systems check the availability of 'long long' type
270
+ #229: Default implementation of Tolerance<> is used for integer types
271
+ #211,#212: Various fixes for compiling on AIX
272
+ ----: Improvements in CMAKE config
273
+ - docs is installed in share/doc/
274
+ - detects newer versions of Ghostscript
275
+ #239: Fix missing 'inline' specifier in time_measure.h
276
+ #274,#280: Install lemon/config.h
277
+ #275: Prefix macro names with LEMON_ in lemon/config.h
278
+ ----: Small script for making the release tarballs added
279
+ ----: Minor improvement in unify-sources.sh (a76f55d7d397)
280
+
281
+ 2009-03-27 LEMON joins to the COIN-OR initiative
282
+
283
+ COIN-OR (Computational Infrastructure for Operations Research,
284
+ http://www.coin-or.org) project is an initiative to spur the
285
+ development of open-source software for the operations research
286
+ community.
287
+
288
+ 2008-10-13 Version 1.0 released
289
+
290
+ This is the first stable release of LEMON. Compared to the 0.x
291
+ release series, it features a considerably smaller but more
292
+ matured set of tools. The API has also completely revised and
293
+ changed in several places.
294
+
295
+ * The major name changes compared to the 0.x series (see the
296
+ Migration Guide in the doc for more details)
297
+ * Graph -> Digraph, UGraph -> Graph
298
+ * Edge -> Arc, UEdge -> Edge
299
+ * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
300
+ * Other improvements
301
+ * Better documentation
302
+ * Reviewed and cleaned up codebase
303
+ * CMake based build system (along with the autotools based one)
304
+ * Contents of the library (ported from 0.x)
305
+ * Algorithms
306
+ * breadth-first search (bfs.h)
307
+ * depth-first search (dfs.h)
308
+ * Dijkstra's algorithm (dijkstra.h)
309
+ * Kruskal's algorithm (kruskal.h)
310
+ * Data structures
311
+ * graph data structures (list_graph.h, smart_graph.h)
312
+ * path data structures (path.h)
313
+ * binary heap data structure (bin_heap.h)
314
+ * union-find data structures (unionfind.h)
315
+ * miscellaneous property maps (maps.h)
316
+ * two dimensional vector and bounding box (dim2.h)
317
+ * Concepts
318
+ * graph structure concepts (concepts/digraph.h, concepts/graph.h,
319
+ concepts/graph_components.h)
320
+ * concepts for other structures (concepts/heap.h, concepts/maps.h,
321
+ concepts/path.h)
322
+ * Tools
323
+ * Mersenne twister random number generator (random.h)
324
+ * tools for measuring cpu and wall clock time (time_measure.h)
325
+ * tools for counting steps and events (counter.h)
326
+ * tool for parsing command line arguments (arg_parser.h)
327
+ * tool for visualizing graphs (graph_to_eps.h)
328
+ * tools for reading and writing data in LEMON Graph Format
329
+ (lgf_reader.h, lgf_writer.h)
330
+ * tools to handle the anomalies of calculations with
331
+ floating point numbers (tolerance.h)
332
+ * tools to manage RGB colors (color.h)
333
+ * Infrastructure
334
+ * extended assertion handling (assert.h)
335
+ * exception classes and error handling (error.h)
336
+ * concept checking (concept_check.h)
337
+ * commonly used mathematical constants (math.h)
@@ -0,0 +1,50 @@
1
+ =====================================================================
2
+ LEMON - a Library for Efficient Modeling and Optimization in Networks
3
+ =====================================================================
4
+
5
+ LEMON is an open source library written in C++. It provides
6
+ easy-to-use implementations of common data structures and algorithms
7
+ in the area of optimization and helps implementing new ones. The main
8
+ focus is on graphs and graph algorithms, thus it is especially
9
+ suitable for solving design and optimization problems of
10
+ telecommunication networks. To achieve wide usability its data
11
+ structures and algorithms provide generic interfaces.
12
+
13
+ Contents
14
+ ========
15
+
16
+ LICENSE
17
+
18
+ Copying, distribution and modification conditions and terms.
19
+
20
+ NEWS
21
+
22
+ News and version history.
23
+
24
+ INSTALL
25
+
26
+ General building and installation instructions.
27
+
28
+ lemon/
29
+
30
+ Source code of LEMON library.
31
+
32
+ doc/
33
+
34
+ Documentation of LEMON. The starting page is doc/html/index.html.
35
+
36
+ demo/
37
+
38
+ Some example programs to make you easier to get familiar with LEMON.
39
+
40
+ scripts/
41
+
42
+ Scripts that make it easier to develop LEMON.
43
+
44
+ test/
45
+
46
+ Programs to check the integrity and correctness of LEMON.
47
+
48
+ tools/
49
+
50
+ Various utilities related to LEMON.
@@ -0,0 +1,110 @@
1
+ SET(COIN_ROOT_DIR "" CACHE PATH "COIN root directory")
2
+
3
+ FIND_PATH(COIN_INCLUDE_DIR coin/CoinUtilsConfig.h
4
+ HINTS ${COIN_ROOT_DIR}/include
5
+ )
6
+ FIND_LIBRARY(COIN_CBC_LIBRARY
7
+ NAMES Cbc libCbc
8
+ HINTS ${COIN_ROOT_DIR}/lib/coin
9
+ HINTS ${COIN_ROOT_DIR}/lib
10
+ )
11
+ FIND_LIBRARY(COIN_CBC_SOLVER_LIBRARY
12
+ NAMES CbcSolver libCbcSolver
13
+ HINTS ${COIN_ROOT_DIR}/lib/coin
14
+ HINTS ${COIN_ROOT_DIR}/lib
15
+ )
16
+ FIND_LIBRARY(COIN_CGL_LIBRARY
17
+ NAMES Cgl libCgl
18
+ HINTS ${COIN_ROOT_DIR}/lib/coin
19
+ HINTS ${COIN_ROOT_DIR}/lib
20
+ )
21
+ FIND_LIBRARY(COIN_CLP_LIBRARY
22
+ NAMES Clp libClp
23
+ HINTS ${COIN_ROOT_DIR}/lib/coin
24
+ HINTS ${COIN_ROOT_DIR}/lib
25
+ )
26
+ FIND_LIBRARY(COIN_COIN_UTILS_LIBRARY
27
+ NAMES CoinUtils libCoinUtils
28
+ HINTS ${COIN_ROOT_DIR}/lib/coin
29
+ HINTS ${COIN_ROOT_DIR}/lib
30
+ )
31
+ FIND_LIBRARY(COIN_OSI_LIBRARY
32
+ NAMES Osi libOsi
33
+ HINTS ${COIN_ROOT_DIR}/lib/coin
34
+ HINTS ${COIN_ROOT_DIR}/lib
35
+ )
36
+ FIND_LIBRARY(COIN_OSI_CBC_LIBRARY
37
+ NAMES OsiCbc libOsiCbc
38
+ HINTS ${COIN_ROOT_DIR}/lib/coin
39
+ HINTS ${COIN_ROOT_DIR}/lib
40
+ )
41
+ FIND_LIBRARY(COIN_OSI_CLP_LIBRARY
42
+ NAMES OsiClp libOsiClp
43
+ HINTS ${COIN_ROOT_DIR}/lib/coin
44
+ HINTS ${COIN_ROOT_DIR}/lib
45
+ )
46
+ FIND_LIBRARY(COIN_OSI_VOL_LIBRARY
47
+ NAMES OsiVol libOsiVol
48
+ HINTS ${COIN_ROOT_DIR}/lib/coin
49
+ HINTS ${COIN_ROOT_DIR}/lib
50
+ )
51
+ FIND_LIBRARY(COIN_VOL_LIBRARY
52
+ NAMES Vol libVol
53
+ HINTS ${COIN_ROOT_DIR}/lib/coin
54
+ HINTS ${COIN_ROOT_DIR}/lib
55
+ )
56
+
57
+ FIND_LIBRARY(COIN_ZLIB_LIBRARY
58
+ NAMES z libz
59
+ HINTS ${COIN_ROOT_DIR}/lib/coin
60
+ HINTS ${COIN_ROOT_DIR}/lib
61
+ )
62
+ FIND_LIBRARY(COIN_BZ2_LIBRARY
63
+ NAMES bz2 libbz2
64
+ HINTS ${COIN_ROOT_DIR}/lib/coin
65
+ HINTS ${COIN_ROOT_DIR}/lib
66
+ )
67
+
68
+ INCLUDE(FindPackageHandleStandardArgs)
69
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(COIN DEFAULT_MSG
70
+ COIN_INCLUDE_DIR
71
+ COIN_CBC_LIBRARY
72
+ COIN_CBC_SOLVER_LIBRARY
73
+ COIN_CGL_LIBRARY
74
+ COIN_CLP_LIBRARY
75
+ COIN_COIN_UTILS_LIBRARY
76
+ COIN_OSI_LIBRARY
77
+ COIN_OSI_CBC_LIBRARY
78
+ COIN_OSI_CLP_LIBRARY
79
+ # COIN_OSI_VOL_LIBRARY
80
+ # COIN_VOL_LIBRARY
81
+ )
82
+
83
+ IF(COIN_FOUND)
84
+ SET(COIN_INCLUDE_DIRS ${COIN_INCLUDE_DIR})
85
+ SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY};${COIN_ZLIB_LIBRARY};${COIN_BZ2_LIBRARY}")
86
+ IF(COIN_ZLIB_LIBRARY)
87
+ SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_ZLIB_LIBRARY}")
88
+ ENDIF(COIN_ZLIB_LIBRARY)
89
+ IF(COIN_BZ2_LIBRARY)
90
+ SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_BZ2_LIBRARY}")
91
+ ENDIF(COIN_BZ2_LIBRARY)
92
+ 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_ZLIB_LIBRARY};${COIN_BZ2_LIBRARY};${COIN_CLP_LIBRARIES}")
93
+ SET(COIN_LIBRARIES ${COIN_CBC_LIBRARIES})
94
+ ENDIF(COIN_FOUND)
95
+
96
+ MARK_AS_ADVANCED(
97
+ COIN_INCLUDE_DIR
98
+ COIN_CBC_LIBRARY
99
+ COIN_CBC_SOLVER_LIBRARY
100
+ COIN_CGL_LIBRARY
101
+ COIN_CLP_LIBRARY
102
+ COIN_COIN_UTILS_LIBRARY
103
+ COIN_OSI_LIBRARY
104
+ COIN_OSI_CBC_LIBRARY
105
+ COIN_OSI_CLP_LIBRARY
106
+ COIN_OSI_VOL_LIBRARY
107
+ COIN_VOL_LIBRARY
108
+ COIN_ZLIB_LIBRARY
109
+ COIN_BZ2_LIBRARY
110
+ )
@@ -0,0 +1,55 @@
1
+ SET(GLPK_ROOT_DIR "" CACHE PATH "GLPK root directory")
2
+
3
+ SET(GLPK_REGKEY "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Glpk;InstallPath]")
4
+ GET_FILENAME_COMPONENT(GLPK_ROOT_PATH ${GLPK_REGKEY} ABSOLUTE)
5
+
6
+ FIND_PATH(GLPK_INCLUDE_DIR
7
+ glpk.h
8
+ PATHS ${GLPK_REGKEY}/include
9
+ HINTS ${GLPK_ROOT_DIR}/include
10
+ )
11
+ FIND_LIBRARY(GLPK_LIBRARY
12
+ glpk
13
+ PATHS ${GLPK_REGKEY}/lib
14
+ HINTS ${GLPK_ROOT_DIR}/lib
15
+ )
16
+
17
+ IF(GLPK_INCLUDE_DIR AND GLPK_LIBRARY)
18
+ FILE(READ ${GLPK_INCLUDE_DIR}/glpk.h GLPK_GLPK_H)
19
+
20
+ STRING(REGEX MATCH "define[ ]+GLP_MAJOR_VERSION[ ]+[0-9]+" GLPK_MAJOR_VERSION_LINE "${GLPK_GLPK_H}")
21
+ STRING(REGEX REPLACE "define[ ]+GLP_MAJOR_VERSION[ ]+([0-9]+)" "\\1" GLPK_VERSION_MAJOR "${GLPK_MAJOR_VERSION_LINE}")
22
+
23
+ STRING(REGEX MATCH "define[ ]+GLP_MINOR_VERSION[ ]+[0-9]+" GLPK_MINOR_VERSION_LINE "${GLPK_GLPK_H}")
24
+ STRING(REGEX REPLACE "define[ ]+GLP_MINOR_VERSION[ ]+([0-9]+)" "\\1" GLPK_VERSION_MINOR "${GLPK_MINOR_VERSION_LINE}")
25
+
26
+ SET(GLPK_VERSION_STRING "${GLPK_VERSION_MAJOR}.${GLPK_VERSION_MINOR}")
27
+
28
+ IF(GLPK_FIND_VERSION)
29
+ IF(GLPK_FIND_VERSION_COUNT GREATER 2)
30
+ MESSAGE(SEND_ERROR "unexpected version string")
31
+ ENDIF(GLPK_FIND_VERSION_COUNT GREATER 2)
32
+
33
+ MATH(EXPR GLPK_REQUESTED_VERSION "${GLPK_FIND_VERSION_MAJOR}*100 + ${GLPK_FIND_VERSION_MINOR}")
34
+ MATH(EXPR GLPK_FOUND_VERSION "${GLPK_VERSION_MAJOR}*100 + ${GLPK_VERSION_MINOR}")
35
+
36
+ IF(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
37
+ SET(GLPK_PROPER_VERSION_FOUND FALSE)
38
+ ELSE(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
39
+ SET(GLPK_PROPER_VERSION_FOUND TRUE)
40
+ ENDIF(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
41
+ ELSE(GLPK_FIND_VERSION)
42
+ SET(GLPK_PROPER_VERSION_FOUND TRUE)
43
+ ENDIF(GLPK_FIND_VERSION)
44
+ ENDIF(GLPK_INCLUDE_DIR AND GLPK_LIBRARY)
45
+
46
+ INCLUDE(FindPackageHandleStandardArgs)
47
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLPK DEFAULT_MSG GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_PROPER_VERSION_FOUND)
48
+
49
+ IF(GLPK_FOUND)
50
+ SET(GLPK_INCLUDE_DIRS ${GLPK_INCLUDE_DIR})
51
+ SET(GLPK_LIBRARIES ${GLPK_LIBRARY})
52
+ SET(GLPK_BIN_DIR ${GLPK_ROOT_PATH}/bin)
53
+ ENDIF(GLPK_FOUND)
54
+
55
+ MARK_AS_ADVANCED(GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_BIN_DIR)
@@ -0,0 +1,10 @@
1
+ INCLUDE(FindPackageHandleStandardArgs)
2
+
3
+ FIND_PROGRAM(GHOSTSCRIPT_EXECUTABLE
4
+ NAMES gs gswin32c
5
+ PATHS "$ENV{ProgramFiles}/gs"
6
+ PATH_SUFFIXES gs8.61/bin gs8.62/bin gs8.63/bin gs8.64/bin gs8.65/bin
7
+ DOC "Ghostscript: PostScript and PDF language interpreter and previewer."
8
+ )
9
+
10
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ghostscript DEFAULT_MSG GHOSTSCRIPT_EXECUTABLE)
@@ -0,0 +1,102 @@
1
+ FIND_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
+
13
+ IF(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()
30
+ ENDIF()
31
+
32
+ FIND_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
+
40
+ FIND_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
+
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})
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")
97
+ ENDIF(ILOG_FOUND)
98
+
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
+ )
@@ -0,0 +1,23 @@
1
+ SET(SOPLEX_ROOT_DIR "" CACHE PATH "SoPlex root directory")
2
+
3
+ FIND_PATH(SOPLEX_INCLUDE_DIR
4
+ soplex.h
5
+ HINTS ${SOPLEX_ROOT_DIR}/src
6
+ )
7
+ FIND_LIBRARY(SOPLEX_LIBRARY
8
+ soplex
9
+ HINTS ${SOPLEX_ROOT_DIR}/lib
10
+ )
11
+
12
+ INCLUDE(FindPackageHandleStandardArgs)
13
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(SOPLEX DEFAULT_MSG SOPLEX_LIBRARY SOPLEX_INCLUDE_DIR)
14
+
15
+ IF(SOPLEX_FOUND)
16
+ SET(SOPLEX_INCLUDE_DIRS ${SOPLEX_INCLUDE_DIR})
17
+ SET(SOPLEX_LIBRARIES ${SOPLEX_LIBRARY})
18
+ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
19
+ SET(SOPLEX_LIBRARIES "${SOPLEX_LIBRARIES};z")
20
+ ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
21
+ ENDIF(SOPLEX_FOUND)
22
+
23
+ MARK_AS_ADVANCED(SOPLEX_LIBRARY SOPLEX_INCLUDE_DIR)