Commit 342855f8 authored by Christian Hergert's avatar Christian Hergert

build: enable -Wmissing-declarations for libide

parent 5a7ee7ef
Pipeline #15952 passed with stage
in 22 minutes and 22 seconds
......@@ -104,6 +104,8 @@ add_global_arguments([
'-DIDE_COMPILATION',
], language: 'c')
libide_args = []
cc = meson.get_compiler('c')
global_c_args = []
test_c_args = [
......@@ -173,6 +175,10 @@ foreach arg: test_c_args
endif
endforeach
if cc.has_multi_arguments('-Wmissing-declarations')
libide_args += '-Wmissing-declarations'
endif
# Detect and set symbol visibility
hidden_visibility_args = []
if get_option('default_library') != 'static'
......
......@@ -16,20 +16,18 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define G_LOG_DOMAIN "ide-buildsystem-plugin"
#include "config.h"
#include <libpeas/peas.h>
#define G_LOG_DOMAIN "ide-buildsystem-plugin"
#include "ide-version-macros.h"
#include "object-modules.h"
#include "buildconfig/ide-buildconfig-configuration-provider.h"
#include "buildconfig/ide-buildconfig-pipeline-addin.h"
#include "buildsystem/ide-build-pipeline-addin.h"
#include "config/ide-configuration-provider.h"
_IDE_EXTERN void
void
ide_buildconfig_register_types (PeasObjectModule *module)
{
peas_object_module_register_extension_type (module,
......
......@@ -16,18 +16,16 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define G_LOG_DOMAIN "ide-build-plugin"
#include "config.h"
#include <libpeas/peas.h>
#define G_LOG_DOMAIN "ide-build-plugin"
#include "ide-version-macros.h"
#include "object-modules.h"
#include "workbench/ide-workbench-addin.h"
#include "buildui/ide-build-workbench-addin.h"
#include "workbench/ide-workbench-addin.h"
_IDE_EXTERN void
void
ide_build_tool_register_types (PeasObjectModule *module)
{
peas_object_module_register_extension_type (module,
......
......@@ -18,15 +18,15 @@
#include "config.h"
#include <libpeas/peas.h>
#define G_LOG_DOMAIN "ide-debugger-plugin"
#include "ide-version-macros.h"
#include "object-modules.h"
#include "debugger/ide-debugger-editor-addin.h"
#include "editor/ide-editor-addin.h"
#include "editor/ide-editor-view-addin.h"
_IDE_EXTERN void
void
ide_debugger_register_types (PeasObjectModule *module)
{
peas_object_module_register_extension_type (module,
......
......@@ -16,17 +16,17 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define G_LOG_DOMAIN "ide-directory-plugin"
#include "config.h"
#include <libpeas/peas.h>
#define G_LOG_DOMAIN "ide-directory-plugin"
#include "object-modules.h"
#include "buildsystem/ide-build-system.h"
#include "directory/ide-directory-build-system.h"
#include "directory/ide-directory-vcs.h"
_IDE_EXTERN void
void
ide_directory_register_types (PeasObjectModule *module)
{
peas_object_module_register_extension_type (module,
......
......@@ -16,18 +16,16 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define G_LOG_DOMAIN "ide-editor-plugin"
#include "config.h"
#include <libpeas/peas.h>
#define G_LOG_DOMAIN "ide-editor-plugin"
#include "ide-version-macros.h"
#include "object-modules.h"
#include "editor/ide-editor-layout-stack-addin.h"
#include "editor/ide-editor-workbench-addin.h"
_IDE_EXTERN void
void
ide_editor_register_types (PeasObjectModule *module)
{
peas_object_module_register_extension_type (module, IDE_TYPE_LAYOUT_STACK_ADDIN, IDE_TYPE_EDITOR_LAYOUT_STACK_ADDIN);
......
/* object-modules.h
*
* Copyright © 2018 Christian Hergert <chergert@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <libpeas/peas.h>
#include "ide-version-macros.h"
G_BEGIN_DECLS
_IDE_EXTERN void ide_build_tool_register_types (PeasObjectModule *module);
_IDE_EXTERN void ide_buildconfig_register_types (PeasObjectModule *module);
_IDE_EXTERN void ide_debugger_register_types (PeasObjectModule *module);
_IDE_EXTERN void ide_directory_register_types (PeasObjectModule *module);
_IDE_EXTERN void ide_editor_register_types (PeasObjectModule *module);
_IDE_EXTERN void ide_test_register_types (PeasObjectModule *module);
_IDE_EXTERN void ide_webkit_register_types (PeasObjectModule *module);
G_END_DECLS
......@@ -18,15 +18,17 @@
#include "config.h"
#include <libpeas/peas.h>
#define G_LOG_DOMAIN "testing-plugin"
#include "ide-version-macros.h"
#include "object-modules.h"
#include "editor/ide-editor-addin.h"
#include "testing/ide-test-editor-addin.h"
_IDE_EXTERN void
void
ide_test_register_types (PeasObjectModule *module)
{
peas_object_module_register_extension_type (module, IDE_TYPE_EDITOR_ADDIN, IDE_TYPE_TEST_EDITOR_ADDIN);
peas_object_module_register_extension_type (module,
IDE_TYPE_EDITOR_ADDIN,
IDE_TYPE_TEST_EDITOR_ADDIN);
}
......@@ -18,12 +18,11 @@
#include "config.h"
#include <libpeas/peas.h>
#include <webkit2/webkit2.h>
#include "ide-version-macros.h"
#include "object-modules.h"
_IDE_EXTERN void
void
ide_webkit_register_types (PeasObjectModule *module)
{
g_type_ensure (WEBKIT_TYPE_WEB_VIEW);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment