[sysprof/wip/jtojnar/subprojects: 1/2] build: do not use add_global_arguments



commit 9c0b94682c7099a54b38c1a27b2ae3449cd1c6e7
Author: Jan Tojnar <jtojnar gmail com>
Date:   Fri Nov 22 09:06:26 2019 +0100

    build: do not use add_global_arguments
    
    Not only it does not work in subprojects, using global state is a bad practice.

 meson.build                        |  6 ++----
 src/libsysprof-capture/meson.build |  1 +
 src/libsysprof-ui/meson.build      |  1 +
 src/libsysprof/meson.build         |  4 +++-
 src/sysprof/meson.build            |  1 +
 src/sysprofd/meson.build           |  6 +++++-
 src/tests/meson.build              | 15 ++++++++++-----
 src/tools/meson.build              | 10 +++++++---
 8 files changed, 30 insertions(+), 14 deletions(-)
---
diff --git a/meson.build b/meson.build
index a018c34..7a5b83a 100644
--- a/meson.build
+++ b/meson.build
@@ -91,10 +91,6 @@ if has_use_clockid and has_clockid
   config_h.set10('HAVE_PERF_CLOCKID', true)
 endif
 
-add_global_arguments([
-  '-I' + meson.build_root(), # config.h
-], language: 'c')
-
 global_c_args = []
 test_c_args = [
   '-Wcast-align',
@@ -175,6 +171,8 @@ int main(void) {
   error('Sysprof requires a C compiler with stdatomic support such as GCC 4.9 or newer')
 endif
 
+conf_include_dirs = include_directories('.')
+
 configure_file(
          output: 'config.h',
   configuration: config_h
diff --git a/src/libsysprof-capture/meson.build b/src/libsysprof-capture/meson.build
index e0d76c4..d772a6b 100644
--- a/src/libsysprof-capture/meson.build
+++ b/src/libsysprof-capture/meson.build
@@ -43,6 +43,7 @@ libsysprof_capture = static_library(
            dependencies: libsysprof_capture_deps,
                  c_args: [ '-DSYSPROF_CAPTURE_COMPILATION' ],
             install_dir: get_option('libdir'),
+    include_directories: [ conf_include_dirs ],
                 install: true,
   gnu_symbol_visibility: 'hidden',
 )
diff --git a/src/libsysprof-ui/meson.build b/src/libsysprof-ui/meson.build
index 2fa44f0..65c7b83 100644
--- a/src/libsysprof-ui/meson.build
+++ b/src/libsysprof-ui/meson.build
@@ -94,6 +94,7 @@ libsysprof_ui = shared_library(
 
            dependencies: libsysprof_ui_deps,
             install_dir: get_option('libdir'),
+    include_directories: [ conf_include_dirs ],
                 install: true,
                  c_args: [ '-DSYSPROF_UI_COMPILATION' ],
   gnu_symbol_visibility: 'hidden',
diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build
index 3449961..5883674 100644
--- a/src/libsysprof/meson.build
+++ b/src/libsysprof/meson.build
@@ -115,7 +115,9 @@ libsysprof = shared_library(
 
     include_directories: [include_directories('.'),
                           ipc_include_dirs,
-                          libsysprof_capture_include_dirs],
+                          libsysprof_capture_include_dirs,
+                          conf_include_dirs,
+                         ],
            dependencies: libsysprof_deps,
                  c_args: libsysprof_c_args,
                 install: true,
diff --git a/src/sysprof/meson.build b/src/sysprof/meson.build
index 6a29160..48355ba 100644
--- a/src/sysprof/meson.build
+++ b/src/sysprof/meson.build
@@ -21,6 +21,7 @@ sysprof_deps = [
 
 sysprof = executable('sysprof', sysprof_resources + sysprof_sources,
   dependencies: sysprof_deps,
+  include_directories: [ conf_include_dirs ],
        gui_app: true,
    install_dir: get_option('bindir'),
        install: true,
diff --git a/src/sysprofd/meson.build b/src/sysprofd/meson.build
index bf1a652..15add27 100644
--- a/src/sysprofd/meson.build
+++ b/src/sysprofd/meson.build
@@ -28,7 +28,11 @@ sysprofd = executable('sysprofd', sysprofd_sources,
               install: true,
           install_dir: pkglibexecdir,
                   pie: true,
-  include_directories: [include_directories('.'), ipc_include_dirs],
+  include_directories: [
+    include_directories('.'),
+    ipc_include_dirs,
+    conf_include_dirs,
+  ],
 )
 
 sysprofdconf = configuration_data()
diff --git a/src/tests/meson.build b/src/tests/meson.build
index c506d19..73f3250 100644
--- a/src/tests/meson.build
+++ b/src/tests/meson.build
@@ -13,7 +13,8 @@ test_cflags = [
 ]
 
 test_capture = executable('test-capture', 'test-capture.c',
-        c_args: test_cflags,
+  c_args: test_cflags,
+  include_directories: [ conf_include_dirs ],
   dependencies: [libsysprof_capture_dep],
 )
 
@@ -35,7 +36,8 @@ test_addr_map = executable('test-addr-map',
   ['test-addr-map.c',
    '../libsysprof/sysprof-map-lookaside.c',
    '../libsysprof/sysprof-symbol-map.c'],
-        c_args: test_cflags,
+  c_args: test_cflags,
+  include_directories: [ conf_include_dirs ],
   dependencies: test_deps,
 )
 
@@ -47,14 +49,16 @@ test_addr_decode = executable('test-addr-decode', 'test-addr-decode.c',
 test_mountinfo = executable('test-mountinfo',
   [ 'test-mountinfo.c',
     '../libsysprof/sysprof-mountinfo.c'],
-        c_args: test_cflags,
+    c_args: test_cflags,
+  include_directories: [ conf_include_dirs ],
   dependencies: test_deps,
 )
 
 test_flatpak = executable('test-flatpak',
   [ 'test-flatpak.c',
     '../libsysprof/sysprof-flatpak.c'],
-        c_args: test_cflags,
+  c_args: test_cflags,
+  include_directories: [ conf_include_dirs ],
   dependencies: test_deps,
 )
 
@@ -84,7 +88,8 @@ if get_option('enable_gtk')
 
   test_zoom = executable('test-zoom',
     ['test-zoom.c', '../libsysprof-ui/sysprof-zoom-manager.c'],
-          c_args: test_cflags,
+    c_args: test_cflags,
+    include_directories: [ conf_include_dirs ],
     dependencies: test_ui_deps,
   )
 
diff --git a/src/tools/meson.build b/src/tools/meson.build
index 670052a..0108afd 100644
--- a/src/tools/meson.build
+++ b/src/tools/meson.build
@@ -6,6 +6,7 @@ if get_option('libsysprof') and host_machine.system() == 'linux'
   polkit_agent_dep = dependency('polkit-agent-1')
   sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c',
     dependencies: tools_deps + [libsysprof_dep, polkit_dep, polkit_agent_dep],
+    include_directories: [ conf_include_dirs ],
      install_dir: get_option('bindir'),
          install: true,
   )
@@ -13,18 +14,21 @@ endif
 
 sysprof_cat = executable('sysprof-cat', 'sysprof-cat.c',
   dependencies: tools_deps,
-       install: false,
+  include_directories: [ conf_include_dirs ],
+  install: false,
 )
 
 sysprof_dump = executable('sysprof-dump', 'sysprof-dump.c',
   dependencies: tools_deps,
-       install: false,
+  include_directories: [ conf_include_dirs ],
+  install: false,
 )
 
 sysprof_profiler_ctl = executable('sysprof-profiler-ctl',
   [ 'sysprof-profiler-ctl.c', ipc_profiler_src ],
   dependencies: [ tools_deps, gio_unix_dep ],
-       install: false,
+  include_directories: [ conf_include_dirs ],
+  install: false,
 )
 
 list_threads = executable('list-threads', ['list-threads.c'],


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