Skip to content

Meson

Meson은 소프트웨어 구축을 자동화하는 소프트웨어 도구입니다. Meson은 사용자에게 무한한 유연성을 제공하는 대신 표준 개발 도구 및 실습을 장려하는 구성 방식보다 관례를 채택합니다.

Install

sudo apt install build-essential python3 meson ninja-build

Example

gstreamer plugin template example

GStreamer의 플러그인 빌드용 템플릿 meson.build 파일의 샘플:

plugin_c_args = ['-DHAVE_CONFIG_H']

cdata = configuration_data()
cdata.set_quoted('PACKAGE_VERSION', gst_version)
cdata.set_quoted('PACKAGE', 'gst-template-plugin')
cdata.set_quoted('GST_LICENSE', 'LGPL')
cdata.set_quoted('GST_API_VERSION', api_version)
cdata.set_quoted('GST_PACKAGE_NAME', 'GStreamer template Plug-ins')
cdata.set_quoted('GST_PACKAGE_ORIGIN', 'https://gstreamer.freedesktop.org')
configure_file(output : 'config.h', configuration : cdata)

gstaudio_dep = dependency('gstreamer-audio-1.0',
    fallback: ['gst-plugins-base', 'audio_dep'])

# Plugin 1
plugin_sources = [
  'src/gstplugin.c'
  ]

gstpluginexample = library('gstplugin',
  plugin_sources,
  c_args: plugin_c_args,
  dependencies : [gst_dep],
  install : true,
  install_dir : plugins_install_dir,
)

# Plugin 2 (audio filter example)
audiofilter_sources = [
  'src/gstaudiofilter.c',
  ]

gstaudiofilterexample = library('gstaudiofilterexample',
  audiofilter_sources,
  c_args: plugin_c_args,
  dependencies : [gst_dep, gstaudio_dep],
  install : true,
  install_dir : plugins_install_dir,
)

# The TEMPLATE Plugin
### gstTEMPLATE_sources = [
###  'src/gstTEMPLATE.c',
###  ]

###gstTEMPLATEexample = library('gstTEMPLATE',
###  gstTEMPLATE_sources,
###  c_args: plugin_c_args,
###  dependencies : [gst_dep, gstbase_dep],
###  install : true,
###  install_dir : plugins_install_dir,
###)

See also

Favorite site