[gobject-introspection/msvc.improvements: 2/2] build: Force-include msvc_recommended_pragmas.h on Visual Studio



commit 26f542484ebe88ef231ff36e8853f806dd7ecfd3
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Apr 30 16:07:39 2019 +0800

    build: Force-include msvc_recommended_pragmas.h on Visual Studio
    
    By doing so, we essentially cover the various compiler flags that we
    want to use for non-Visual Studio builds to check for warnings that
    might cause real concern.
    
    This also skips the checks for the various GCC-isque CFlag checks that
    are scattered in the various build files on Visual Studio builds, since
    they are essentially meaningless on Visual Studio builds.

 girepository/cmph/meson.build | 38 +++++++++++++++++++++++---------------
 girepository/meson.build      | 43 +++++++++++++++++++++++++++----------------
 giscanner/meson.build         | 12 ++++++++----
 meson.build                   |  4 ++++
 tests/meson.build             | 19 +++++++++++++------
 tests/scanner/meson.build     | 21 +++++++++++++--------
 tools/meson.build             | 15 ++++++---------
 7 files changed, 94 insertions(+), 58 deletions(-)
---
diff --git a/girepository/cmph/meson.build b/girepository/cmph/meson.build
index d7b1e423..5bc41a33 100644
--- a/girepository/cmph/meson.build
+++ b/girepository/cmph/meson.build
@@ -29,17 +29,22 @@ cmph_deps = [
   cc.find_library('m', required: false),
 ]
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-implicit-fallthrough',
-  '-Wno-old-style-definition',
-  '-Wno-suggest-attribute=noreturn',
-  '-Wno-type-limits',
-  '-Wno-undef',
-  '-Wno-unused-parameter',
-  '-Wno-cast-align',
-  '-Wno-unused-function',
-  '-Wno-return-type',
-])
+custom_c_args = []
+
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-implicit-fallthrough',
+    '-Wno-old-style-definition',
+    '-Wno-suggest-attribute=noreturn',
+    '-Wno-type-limits',
+    '-Wno-undef',
+    '-Wno-unused-parameter',
+    '-Wno-cast-align',
+    '-Wno-unused-function',
+    '-Wno-return-type',
+  ])
+endif
+
 cmph = static_library('cmph',
   sources: cmph_sources,
   c_args: gi_hidden_visibility_cflags + custom_c_args,
@@ -51,10 +56,13 @@ cmph_dep = declare_dependency(
   include_directories: include_directories('.'),
 )
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-old-style-definition',
-  '-Wno-type-limits',
-])
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-old-style-definition',
+    '-Wno-type-limits',
+  ])
+endif
+
 cmph_test = executable('cmph-bdz-test', '../cmph-bdz-test.c',
   dependencies: [
     cmph_dep,
diff --git a/girepository/meson.build b/girepository/meson.build
index 0261e1a5..1d7aed6b 100644
--- a/girepository/meson.build
+++ b/girepository/meson.build
@@ -1,9 +1,14 @@
 subdir('cmph')
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-old-style-definition',
-  '-Wno-cast-align',
-])
+custom_c_args = []
+
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-old-style-definition',
+    '-Wno-cast-align',
+  ])
+endif
+
 girepo_gthash_lib = static_library('girepository-gthash',
   sources: 'gthash.c',
   include_directories : configinc,
@@ -21,11 +26,14 @@ girepo_gthash_dep = declare_dependency(
   include_directories: include_directories('.'),
 )
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-unused-parameter',
-  '-Wno-duplicated-branches',
-  '-Wno-cast-align',
-])
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-unused-parameter',
+    '-Wno-duplicated-branches',
+    '-Wno-cast-align',
+  ])
+endif
+
 girepo_internals_lib = static_library('girepository-internals',
   sources: [
     'girmodule.c',
@@ -145,13 +153,16 @@ girepo_gir_sources = files(
 
 install_headers(girepo_headers, subdir: 'gobject-introspection-1.0')
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-unused-parameter',
-  '-Wno-duplicated-branches',
-  '-Wno-type-limits',
-  '-Wno-cast-align',
-  '-Wno-missing-field-initializers',
-])
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-unused-parameter',
+    '-Wno-duplicated-branches',
+    '-Wno-type-limits',
+    '-Wno-cast-align',
+    '-Wno-missing-field-initializers',
+  ])
+endif
+
 girepo_lib = shared_library('girepository-1.0',
   sources: girepo_sources,
   include_directories : configinc,
diff --git a/giscanner/meson.build b/giscanner/meson.build
index 6ae34067..67c043d0 100644
--- a/giscanner/meson.build
+++ b/giscanner/meson.build
@@ -82,10 +82,14 @@ if not cc.has_header('unistd.h')
   giscanner_args += '-DYY_NO_UNISTD_H'
 endif
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-missing-field-initializers',
-  '-Wno-unused-parameter',
-])
+custom_c_args = []
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-missing-field-initializers',
+    '-Wno-unused-parameter',
+  ])
+endif
+
 giscanner_lib = static_library('giscanner',
   sources: [
     'sourcescanner.c',
diff --git a/meson.build b/meson.build
index d5709521..941d63ec 100644
--- a/meson.build
+++ b/meson.build
@@ -63,6 +63,10 @@ if cc.get_id() != 'msvc'
     project_c_args += [
       '-fno-strict-aliasing',
     ]
+else
+    project_c_args += [
+      '-FImsvc_recommended_pragmas.h',
+    ]
 endif
 
 project_c_args = cc.get_supported_arguments(project_c_args)
diff --git a/tests/meson.build b/tests/meson.build
index 9c7c0765..369abac8 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -65,9 +65,13 @@ test_everything_files = custom_target('everything',
 test_everything_headers = [test_everything_files[0]]
 test_everything_sources = [test_everything_files[1]]
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-unused-parameter',
-])
+custom_c_args = []
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-unused-parameter',
+  ])
+endif
+
 everything_lib = shared_library('everything-1.0',
   sources: test_everything_sources,
   include_directories : configinc,
@@ -76,9 +80,12 @@ everything_lib = shared_library('everything-1.0',
   version: '1.0.0',
 )
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-unused-parameter',
-])
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-unused-parameter',
+  ])
+endif
+
 gimarshallingtests_lib = shared_library('gimarshallingtests-1.0',
   sources: test_marshalling_sources,
   include_directories : configinc,
diff --git a/tests/scanner/meson.build b/tests/scanner/meson.build
index ef459bbd..a028e3d2 100644
--- a/tests/scanner/meson.build
+++ b/tests/scanner/meson.build
@@ -23,9 +23,12 @@ endforeach
 test_girs = []
 test_typelibs = []
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-unused-parameter',
-])
+custom_c_args = []
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-unused-parameter',
+  ])
+endif
 
 typedef_lib = shared_library('typedef-1.0',
   sources: ['typedefs.c'],
@@ -76,11 +79,13 @@ barapp_lib = shared_library('barapp-1.0',
   dependencies: [gobject_dep, girepo_dep],
 )
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-unused-parameter',
-  '-Wno-old-style-definition',
-  '-Wno-missing-field-initializers',
-])
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments([
+    '-Wno-unused-parameter',
+    '-Wno-old-style-definition',
+    '-Wno-missing-field-initializers',
+  ])
+endif
 
 if with_cairo
   regress_deps = [cairo_dep, cairo_gobject_dep]
diff --git a/tools/meson.build b/tools/meson.build
index 48f981b7..f9b11616 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -43,9 +43,12 @@ if with_doctool
   girdoctool = tool_output[-1]
 endif
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-missing-field-initializers',
-])
+custom_c_args = []
+if cc.get_id() != 'msvc'
+  custom_c_args = cc.get_supported_arguments(['-Wno-missing-field-initializers'])
+endif
+
+
 gircompiler = executable('g-ir-compiler', 'compiler.c',
   dependencies: [
     girepo_internals_dep,
@@ -55,9 +58,6 @@ gircompiler = executable('g-ir-compiler', 'compiler.c',
   c_args: custom_c_args,
 )
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-missing-field-initializers',
-])
 girgenerate = executable('g-ir-generate', 'generate.c',
   dependencies: [
     girepo_internals_dep,
@@ -67,9 +67,6 @@ girgenerate = executable('g-ir-generate', 'generate.c',
   c_args: custom_c_args,
 )
 
-custom_c_args = cc.get_supported_arguments([
-  '-Wno-missing-field-initializers',
-])
 girinspect = executable('g-ir-inspect', 'g-ir-inspect.c',
   dependencies: girepo_dep,
   install: true,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]