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:21:45 +0800
commit8668c3f8e7e09a52d4f6b0c3a389799b2a98a904 (patch)
treeeaabf55ee3f9c084c1484462736ee7b660e3e98b
parent10599993cc751a383feeacac61b4d1b2e3c50e79 (diff)
downloadsigc++-8668c3f8e7e09a52d4f6b0c3a389799b2a98a904.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 ed21e13..bd1b771 100644
--- a/meson.build
+++ b/meson.build
@@ -188,19 +188,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