aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2020-06-07 22:33:04 +0300
committerGitHub <noreply@github.com>2020-06-07 22:33:04 +0300
commit7e1bef69598f47ce2ac59c3a6ebd98a29f1ca3f2 (patch)
treeae20a930fbf591b1682e6547b6dcce4fa709ef81 /mesonbuild/backend
parent508a0d60737792d83a6269acea52ed0ccdf8fde2 (diff)
parent032ab3606d7bbb4b40da7871f6193be0dee126a8 (diff)
downloadmeson-7e1bef69598f47ce2ac59c3a6ebd98a29f1ca3f2.zip
meson-7e1bef69598f47ce2ac59c3a6ebd98a29f1ca3f2.tar.gz
meson-7e1bef69598f47ce2ac59c3a6ebd98a29f1ca3f2.tar.bz2
Merge pull request #7119 from marcelhollerbach/master
Performance optimize ninja backend
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/ninjabackend.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 69e7618..6cf8026 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -2004,6 +2004,10 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
curdir = '.'
return compiler.get_include_args(curdir, False)
+ @lru_cache(maxsize=None)
+ def get_normpath_target(self, source) -> str:
+ return os.path.normpath(source)
+
def get_custom_target_dir_include_args(self, target, compiler):
custom_target_include_dirs = []
for i in target.get_generated_sources():
@@ -2012,7 +2016,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
# own target build dir.
if not isinstance(i, (build.CustomTarget, build.CustomTargetIndex)):
continue
- idir = os.path.normpath(self.get_target_dir(i))
+ idir = self.get_normpath_target(self.get_target_dir(i))
if not idir:
idir = '.'
if idir not in custom_target_include_dirs: