[ Layer ] Add Concat Layer
[platform/core/ml/nntrainer.git] / nntrainer / meson.build
1 nntrainer_inc = [
2   include_directories('./include'),
3   include_directories('../api'),
4   include_directories('../api/ccapi/include')
5 ]
6
7 # pc file is not present for 'ml-api-common' yet
8 if cxx.has_header('nnstreamer/ml-api-common.h', required: false)
9   nntrainer_inc += include_directories ('/usr/include/nnstreamer')
10 else
11   nntrainer_inc += include_directories ('../api/capi/include/platform')
12 endif
13
14 # Dependencies
15 nntrainer_base_deps=[
16   openmp_dep,
17   blas_dep,
18   iniparser_dep,
19   libm_dep,
20   libdl_dep,
21   thread_dep
22 ]
23
24 if build_platform == 'tizen'
25   nntrainer_base_deps += dependency('dlog')
26 endif
27
28 nntrainer_sources = [
29   'src/activation_layer.cpp',
30   'src/addition_layer.cpp',
31   'src/concat_layer.cpp',
32   'src/blas_interface.cpp',
33   'src/bn_layer.cpp',
34   'src/conv2d_layer.cpp',
35   'src/databuffer.cpp',
36   'src/databuffer_factory.cpp',
37   'src/databuffer_file.cpp',
38   'src/databuffer_func.cpp',
39   'src/fc_layer.cpp',
40   'src/flatten_layer.cpp',
41   'src/input_layer.cpp',
42   'src/layer.cpp',
43   'src/layer_factory.cpp',
44   'src/lazy_tensor.cpp',
45   'src/loss_layer.cpp',
46   'src/model_loader.cpp',
47   'src/neuralnet.cpp',
48   'src/nntrainer_logger.cpp',
49   'src/optimizer.cpp',
50   'src/optimizer_factory.cpp',
51   'src/parse_util.cpp',
52   'src/pooling2d_layer.cpp',
53   'src/sgd.cpp',
54   'src/adam.cpp',
55   'src/tensor.cpp',
56   'src/tensor_dim.cpp',
57   'src/util_func.cpp',
58   'src/weight.cpp'
59 ]
60
61 nntrainer_headers = [
62   'include/activation_layer.h',
63   'include/addition_layer.h',
64   'include/concat_layer.h',
65   'include/blas_interface.h',
66   'include/bn_layer.h',
67   'include/conv2d_layer.h',
68   'include/databuffer.h',
69   'include/databuffer_factory.h',
70   'include/databuffer_file.h',
71   'include/databuffer_func.h',
72   'include/databuffer_util.h',
73   'include/fc_layer.h',
74   'include/flatten_layer.h',
75   'include/input_layer.h',
76   'include/layer_internal.h',
77   'include/layer_factory.h',
78   'include/lazy_tensor.h',
79   'include/loss_layer.h',
80   'include/model_loader.h',
81   'include/neuralnet.h',
82   'include/nntrainer_log.h',
83   'include/nntrainer_logger.h',
84   'include/optimizer_internal.h',
85   'include/parse_util.h',
86   'include/pooling2d_layer.h',
87   'include/sgd.h',
88   'include/adam.h',
89   'include/tensor.h',
90   'include/tensor_dim.h',
91   'include/util_func.h',
92   'include/weight.h',
93   'include/optimizer_factory.h',
94 ]
95
96 # Build libraries
97 nntrainer_shared = shared_library('nntrainer',
98   nntrainer_sources,
99   dependencies: nntrainer_base_deps,
100   include_directories: nntrainer_inc,
101   install: true,
102   install_dir: nntrainer_libdir
103 )
104
105 nntrainer_static = static_library('nntrainer',
106   nntrainer_sources,
107   dependencies: nntrainer_base_deps,
108   include_directories: nntrainer_inc,
109   install: true,
110   install_dir: nntrainer_libdir
111 )
112
113 nntrainer_lib = nntrainer_shared
114 if get_option('default_library') == 'static'
115   nntrainer_lib = nntrainer_static
116 endif
117
118 nntrainer_dep = declare_dependency(link_with: nntrainer_lib,
119   dependencies: nntrainer_base_deps,
120   include_directories: nntrainer_inc
121 )
122
123 # Install headers
124 install_headers(nntrainer_headers,
125   subdir: 'nntrainer'
126 )