[Compiler/skeleton] Set up compiler source files
[platform/core/ml/nntrainer.git] / nntrainer / meson.build
1 nntrainer_inc = [
2   include_directories('.'),
3   include_directories('../api', '../api/ccapi/include')
4 ]
5
6 nntrainer_sources = []
7 nntrainer_headers = ['app_context.h']
8
9 # Dependencies
10 nntrainer_base_deps=[
11   blas_dep,
12   iniparser_dep,
13   ml_api_common_dep,
14   libm_dep,
15   libdl_dep,
16   thread_dep
17 ]
18
19 if build_platform == 'tizen'
20   nntrainer_base_deps += dependency('dlog')
21 endif
22
23 nntrainer_elements = [
24   'compiler',
25   'dataset',
26   'layers',
27   'models',
28   'optimizers',
29   'tensor',
30   'utils',
31   'graph'
32 ]
33
34 foreach elem : nntrainer_elements
35   subdir(elem)
36   nntrainer_inc += include_directories(elem)
37 endforeach
38
39 nntrainer_common_sources = [
40   'nntrainer_logger.cpp',
41   'app_context.cpp'
42 ]
43
44 foreach s : nntrainer_common_sources
45   nntrainer_sources += meson.current_source_dir() / s
46 endforeach
47
48 # Build libraries
49 nntrainer_shared = shared_library('nntrainer',
50   nntrainer_sources,
51   dependencies: nntrainer_base_deps,
52   include_directories: nntrainer_inc,
53   install: true,
54   install_dir: nntrainer_libdir
55 )
56
57 nntrainer_static = static_library('nntrainer',
58   nntrainer_sources,
59   dependencies: nntrainer_base_deps,
60   include_directories: nntrainer_inc,
61   install: true,
62   install_dir: nntrainer_libdir
63 )
64
65 nntrainer_lib = nntrainer_shared
66 if get_option('default_library') == 'static'
67   nntrainer_lib = nntrainer_static
68 endif
69
70 nntrainer_dep = declare_dependency(link_with: nntrainer_lib,
71   dependencies: nntrainer_base_deps,
72   include_directories: nntrainer_inc
73 )
74
75 # Install headers
76 install_headers(nntrainer_headers,
77   subdir: 'nntrainer'
78 )
79