this repo has no description
1### MiniZinc Library Target
2# Combined definition of the MiniZinc core and all solvers compiled
3
4include(cmake/targets/libminizinc_dtrace.cmake)
5include(cmake/targets/libminizinc_parser.cmake)
6include(cmake/targets/libminizinc_fzn.cmake)
7include(cmake/targets/libminizinc_nl.cmake)
8
9add_library(mzn
10 lib/MIPdomains.cpp
11 lib/ast.cpp
12 lib/astexception.cpp
13 lib/aststring.cpp
14 lib/astvec.cpp
15 lib/builtins.cpp
16 lib/cdecode.c
17 lib/cencode.c
18 lib/chain_compressor.cpp
19 lib/copy.cpp
20 lib/eval_par.cpp
21 lib/file_utils.cpp
22 lib/flatten.cpp
23 lib/flatten/flat_exp.cpp
24 lib/flatten/flatten_anon.cpp
25 lib/flatten/flatten_arrayaccess.cpp
26 lib/flatten/flatten_arraylit.cpp
27 lib/flatten/flatten_binop.cpp
28 lib/flatten/flatten_call.cpp
29 lib/flatten/flatten_comp.cpp
30 lib/flatten/flatten_id.cpp
31 lib/flatten/flatten_ite.cpp
32 lib/flatten/flatten_let.cpp
33 lib/flatten/flatten_par.cpp
34 lib/flatten/flatten_setlit.cpp
35 lib/flatten/flatten_unop.cpp
36 lib/flatten/flatten_vardecl.cpp
37 lib/flattener.cpp
38 lib/gc.cpp
39 lib/htmlprinter.cpp
40 lib/interpreter.cpp
41 lib/interpreter/bytecode.cpp
42 lib/interpreter/constraint.cpp
43 lib/interpreter/primitives.cpp
44 lib/interpreter/values.cpp
45 lib/interpreter/variable.cpp
46 lib/interpreter/vector.cpp
47 lib/json_parser.cpp
48 lib/lexer.lxx
49 lib/miniz.c
50 lib/model.cpp
51 lib/optimize.cpp
52 lib/optimize_constraints.cpp
53 lib/options.cpp
54 lib/output.cpp
55 lib/parser.cpp
56 lib/parser.yxx
57 lib/passes/compile_pass.cpp
58 lib/pathfileprinter.cpp
59 lib/prettyprinter.cpp
60 lib/process.cpp
61 lib/reader.cpp
62 lib/solns2out.cpp
63 lib/solver.cpp
64 lib/solver_config.cpp
65 lib/solver_instance.cpp
66 lib/solver_instance_base.cpp
67 lib/statistics.cpp
68 lib/type.cpp
69 lib/typecheck.cpp
70 lib/values.cpp
71 lib/support/assembly/parser.yxx
72 lib/support/assembly/lexer.lxx
73 lib/support/regex/parser.yxx
74 lib/support/regex/lexer.lxx
75
76 include/minizinc/ast.hh
77 include/minizinc/ast.hpp
78 include/minizinc/astexception.hh
79 include/minizinc/astiterator.hh
80 include/minizinc/aststring.hh
81 include/minizinc/astvec.hh
82 include/minizinc/builtins.hh
83 include/minizinc/interpreter.hh
84 include/minizinc/interpreter/_val_decl.hh
85 include/minizinc/interpreter/bytecode.hh
86 include/minizinc/interpreter/constraint.hh
87 include/minizinc/interpreter/cse.hh
88 include/minizinc/interpreter/cse.hpp
89 include/minizinc/interpreter/primitives.hh
90 include/minizinc/interpreter/rco.hh
91 include/minizinc/interpreter/values.hh
92 include/minizinc/interpreter/variable.hh
93 include/minizinc/interpreter/vector.hh
94 include/minizinc/chain_compressor.hh
95 include/minizinc/config.hh.in
96 include/minizinc/copy.hh
97 include/minizinc/eval_par.hh
98 include/minizinc/exception.hh
99 include/minizinc/file_utils.hh
100 include/minizinc/flat_exp.hh
101 include/minizinc/flatten.hh
102 include/minizinc/flatten_internal.hh
103 include/minizinc/flattener.hh
104 include/minizinc/gc.hh
105 include/minizinc/hash.hh
106 include/minizinc/htmlprinter.hh
107 include/minizinc/iter.hh
108 include/minizinc/json_parser.hh
109 include/minizinc/model.hh
110 include/minizinc/optimize.hh
111 include/minizinc/optimize_constraints.hh
112 include/minizinc/options.hh
113 include/minizinc/output.hh
114 include/minizinc/parser.hh
115 include/minizinc/passes/compile_pass.hh
116 include/minizinc/pathfileprinter.hh
117 include/minizinc/prettyprinter.hh
118 include/minizinc/process.hh
119 include/minizinc/reader.hh
120 include/minizinc/solns2out.hh
121 include/minizinc/solver.hh
122 include/minizinc/solver_config.hh
123 include/minizinc/solver_instance.hh
124 include/minizinc/solver_instance_base.hh
125 include/minizinc/statistics.hh
126 include/minizinc/support/regex.hh
127 include/minizinc/thirdparty/b64/cdecode.h
128 include/minizinc/thirdparty/b64/cencode.h
129 include/minizinc/thirdparty/b64/decode.h
130 include/minizinc/thirdparty/b64/encode.h
131 include/minizinc/thirdparty/miniz.h
132 include/minizinc/timer.hh
133 include/minizinc/type.hh
134 include/minizinc/typecheck.hh
135 include/minizinc/utils.hh
136 include/minizinc/values.hh
137
138 ${DTRACE_SOURCES}
139 $<TARGET_OBJECTS:minizinc_parser>
140 $<TARGET_OBJECTS:minizinc_fzn>
141 $<TARGET_OBJECTS:minizinc_nl>
142)
143target_link_libraries(mzn ${CMAKE_THREAD_LIBS_INIT})
144if(DTRACE)
145 target_compile_definitions(mzn PRIVATE USE_DYNAMIC_TRACE)
146endif()
147
148### Add Solver Interfaces to the MiniZinc library when available
149include(cmake/targets/libminizinc_cplex.cmake)
150include(cmake/targets/libminizinc_geas.cmake)
151include(cmake/targets/libminizinc_gecode.cmake)
152include(cmake/targets/libminizinc_gurobi.cmake)
153include(cmake/targets/libminizinc_osicbc.cmake)
154include(cmake/targets/libminizinc_scip.cmake)
155include(cmake/targets/libminizinc_xpress.cmake)
156
157if(GECODE_FOUND AND USE_GECODE)
158 target_link_libraries(mzn Gecode::Minimodel Gecode::Support)
159endif()
160
161
162
163### Add all necessary files to the install target
164install(
165 TARGETS mzn
166 EXPORT libminizincTargets
167 RUNTIME DESTINATION bin
168 LIBRARY DESTINATION lib
169 ARCHIVE DESTINATION lib
170)
171install(
172 DIRECTORY share/minizinc
173 DESTINATION share
174)
175install(
176 DIRECTORY include/minizinc
177 DESTINATION include
178 PATTERN config.hh.in EXCLUDE
179)
180install(
181 DIRECTORY lib/cached/minizinc
182 DESTINATION include
183)