From 8b5a398135a07fbff555c4913abc0340e4d7547f Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 16 Jan 2024 19:24:39 +0530 Subject: [PATCH] meson: Fix build on Windows with MSVC Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/480 Part-of: --- meson.build | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index f3d7228a..e9d04db9 100644 --- a/meson.build +++ b/meson.build @@ -388,8 +388,11 @@ foreach plugin_name, details: plugins features += extra_features.split(',') endif - examples += details.get('examples', []) lib = details.get('library') + # No 'lib' suffix with MSVC + if cc.get_argument_syntax() == 'msvc' + lib = lib.substring(3) + endif if default_library in ['shared', 'both'] output += [lib + '.' + ext_dynamic] endif @@ -462,8 +465,11 @@ gst_plugins = [] pc_files = [] plugin_names = [] foreach plugin : plugins - # skip the 'lib' prefix and extension from plugin path - plugin_name = fs.stem(plugin.full_path()).substring(3) + plugin_name = fs.stem(plugin.full_path()) + # skip the 'lib' prefix from plugin path when not building with MSVC + if cc.get_argument_syntax() != 'msvc' + plugin_name = plugin_name.substring(3) + endif option_name = plugin_name.substring(3) if option_name.startswith('rs') @@ -538,7 +544,7 @@ endif if get_option('webrtc').allowed() custom_target('gst-webrtc-signalling-server', build_by_default: true, - output: 'gst-webrtc-signalling-server', + output: 'gst-webrtc-signalling-server' + exe_suffix, console: true, install: true, install_dir: get_option('bindir'), @@ -559,9 +565,13 @@ if get_option('webrtc').allowed() endif if get_option('examples').allowed() and examples.length() > 0 + outputs = [] + foreach example: examples + outputs += [example + exe_suffix] + endforeach custom_target('gst-plugins-rs-examples', build_by_default: true, - output: examples, + output: outputs, console: true, install: false, depfile: 'gst-plugins-rs-examples.dep',