project('gst_pipeline_studio',
          version: '0.3.2',
    meson_version: '>= 0.63.0',
  default_options: [ 'warning_level=2',
                   ],
          license: 'GPL-3.0-or-later',
)

host_system = host_machine.system()

python_mod = import('python')
python3 = python_mod.find_installation()
current_date = run_command(python3, '-c', 'import datetime; print(datetime.datetime.now().strftime("%Y-%m-%d"), end ="")').stdout()
i18n = import('i18n')
host_system = host_machine.system()

dependency('gstreamer-1.0', version: '>= 1.20', fallback: ['gstreamer-1.0'])
dependency('gstreamer-base-1.0', version: '>= 1.20', fallback: ['gstreamer-1.0'])
dependency('gstreamer-video-1.0', version: '>= 1.20', fallback: ['gstreamer-1.0'])
dependency('glib-2.0', version: '>= 2.66')
dependency('gio-2.0', version: '>= 2.66')
dependency('gtk4', version: '>= 4.0.0', fallback: ['gtk'])

find_program('cargo', required: true)
find_program('glib-compile-resources', required: true)

glib_compile_schemas = find_program('glib-compile-schemas', required: true)
desktop_file_validate = find_program('desktop-file-validate', required: false)
appstream_util = find_program('appstream-util', required: false)

version = meson.project_version()
prefix = get_option('prefix')
bindir = prefix / get_option('bindir')
localedir = prefix / get_option('localedir')

datadir = prefix / get_option('datadir')
pkgdatadir = datadir / meson.project_name()
iconsdir = datadir / 'icons'
podir = meson.project_source_root () / 'po'
gettext_package = meson.project_name()
base_id = 'org.freedesktop.dabrain34.GstPipelineStudio'

if get_option('profile') == 'development'
  application_id = base_id + '.Devel'
  profile = 'Devel'
  name_prefix = '(Development) '
  vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip()
  if vcs_tag == ''
    version_suffix = '-devel'
  else
    version_suffix = '-@0@'.format (vcs_tag)
  endif
else
  profile = ''
  version_suffix = ''
  name_prefix = ''
  application_id = base_id
endif

cargo_sources = files(
  'Cargo.toml',
  'Cargo.lock',
)
if host_system == 'linux'
subdir('data')
endif
subdir('src')
subdir('po')


meson.add_dist_script(
  'build-aux/dist-vendor.sh',
  meson.project_source_root(),
  join_paths(meson.project_build_root(), 'meson-dist', meson.project_name() + '-' + version)
)
if host_system == 'linux'
  meson.add_install_script('build-aux/meson/postinstall.py')
endif
