Initial commit of meson. This commit's goal is to make single binary.
Signed-off-by: sewon.oh <sewon.oh@samsung.com>
--- /dev/null
+tensor_common_sources = [
+ 'tensor_common.c'
+]
+
+tensor_commonOBJ = static_library('tensor_common',
+ tensor_common_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_commonOBJ
--- /dev/null
+tensor_aggregator_sources = [
+ 'tensor_aggregator.c'
+]
+
+tensor_aggregatorOBJ = static_library('tensor_aggregator',
+ tensor_aggregator_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_aggregatorOBJ
+
--- /dev/null
+tensor_converter_sources = [
+ 'tensor_converter.c'
+]
+
+tensor_converterOBJ = static_library('tensor_converter',
+ tensor_converter_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_converterOBJ
--- /dev/null
+tensor_decoder_sources = [
+ 'tensordec.c',
+ 'tensordec-plugins.c',
+ 'tensordec-directvideo.c'
+]
+
+tensor_decoderOBJ = static_library('tensor_decoder',
+ tensor_decoder_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_decoderOBJ
--- /dev/null
+tensor_demux_sources = [
+ 'gsttensordemux.c'
+]
+
+tensor_demuxOBJ = static_library('tensor_demux',
+ tensor_demux_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_demuxOBJ
+
--- /dev/null
+tensor_filter_sources = [
+ 'tensor_filter.c',
+ 'tensor_filter_custom.c'
+]
+
+tensor_filterOBJ = static_library('tensor_filter',
+ tensor_filter_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_filterOBJ
--- /dev/null
+tensor_merge_sources = [
+ 'gsttensormerge.c'
+]
+
+tensor_mergeOBJ = static_library('tensor_merge',
+ tensor_merge_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_mergeOBJ
--- /dev/null
+tensor_mux_sources = [
+ 'gsttensormux.c'
+]
+
+tensor_muxOBJ = static_library('tensor_mux',
+ tensor_mux_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_muxOBJ
+
--- /dev/null
+tensor_saveload_sources = [
+ 'tensor_load.c'
+]
+
+tensor_saveloadOBJ = static_library('tensor_saveload',
+ tensor_saveload_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_saveloadOBJ
--- /dev/null
+tensor_sink_sources = [
+ 'tensor_sink.c'
+]
+
+tensor_sinkOBJ = static_library('tensor_sink',
+ tensor_sink_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_sinkOBJ
--- /dev/null
+tensor_split_sources = [
+ 'gsttensorsplit.c'
+]
+
+tensor_splitOBJ = static_library('tensor_split',
+ tensor_split_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_splitOBJ
--- /dev/null
+tensor_transform_sources = [
+ 'tensor_transform.c'
+]
+
+tensor_transformOBJ = static_library('tensor_transform',
+ tensor_transform_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc
+).extract_all_objects()
+
+objects += tensor_transformOBJ
--- /dev/null
+project('nnstreamer', 'c', 'cpp',
+ version: '0.0.3',
+ license: ['LGPL'],
+ meson_version: '>=0.47.0',
+ default_options: [
+ 'warning_level=1',
+ 'c_std=c89',
+ 'cpp_std=c++11'
+ ]
+)
+
+add_project_arguments('-DVERSION="'+meson.project_version()+'"', language: 'c')
+add_project_arguments('-DSINGLE_BINARY', language: 'c')
+
+gst_api_verision = '1.0'
+
+glib = dependency('glib-2.0')
+gstreamer = dependency('gstreamer-' + gst_api_verision)
+gstreamer_base = dependency('gstreamer-base-' + gst_api_verision)
+gstreamer_controller = dependency('gstreamer-controller-' + gst_api_verision)
+gstreamer_video = dependency('gstreamer-video-' + gst_api_verision)
+gstreamer_audio = dependency('gstreamer-audio-' + gst_api_verision)
+
+cc = meson.get_compiler('c')
+
+dependencies = [
+ glib,
+ gstreamer,
+ gstreamer_base,
+ gstreamer_controller,
+ gstreamer_video,
+ gstreamer_audio,
+ # required 'false' mean is used only when needed.
+ cc.find_library('m', required: false), # cmath library
+ cc.find_library('dl', required: false) # DL library
+]
+
+inc = include_directories('gst/nnstreamer')
+
+projects = [
+ 'nnstreamer',
+ 'tensor_aggregator',
+ 'tensor_converter',
+ 'tensor_decoder',
+ 'tensor_demux',
+ 'tensor_merge',
+ 'tensor_mux',
+ 'tensor_saveload',
+ 'tensor_sink',
+ 'tensor_split',
+ 'tensor_transform',
+ 'tensor_filter'
+]
+
+objects = []
+foreach p : projects
+ subdir('gst/'+ p)
+endforeach
+
+nnstreamer_sources = [
+ 'gst/nnstreamer/nnstreamer.c'
+]
+
+nnstreamer = both_libraries('nnstreamer',
+ nnstreamer_sources,
+ dependencies: [
+ dependencies
+ ],
+ include_directories: inc,
+ objects: objects
+)
+