diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2022-05-23 19:02:03 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2022-05-24 16:26:11 +0800 |
commit | 1496ebbd855d53e8c5e26cf2e41fcacc3b4083d6 (patch) | |
tree | 0fdd4e23b1ecd88a5123ac3530174a197d1f5cb5 | |
parent | 063a96f64843de2106ad3bc62c243f5ced86674e (diff) | |
download | sigc++-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.build | 21 |
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 |