Skip to content

Commit 4591cac

Browse files
committed
add meson.build
1 parent e2ea6c1 commit 4591cac

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ docs
2222
docs.json
2323
out/
2424
/tests_extractor.d
25+
build/
26+
files

meson.build

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
project('mir-algorithm', 'd', version : '2.0.0')
2+
3+
pversion = meson.project_version()
4+
name = meson.project_name()
5+
uname = 'mir_algorithm'
6+
vname = name + '-' + pversion
7+
dc = meson.get_compiler('d')
8+
dversion_arg = ''
9+
if dc.get_id() == 'llvm'
10+
dversion_arg = '-d-version'
11+
elif dc.get_id() == 'gnu'
12+
dversion_arg = '-fversion'
13+
else
14+
dversion_arg = '-version'
15+
endif
16+
add_global_arguments([dversion_arg + '=Have_' + uname], language : 'd')
17+
18+
the_src = [
19+
'source/mir/algorithm/iteration.d',
20+
'source/mir/algorithm/setops.d',
21+
'source/mir/array/allocation.d',
22+
'source/mir/array/primitives.d',
23+
'source/mir/bitmanip.d',
24+
'source/mir/combinatorics/package.d',
25+
'source/mir/container/binaryheap.d',
26+
'source/mir/conv.d',
27+
'source/mir/functional.d',
28+
'source/mir/graph/package.d',
29+
'source/mir/graph/tarjan.d',
30+
'source/mir/internal/memory.d',
31+
'source/mir/internal/utility.d',
32+
'source/mir/interpolate/constant.d',
33+
'source/mir/interpolate/linear.d',
34+
'source/mir/interpolate/package.d',
35+
'source/mir/interpolate/pchip.d',
36+
'source/mir/interpolate/spline.d',
37+
'source/mir/interpolate/utility.d',
38+
'source/mir/math/common.d',
39+
'source/mir/math/constant.d',
40+
'source/mir/math/func/expdigamma.d',
41+
'source/mir/math/numeric.d',
42+
'source/mir/math/package.d',
43+
'source/mir/math/sum.d',
44+
'source/mir/ndslice/algorithm.d',
45+
'source/mir/ndslice/allocation.d',
46+
'source/mir/ndslice/chunks.d',
47+
'source/mir/ndslice/concatenation.d',
48+
'source/mir/ndslice/connect/cpython.d',
49+
'source/mir/ndslice/dynamic.d',
50+
'source/mir/ndslice/field.d',
51+
'source/mir/ndslice/fuse.d',
52+
'source/mir/ndslice/internal.d',
53+
'source/mir/ndslice/iterator.d',
54+
'source/mir/ndslice/mutation.d',
55+
'source/mir/ndslice/ndfield.d',
56+
'source/mir/ndslice/package.d',
57+
'source/mir/ndslice/slice.d',
58+
'source/mir/ndslice/sorting.d',
59+
'source/mir/ndslice/topology.d',
60+
'source/mir/ndslice/traits.d',
61+
'source/mir/primitives.d',
62+
'source/mir/qualifier.d',
63+
'source/mir/range.d',
64+
'source/mir/series.d',
65+
'source/mir/utility.d',
66+
'source/std/backdoor.d',
67+
]
68+
69+
mir_algorithm_lib = library(name,
70+
[the_src],
71+
install: true,
72+
version: pversion,
73+
include_directories: [include_directories('source')],
74+
)
75+
76+
install_subdir('include/',
77+
strip_directory :true,
78+
install_dir: 'include/',
79+
)
80+
81+
install_subdir('source/',
82+
strip_directory : true,
83+
install_dir: 'include/d/' + vname,
84+
)
85+
86+
import('pkgconfig').generate(
87+
name: name,
88+
description: 'Mir Algorithm - Dlang Core Library for math and finance.',
89+
subdirs: 'd/' + vname,
90+
libraries: [mir_algorithm_lib],
91+
version: pversion,
92+
)

0 commit comments

Comments
 (0)