aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index e8af2b6..b86c84d 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -21,7 +21,7 @@ from functools import lru_cache
from . import environment
from . import dependencies
from . import mlog
-from .mesonlib import File, MesonException, listify, extract_as_list
+from .mesonlib import File, MesonException, listify, extract_as_list, OrderedSet
from .mesonlib import typeslistify, stringlistify, classify_unity_sources
from .mesonlib import get_filenames_templates_dict, substitute_values
from .mesonlib import for_windows, for_darwin, for_cygwin, for_android, has_path_sep
@@ -676,6 +676,14 @@ class BuildTarget(Target):
result += i.get_all_link_deps()
return result
+ @lru_cache(maxsize=None)
+ def get_link_dep_subdirs(self):
+ result = OrderedSet()
+ for i in self.link_targets:
+ result.add(i.get_subdir())
+ result.update(i.get_link_dep_subdirs())
+ return result
+
def get_custom_install_dir(self):
return self.install_dir