From 4f8a499feca4263e07ff1f89300efc16d142dec9 Mon Sep 17 00:00:00 2001
From: Bruce Cowan <bruce.cowan@strath.ac.uk>
Date: Sat, 11 Jan 2020 12:59:59 +0000
Subject: [PATCH] Bump up warning level and add version checking

---
 meson.build                    | 17 +++++++++++++++--
 src/main.c                     | 14 +++++++-------
 src/rugby-app-window.c         |  4 ++--
 src/rugby-app-window.h         |  2 +-
 src/rugby-list-store.c         |  4 ++--
 src/rugby-possibility-widget.c |  8 ++++----
 src/rugby-possibility.c        |  2 +-
 7 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/meson.build b/meson.build
index d199a66..c403d1b 100644
--- a/meson.build
+++ b/meson.build
@@ -1,11 +1,12 @@
 # SPDX-FileCopyrightText: 2016-2020 Bruce Cowan <bruce@bcowan.me.uk>
 # SPDX-License-Identifier: CC0-1.0
 project('rugby', 'c',
-    license:'GPL')
+    license:'GPL',
+    default_options: ['c_std=gnu11', 'warning_level=3'])
 
 gnome = import('gnome')
 
-gio_dep = dependency('gio-2.0', version: '>= 2.46')
+gio_dep = dependency('gio-2.0', version: '>= 2.44')
 gtk_dep = dependency('gtk+-3.0', version: '>= 3.16')
 
 conf = configuration_data()
@@ -22,5 +23,17 @@ endif
 
 conf.set_quoted('VERSION', VERSION)
 
+cflags = []
+cflags += ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_44',
+           '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_44']
+cflags += ['-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_16',
+           '-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_16']
+cflags += '-Wno-overlength-strings'
+
+cc = meson.get_compiler('c')
+
+add_project_arguments(cc.get_supported_arguments(cflags),
+                      language: 'c')
+
 subdir('data')
 subdir('src')
diff --git a/src/main.c b/src/main.c
index e309cb5..e0fcb27 100644
--- a/src/main.c
+++ b/src/main.c
@@ -10,8 +10,8 @@
 static GtkWidget *window = NULL;
 
 static void
-on_activate (GApplication *app,
-             gpointer      user_data)
+on_activate (              GApplication *app,
+             G_GNUC_UNUSED gpointer      user_data)
 {
     if (!window)
         window = GTK_WIDGET (rugby_app_window_new (GTK_APPLICATION (app)));
@@ -20,9 +20,9 @@ on_activate (GApplication *app,
 }
 
 static void
-about_activated (GSimpleAction *simple,
-                 GVariant      *parameter,
-                 gpointer       user_data)
+about_activated (G_GNUC_UNUSED GSimpleAction *simple,
+                 G_GNUC_UNUSED GVariant      *parameter,
+                               gpointer       user_data)
 {
     GtkApplication *app = GTK_APPLICATION (user_data);
     GtkWindow *window = gtk_application_get_active_window (app);
@@ -41,8 +41,8 @@ about_activated (GSimpleAction *simple,
 }
 
 static void
-on_startup (GApplication *app,
-            gpointer      user_data)
+on_startup (GApplication          *app,
+            G_GNUC_UNUSED gpointer user_data)
 {
     const GActionEntry app_entries[] =
     {
diff --git a/src/rugby-app-window.c b/src/rugby-app-window.c
index ed8563d..c15b822 100644
--- a/src/rugby-app-window.c
+++ b/src/rugby-app-window.c
@@ -23,8 +23,8 @@ struct _RugbyAppWindow
 G_DEFINE_TYPE (RugbyAppWindow, rugby_app_window, GTK_TYPE_APPLICATION_WINDOW)
 
 static GtkWidget *
-listbox_widget_func (gpointer item,
-                     gpointer user_data)
+listbox_widget_func (              gpointer item,
+                     G_GNUC_UNUSED gpointer user_data)
 {
     RugbyPossibility *possibility = RUGBY_POSSIBILITY (item);
 
diff --git a/src/rugby-app-window.h b/src/rugby-app-window.h
index c9bab74..abf70c8 100644
--- a/src/rugby-app-window.h
+++ b/src/rugby-app-window.h
@@ -11,7 +11,7 @@ G_BEGIN_DECLS
 
 #define RUGBY_TYPE_APP_WINDOW (rugby_app_window_get_type())
 
-G_DECLARE_FINAL_TYPE (RugbyAppWindow, rugby_app_window, RUGBY, APP_WINDOW, GtkApplicationWindow);
+G_DECLARE_FINAL_TYPE (RugbyAppWindow, rugby_app_window, RUGBY, APP_WINDOW, GtkApplicationWindow)
 
 RugbyAppWindow * rugby_app_window_new (GtkApplication *app);
 
diff --git a/src/rugby-list-store.c b/src/rugby-list-store.c
index f1ac182..f0f7d6e 100644
--- a/src/rugby-list-store.c
+++ b/src/rugby-list-store.c
@@ -1,5 +1,5 @@
 /*
- * SPDX-FileCopyrightText: 2018 Bruce Cowan <bruce@bcowan.me.uk>
+ * SPDX-FileCopyrightText: 2018-2020 Bruce Cowan <bruce@bcowan.me.uk>
  * SPDX-License-Identifier: GPL-3.0-or-later
  */
 #include "config.h"
@@ -96,7 +96,7 @@ on_score_changed (RugbyListStore *self)
 // GListModel implementation
 
 static GType
-rugby_list_store_get_item_type (GListModel *list)
+rugby_list_store_get_item_type (G_GNUC_UNUSED GListModel *list)
 {
     return RUGBY_TYPE_POSSIBILITY;
 }
diff --git a/src/rugby-possibility-widget.c b/src/rugby-possibility-widget.c
index c150377..8ab7a97 100644
--- a/src/rugby-possibility-widget.c
+++ b/src/rugby-possibility-widget.c
@@ -73,9 +73,9 @@ rugby_possibility_widget_set_property (GObject      *object,
 }
 
 static void
-rugby_possibility_widget_get_preferred_height (GtkWidget *widget,
-                                               int       *minimum_height,
-                                               int       *natural_height)
+rugby_possibility_widget_get_preferred_height (G_GNUC_UNUSED GtkWidget *widget,
+                                               int                     *minimum_height,
+                                               int                     *natural_height)
 {
     if (minimum_height)
         *minimum_height = FIXED_HEIGHT;
@@ -210,7 +210,7 @@ rugby_possibility_widget_class_init (RugbyPossibilityWidgetClass *klass)
 }
 
 static void
-rugby_possibility_widget_init (RugbyPossibilityWidget *self)
+rugby_possibility_widget_init (G_GNUC_UNUSED RugbyPossibilityWidget *self)
 {
 }
 
diff --git a/src/rugby-possibility.c b/src/rugby-possibility.c
index 0cadfbb..a10f0e2 100644
--- a/src/rugby-possibility.c
+++ b/src/rugby-possibility.c
@@ -104,7 +104,7 @@ rugby_possibility_class_init (RugbyPossibilityClass *klass)
 }
 
 static void
-rugby_possibility_init (RugbyPossibility *self)
+rugby_possibility_init (G_GNUC_UNUSED RugbyPossibility *self)
 {
 }
 
-- 
GitLab