[gnome-todo] project: Performance improvements for meson build port
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-todo] project: Performance improvements for meson build port
- Date: Wed, 5 Jul 2017 12:44:32 +0000 (UTC)
commit 7b304e96a1f9e1d6bcba77f5d3b61f640e23e769
Author: Iñigo MartÃnez <inigomartinez gmail com>
Date: Tue Jul 4 11:39:40 2017 +0200
project: Performance improvements for meson build port
- Fixed CFLAGS and avoid their duplication.
- Fixed default flag application to the project on non debug builds.
- Removed unneeded meson build file from reference.
- Removed unneeded source directories from gtkdoc generation.
https://bugzilla.gnome.org/show_bug.cgi?id=783589
doc/meson.build | 1 -
doc/reference/meson.build | 5 +----
meson.build | 33 ++++++++++++++++++---------------
plugins/background/meson.build | 2 +-
plugins/todo-txt/meson.build | 5 +----
plugins/todoist/meson.build | 5 +----
src/meson.build | 30 ++++++++++++++++--------------
7 files changed, 38 insertions(+), 43 deletions(-)
---
diff --git a/doc/reference/meson.build b/doc/reference/meson.build
index dc4b13e..bdc5bed 100644
--- a/doc/reference/meson.build
+++ b/doc/reference/meson.build
@@ -55,10 +55,7 @@ doc_path = join_paths(gnome_todo_datadir, 'gtk-doc', 'html', meson.project_name(
gnome.gtkdoc(
meson.project_name(),
main_sgml: meson.project_name() + '-docs.sgml',
- src_dir: [
- join_paths(meson.source_root(), 'src'),
- join_paths(meson.build_root(), 'src')
- ],
+ src_dir: src_inc,
dependencies: libgtd_dep,
scan_args: [
'--rebuild-types',
diff --git a/meson.build b/meson.build
index 9355f40..2ce10ac 100644
--- a/meson.build
+++ b/meson.build
@@ -82,28 +82,31 @@ common_flags = ['-DHAVE_CONFIG_H']
buildtype = get_option('buildtype')
if buildtype == 'debug' or buildtype == 'debugoptimized'
test_cflags = [
- '-ffast-math',
- '-fstrict-aliasing',
+ '-fno-strict-aliasing',
'-Wcast-align',
- '-Werror=implicit',
- '-Werror=init-self',
- '-Werror=main',
- '-Werror=missing-braces',
- '-Werror=return-type',
- '-Werror=array-bounds',
- '-Werror=write-strings',
+ '-Wdeclaration-after-statement',
'-Wformat=2',
- '-Wlogical-op',
+ '-Winit-self',
+ '-Winline',
'-Wmissing-declarations',
'-Wmissing-format-attribute',
+ '-Wmissing-include-dirs',
'-Wmissing-noreturn',
'-Wmissing-prototypes',
'-Wnested-externs',
- '-Wno-unused-local-typedefs',
+ '-Wno-error=unused-parameter',
+ '-Wno-error=missing-field-initializers',
+ '-Wno-missing-field-initializers',
+ '-Wno-unused-parameter',
'-Wold-style-definition',
+ '-Wpacked',
'-Wredundant-decls',
'-Wshadow',
- '-Wstrict-prototypes'
+ '-Wstrict-prototypes',
+ '-Wswitch-enum',
+ '-Wundef',
+ '-Wunused-but-set-variable',
+ '-Wwrite-strings'
]
foreach cflag: test_cflags
@@ -111,10 +114,10 @@ if buildtype == 'debug' or buildtype == 'debugoptimized'
common_flags += [cflag]
endif
endforeach
-
- add_project_arguments(common_flags, language: 'c')
endif
+add_project_arguments(common_flags, language: 'c')
+
glib_dep = dependency('glib-2.0', version: '>= 2.43.4')
gtk_dep = dependency('gtk+-3.0', version: '>= 3.22.0')
@@ -152,7 +155,7 @@ subdir('data')
subdir('po')
if get_option('enable-gtk-doc')
- subdir('doc')
+ subdir('doc/reference')
endif
meson.add_install_script('meson_post_install.py')
diff --git a/plugins/background/meson.build b/plugins/background/meson.build
index 69f4621..c6bf445 100644
--- a/plugins/background/meson.build
+++ b/plugins/background/meson.build
@@ -7,7 +7,7 @@ plugins_libs += static_library(
sources: 'gtd-plugin-' + plugin_name + '.c',
include_directories: plugins_incs,
dependencies: gnome_todo_deps,
- c_args: common_flags + [
+ c_args: [
'-DPACKAGE_DATA_DIR="@0@"'.format(gnome_todo_pkgdatadir)
]
)
diff --git a/plugins/todo-txt/meson.build b/plugins/todo-txt/meson.build
index de91b79..45f9bdf 100644
--- a/plugins/todo-txt/meson.build
+++ b/plugins/todo-txt/meson.build
@@ -12,10 +12,7 @@ plugins_libs += static_library(
'todotxt',
sources: sources,
include_directories: plugins_incs,
- dependencies: gnome_todo_deps,
- c_args: common_flags + [
- '-DPACKAGE_DATA_DIR="@0@"'.format(gnome_todo_pkgdatadir)
- ]
+ dependencies: gnome_todo_deps
)
install_data(
diff --git a/plugins/todoist/meson.build b/plugins/todoist/meson.build
index e5ad336..87a3a43 100644
--- a/plugins/todoist/meson.build
+++ b/plugins/todoist/meson.build
@@ -12,10 +12,7 @@ plugins_libs += static_library(
plugin_name,
sources: sources,
include_directories: plugins_incs,
- dependencies: gnome_todo_deps,
- c_args: common_flags + [
- '-DPACKAGE_DATA_DIR="@0@"'.format(gnome_todo_pkgdatadir)
- ]
+ dependencies: gnome_todo_deps
)
plugin_data = plugin_name + '.plugin'
diff --git a/src/meson.build b/src/meson.build
index 093d50d..aa39529 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,6 +1,8 @@
+src_inc = include_directories('.')
+
install_headers(
'engine/gtd-manager.h',
- subdir: join_paths(gnome_todo_pkgincludedir, 'engine')
+ subdir: join_paths(meson.project_name(), 'engine')
)
interfaces_headers = files(
@@ -11,15 +13,19 @@ interfaces_headers = files(
install_headers(
interfaces_headers,
- subdir: join_paths(gnome_todo_pkgincludedir, 'interfaces')
+ subdir: join_paths(meson.project_name(), 'interfaces')
)
install_headers(
'notification/gtd-notification.h',
- subdir: join_paths(gnome_todo_pkgincludedir, 'notification')
+ subdir: join_paths(meson.project_name(), 'notification')
+)
+
+enum_headers = files(
+ 'gtd-enums.h'
)
-headers = files(
+headers = enum_headers + files(
'gtd-object.h',
'gtd-task.h',
'gtd-task-list.h',
@@ -30,13 +36,9 @@ headers = files(
'gnome-todo.h'
)
-enum_headers = files(
- 'gtd-enums.h'
-)
-
install_headers(
- headers + enum_headers,
- subdir: gnome_todo_pkgincludedir
+ headers,
+ subdir: meson.project_name()
)
sources = files(
@@ -96,7 +98,7 @@ sources += gnome.mkenums(
enum,
sources: enum_headers,
c_template: enum + '.c.template',
- h_template: enum + '.h.template',
+ h_template: enum + '.h.template'
)
gnome_todo_incs = [
@@ -110,7 +112,7 @@ gnome_todo_incs = [
)
]
-gnome_todo_cflags = common_flags + [
+gnome_todo_cflags = [
'-DPACKAGE_LOCALE_DIR="@0@"'.format(gnome_todo_localedir),
'-DPACKAGE_DATA_DIR="@0@"'.format(gnome_todo_pkgdatadir),
'-DPACKAGE_LIB_DIR="@0@"'.format(gnome_todo_pkglibdir),
@@ -151,7 +153,7 @@ libgtd = shared_library(
libgtd_dep = declare_dependency(
link_with: libgtd,
- include_directories: include_directories('.'),
+ include_directories: src_inc,
dependencies: gnome_todo_deps
)
@@ -161,7 +163,7 @@ pkg.generate(
name: 'Gnome To Do',
description: 'Header and path for Gnome Todo Plugins',
filebase: meson.project_name(),
- subdirs: gnome_todo_pkgincludedir,
+ subdirs: meson.project_name(),
variables: [
'exec_prefix=${prefix}'
],
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]