• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if get_option('wildmidi').disabled()
2  subdir_done()
3endif
4
5# Recent versions ship a pkg-config file, so try that first
6wildmidi_dep = dependency('WildMIDI', version: '>= 0.4.2', required: false)
7
8if not wildmidi_dep.found() and cc.has_header ('wildmidi_lib.h')
9  wildmidi_ver_maj = cc.get_define('LIBWILDMIDI_VER_MAJOR', prefix: '#include <wildmidi_lib.h>')
10  wildmidi_ver_min = cc.get_define('LIBWILDMIDI_VER_MINOR', prefix: '#include <wildmidi_lib.h>')
11  if wildmidi_ver_maj != '' and wildmidi_ver_min != ''
12    wildmidi_ver_maj = ''.join(wildmidi_ver_maj.split('L')).to_int() # '0L' -> 0
13    wildmidi_ver_min = ''.join(wildmidi_ver_min.split('L')).to_int() # '4L' -> 4
14    if wildmidi_ver_maj == 0 and wildmidi_ver_min >= 4
15      wildmidi_dep = cc.find_library('WildMidi', required: false)
16    else
17      message('WildMidi version too old, need >= 0.4.x')
18    endif
19  else
20    message('WildMidi version too old, need >= 0.4.x')
21  endif
22endif
23
24if wildmidi_dep.found()
25  gstwildmidi = library('gstwildmidi',
26    'gstwildmididec.c',
27    c_args: gst_plugins_bad_args,
28    include_directories: [configinc],
29    dependencies: [gstaudio_dep, gstbadaudio_dep, wildmidi_dep],
30    install: true,
31    install_dir: plugins_install_dir,
32  )
33  pkgconfig.generate(gstwildmidi, install_dir: plugins_pkgconfig_install_dir)
34elif get_option('wildmidi').enabled()
35  error('WildMidi plugin explicitly enabled, but required library or headers not found.')
36endif
37