upnp_option = get_option('upnp') if upnp_option == 'auto' if not curl_dep.found() warning('No UPnP because CURL is not enabled') upnp_option = 'disabled' elif not expat_dep.found() warning('No UPnP because expat is not enabled') upnp_option = 'disabled' endif endif if upnp_option == 'auto' upnp_dep = dependency('libupnp', version: '>= 1.8', required: false) conf.set('USING_PUPNP', upnp_dep.found()) if not upnp_dep.found() upnp_dep = dependency('libnpupnp', version: '>= 1.8', required: false) endif elif upnp_option == 'pupnp' upnp_dep = dependency('libupnp', version: '>= 1.8', required: true) conf.set('USING_PUPNP', true) elif upnp_option == 'npupnp' upnp_dep = dependency('libnpupnp', required: true) conf.set('USING_PUPNP', false) elif upnp_option == 'disabled' upnp_dep = dependency('', required: false) subdir_done() endif conf.set('ENABLE_UPNP', upnp_dep.found()) if not upnp_dep.found() subdir_done() endif if not curl_dep.found() error('UPnP requires CURL') endif if not expat_dep.found() error('UPnP requires expat') endif upnp = static_library( 'upnp', 'Init.cxx', 'ClientInit.cxx', 'Device.cxx', 'ContentDirectoryService.cxx', 'Discovery.cxx', 'ixmlwrap.cxx', 'Util.cxx', include_directories: inc, dependencies: [ log_dep, upnp_dep, curl_dep, expat_dep, ], ) upnp_dep = declare_dependency( link_with: upnp, dependencies: [ upnp_dep, curl_dep, expat_dep, event_dep, ], )