From 2d0b5f6b34941c5ccf629bdd0ed2e770448ecbdc Mon Sep 17 00:00:00 2001
From: Florian Fischer <florian.fl.fischer@fau.de>
Date: Thu, 18 Feb 2021 14:43:46 +0100
Subject: [PATCH] [meson] better propagate dependencies

The emper header LockedUnboundedQueue.hpp could depend on different libraries
according to the implementation.

To link those dependencies with everything including LockedUnboundedQueue.hpp
we propagate all emper_dependencies through emper_dep.

And using emper_dep as a dependency seems anyway better than essentially
writing down emper_dep manually each time.

emper_dep essentially is:
(link_with:emper, include_directories: emper_all_include)
---
 emper/meson.build          |  6 +++---
 eval/meson.build           | 11 +++--------
 tests/fixtures/meson.build |  3 +--
 3 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/emper/meson.build b/emper/meson.build
index c3c85bb0..935099db 100644
--- a/emper/meson.build
+++ b/emper/meson.build
@@ -54,7 +54,8 @@ emper = library(
 
 emper_dep = declare_dependency(
   include_directories : emper_all_include,
-  link_with : emper
+  link_with : emper,
+  dependencies : emper_dependencies,
 )
 
 
@@ -65,8 +66,7 @@ emper_c_sources = [
 emper_c = library(
   'emper-c',
   emper_c_sources,
-  include_directories: emper_all_include,
-  link_with: emper,
+  dependencies: emper_dep,
   install: true,
 )
 
diff --git a/eval/meson.build b/eval/meson.build
index e33ab63c..44606558 100644
--- a/eval/meson.build
+++ b/eval/meson.build
@@ -1,22 +1,17 @@
 executable(
   'time_to_spawn',
   'TimeToSpawn.cpp',
-  include_directories: emper_all_include,
-  dependencies: thread_dep,
-  link_with: emper,
+  dependencies: emper_dep,
 )
 
 executable(
   'spawn_a_lot',
   'SpawnALot.cpp',
-  include_directories: emper_all_include,
-  dependencies: thread_dep,
-  link_with: emper,
+  dependencies: emper_dep,
 )
 
 executable(
   'locality',
   'Locality.cpp',
-  include_directories: emper_all_include,
-  link_with: emper,
+  dependencies: emper_dep,
 )
diff --git a/tests/fixtures/meson.build b/tests/fixtures/meson.build
index 37deaeff..0ba7b33d 100644
--- a/tests/fixtures/meson.build
+++ b/tests/fixtures/meson.build
@@ -5,8 +5,7 @@ test_fixtures_sources = ['network.cpp']
 test_fixtures_lib = library(
 	'test-fixtures',
 	test_fixtures_sources,
-	include_directories: emper_all_include,
-	link_with: emper,
+	dependencies: emper_dep,
 )
 
 test_fixtures = declare_dependency(
-- 
GitLab