aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2022-10-16 18:19:33 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2022-10-16 18:19:33 +0300
commit2b43f1ec1dd72e774162642c91421f4a6ae38f9c (patch)
treef2e544cf9a1dac65797a6ac06ae1cfdc24f504e1 /mesonbuild/backend/ninjabackend.py
parent5937bbf6ee99d31b2f7d47d4e5cae7892bcb88d8 (diff)
downloadmeson-biggen.zip
meson-biggen.tar.gz
meson-biggen.tar.bz2
Add support for opaque build targets. Closes #10627.biggen
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 593c201..8377dcf 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -3445,15 +3445,17 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
# empty. https://github.com/mesonbuild/meson/issues/1220
ctlist = []
for t in self.build.get_targets().values():
- if isinstance(t, build.CustomTarget):
+ if isinstance(t, build.CustomTarget) and not t.is_opaque:
# Create a list of all custom target outputs
for o in t.get_outputs():
ctlist.append(os.path.join(self.get_target_dir(t), o))
# As above, but restore the top level directory after deletion.
+ gendir_list = []
for t in self.build.get_targets().values():
- if isinstance(t, build.CustomTarget):
- if False:
- gendir_list.append('fake')
+ if isinstance(t, build.CustomTarget) and t.is_opaque:
+ opdata = mesonlib.get_opaque_data(t.subproject, t.name)
+ gendir_list.append(opdata.scratch)
+ gendir_list.append(opdata.out)
if ctlist or gendir_list:
elem.add_dep(self.generate_custom_target_clean(ctlist, gendir_list))