meson: simplify GST_DISABLE_GST_DEBUG check and don't use add_global_*
authorTim-Philipp Müller <tim@centricular.com>
Wed, 21 Feb 2018 19:47:36 +0000 (19:47 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Wed, 21 Feb 2018 19:47:36 +0000 (19:47 +0000)
add_global_arguments() can't be used in subprojects. It's
entirely possible that -ugly is a subproject but gstreamer
is picked up from an installed location, so we should
really use add_project_arguments() in both cases.

meson.build

index 2b0db1a..f2b2afa 100644 (file)
@@ -175,27 +175,15 @@ configinc = include_directories('.')
 libsinc = include_directories('gst-libs')
 
 if gst_dep.type_name() == 'internal'
-    gst_proj = subproject('gstreamer')
-
-    if gst_proj.get_variable('disable_gst_debug')
-        message('GStreamer debug system is disabled')
-        add_project_arguments('-Wno-unused', language: 'c')
-    else
-        message('GStreamer debug system is enabled')
-    endif
+  gst_debug_disabled = subproject('gstreamer').get_variable('disable_gst_debug')
 else
-    # 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)
-    if not cc.compiles('''
-#include <gst/gstconfig.h>
-#ifdef GST_DISABLE_GST_DEBUG
-#error "debugging disabled, make compiler fail"
-#endif''' , dependencies: gst_dep)
-        message('GStreamer debug system is disabled')
-        add_global_arguments('-Wno-unused', language: 'c')
-    else
-        message('GStreamer debug system is enabled')
-    endif
+  # 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)
+  gst_debug_disabled = cc.has_header_symbol('gst/gstconfig.h', 'GST_DISABLE_GST_DEBUG', dependencies: gst_dep)
+endif
+
+if gst_debug_disabled and cc.has_argument('-Wno-unused')
+  add_project_arguments('-Wno-unused', language: 'c')
 endif
 
 presetdir = join_paths(get_option('datadir'), 'gstreamer-' + api_version, 'presets')