-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdune
70 lines (66 loc) · 1.69 KB
/
dune
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
(env
(_
(env-vars
(CMAKE_INCLUDE_PATH "../../cadical/src/:../../libpoly/:../../")
(CMAKE_LIBRARY_PATH "../../cadical/build/:../../libpoly/build/src/"))))
(rule
(deps
(source_tree vendor))
(targets libpicpolyxx.a libpicpoly.a libcadical.a libcvc5.a cvc5_export.h)
(action
(no-infer
(progn
(chdir
vendor/cadical
(progn
(bash "CXXFLAGS=-fPIC ./configure")
(run make)))
(copy vendor/cadical/build/libcadical.a libcadical.a)
(chdir
vendor/libpoly
(progn
(run
cmake
-B
build
-DCMAKE_BUILD_TYPE=$type
-DCMAKE_INSTALL_PREFIX=$prefix)
(chdir
build
(run make))
(run mv include poly)))
(copy vendor/libpoly/build/src/libpicpoly.a libpicpoly.a)
(copy vendor/libpoly/build/src/libpicpolyxx.a libpicpolyxx.a)
(chdir
vendor/cvc5
(progn
(bash "./configure.sh --static")
(run make -C build)))
(copy vendor/cvc5/build/src/libcvc5.a libcvc5.a)
(copy vendor/cvc5/build/include/cvc5/cvc5_export.h cvc5_export.h)))))
(subdir
vendor/cvc5/include/cvc5
(rule
(deps ../../../../cvc5_export.h)
(targets cvc5_export.h)
(action
(copy %{deps} %{targets}))))
(library
(public_name cvc5)
(name cvc5)
(modules cvc5 cvc5_enums cvc5_external)
(no_dynlink)
(foreign_stubs
(language cxx)
(names cvc5_stubs)
(flags :standard -std=c++17 -I/opt/homebrew/include)
(include_dirs vendor/cvc5/include vendor/cvc5/src vendor/cvc5/src/lib))
(foreign_archives cvc5 cadical picpoly picpolyxx)
(c_library_flags :standard -std=c++17 -L/opt/homebrew/lib -lgmp))
(rule
(deps ./api/cvc5_enums.exe)
(target cvc5_enums.ml)
(action
(with-stdout-to
%{target}
(run %{deps}))))