diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2022-05-23 18:56:50 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2022-05-23 18:56:50 +0800 |
commit | 063a96f64843de2106ad3bc62c243f5ced86674e (patch) | |
tree | 1775aec55aed4537934f11313dbdc3af03a9f4f4 | |
parent | fb8038cf5684cad822cac1d5ad653789df5f90f9 (diff) | |
download | sigc++-063a96f64843de2106ad3bc62c243f5ced86674e.tar.gz |
Meson: Compensate for the lack of msvc_recommended_pragmas.h
libsigc++ does not depend on GLib, so msvc_recommended_pragmas.h may not be
available. If it isn't, disable warning C4244 to compensate for it.
-rw-r--r-- | meson.build | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/meson.build b/meson.build index 96088c8..755d08b 100644 --- a/meson.build +++ b/meson.build @@ -184,7 +184,16 @@ 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 - foreach wd : ['/FImsvc_recommended_pragmas.h', '/EHsc', '/wd4267'] + # 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') + endif + foreach wd : ['/EHsc', '/wd4267'] disabled_warning = cpp_compiler.get_supported_arguments(wd) add_project_arguments(disabled_warning, language: 'cpp') endforeach |