-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmeson.build
More file actions
70 lines (59 loc) · 1.75 KB
/
meson.build
File metadata and controls
70 lines (59 loc) · 1.75 KB
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
project('TensorRT-Vision', 'cpp',
version : '0.2',
default_options : [
'cpp_std=c++17',
'warning_level=3',
'werror=true'
]
)
# Get vision-core dependency
vision_core_proj = subproject('vision-core')
vision_core_dep = vision_core_proj.get_variable('vision_core_dep')
# Dependencies
cuda_dep = dependency('cuda')
spdlog_dep = dependency('spdlog')
json_dep = dependency('nlohmann_json')
boost_dep = dependency('boost',
modules: ['filesystem', 'program_options', 'json']
)
opencv_dep = dependency('opencv4',
modules: ['core', 'highgui', 'imgproc', 'imgcodecs', 'video', 'videoio']
)
tensorrt_include_dir = '/usr/include'
tensorrt_lib_dir = '/usr/lib/x86_64-linux-gnu'
tensorrt_dep = declare_dependency(
include_directories : [tensorrt_include_dir],
link_args : ['-L' + tensorrt_lib_dir, '-lnvinfer', '-lnvinfer_plugin', '-lcudart']
)
dependencies = [boost_dep, opencv_dep, spdlog_dep, json_dep, cuda_dep, tensorrt_dep, vision_core_dep]
# Source files
src_files = files(
'src/engine/engine.cpp',
'src/models/classification/classifier.cpp',
'src/models/detection/yolo.cpp',
'src/models/reid/reid.cpp',
'src/models/segmentation/yolo.cpp'
)
# Include
inc_dir = [include_directories('include'), tensorrt_include_dir]
# Build shared library
engine_lib = shared_library(
'engine',
sources : src_files,
include_directories : inc_dir,
dependencies : dependencies,
install : true
)
# Declare dependencies
engine_dep = declare_dependency(
link_with : engine_lib,
include_directories : inc_dir,
dependencies : dependencies
)
# Make engine_dep available to parent projects
meson.override_dependency('engine', engine_dep)
# Build apps
apps = get_option('build_apps')
if apps.length() > 0
subdir('app')
endif