meson: add -Wno-unused also to C++ args when gst debug system is disabled

And check if argument is supported instead of just passing it blindly,
and make meson code slightly cleaner, centralising the argument setting
in one place.
This commit is contained in:
Tim-Philipp Müller 2019-03-21 11:17:08 +00:00
parent a0474578a0
commit e8583cebe7

View file

@ -334,28 +334,25 @@ else
cdata.set('DISABLE_ORC', 1) cdata.set('DISABLE_ORC', 1)
endif endif
# Disable compiler warnings for unused variables and args if gst debug system is disabled
if gst_dep.type_name() == 'internal' if gst_dep.type_name() == 'internal'
gst_proj = subproject('gstreamer') gst_debug_disabled = not subproject('gstreamer').get_variable('gst_debug')
if not gst_proj.get_variable('gst_debug')
message('GStreamer debug system is disabled')
add_project_arguments('-Wno-unused', language: 'c')
else
message('GStreamer debug system is enabled')
endif
else else
# We can't check that in the case of subprojects as we won't # We can't check that in the case of subprojects as we won't
# be able to build against an internal dependency (which is not built yet) # be able to build against an internal dependency (which is not built yet)
if not cc.compiles(''' gst_debug_disabled = cc.has_header_symbol('gst/gstconfig.h', 'GST_DISABLE_GST_DEBUG', dependencies: gst_dep)
#include <gst/gstconfig.h> endif
#ifdef GST_DISABLE_GST_DEBUG
#error "debugging disabled, make compiler fail" if gst_debug_disabled
#endif''' , dependencies: gst_dep) message('GStreamer debug system is disabled')
message('GStreamer debug system is disabled') if cc.has_argument('-Wno-unused')
add_project_arguments('-Wno-unused', language: 'c') add_project_arguments('-Wno-unused', language: 'c')
else endif
message('GStreamer debug system is enabled') if have_cxx and cxx.has_argument ('-Wno-unused')
endif add_project_arguments('-Wno-unused', language: 'cpp')
endif
else
message('GStreamer debug system is enabled')
endif endif
presetdir = join_paths(get_option('datadir'), 'gstreamer-' + api_version, 'presets') presetdir = join_paths(get_option('datadir'), 'gstreamer-' + api_version, 'presets')