summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2022-05-23 19:02:03 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2022-05-24 16:26:11 +0800
commit1496ebbd855d53e8c5e26cf2e41fcacc3b4083d6 (patch)
tree0fdd4e23b1ecd88a5123ac3530174a197d1f5cb5
parent063a96f64843de2106ad3bc62c243f5ced86674e (diff)
downloadsigc++-1496ebbd855d53e8c5e26cf2e41fcacc3b4083d6.tar.gz
Meson/MSVC: Re-organize warnings-related compiler flags
Add a short description for each of the warnings-related compiler flags that we are using. Also, only apply '/wd4267' for 64-bit builds, since it is a warning that should only be related to 64-bit builds.
-rw-r--r--meson.build21
1 files changed, 15 insertions, 6 deletions
diff --git a/meson.build b/meson.build
index 755d08b..31cf8ab 100644
--- a/meson.build
+++ b/meson.build
@@ -184,19 +184,28 @@ add_project_arguments(warning_flags, language: 'cpp')
# MSVC: Ignore warnings that aren't really harmful, but make those
# that should not be overlooked stand out.
if is_msvc
+ disable_warnings_list = [
+ '/EHsc', # avoid warnings caused by exception handling model used
+ ]
+
# Turn off harmless warnings but make potentially dangerous ones glaring,
# distributed with GLib, if available
use_recommended_pragmas = cpp_compiler.get_supported_arguments('/FImsvc_recommended_pragmas.h')
if use_recommended_pragmas.length() > 0
add_project_arguments(use_recommended_pragmas, language: 'cpp')
else
- disabled_warning = cpp_compiler.get_supported_arguments(['/wd4244'])
- add_project_arguments(disabled_warning, language: 'cpp')
+ disable_warnings_list += '/wd4244' # 'conversion' conversion from
+ # 'type1' to 'type2', possible loss of data
+ endif
+
+ if host_machine.cpu_family() == 'x86_64' or host_machine.cpu_family() == 'aarch64'
+ # 'var' : conversion from 'size_t' to 'type', possible loss of data (applies on 64-bit builds)
+ disable_warnings_list += '/wd4267'
endif
- foreach wd : ['/EHsc', '/wd4267']
- disabled_warning = cpp_compiler.get_supported_arguments(wd)
- add_project_arguments(disabled_warning, language: 'cpp')
- endforeach
+ add_project_arguments(
+ cpp_compiler.get_supported_arguments(disable_warnings_list),
+ language: 'cpp'
+ )
endif
# Configure files