aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/vs2010backend.py8
-rw-r--r--mesonbuild/build.py4
2 files changed, 8 insertions, 4 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index 6a182d9..9d3f6c5 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -12,7 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import annotations
import copy
+import itertools
import os
import xml.dom.minidom
import xml.etree.ElementTree as ET
@@ -318,11 +320,13 @@ class Vs2010Backend(backends.Backend):
gen_exe = generator.get_exe()
if isinstance(gen_exe, build.Executable):
all_deps[gen_exe.get_id()] = gen_exe
- for d in generator.depends:
+ for d in itertools.chain(generator.depends, gendep.depends):
if isinstance(d, build.CustomTargetIndex):
all_deps[d.get_id()] = d.target
- else:
+ elif isinstance(d, build.Target):
all_deps[d.get_id()] = d
+ # FIXME: we don't handle other kinds of deps correctly here, such
+ # as GeneratedLists, StructuredSources, and generated File.
if not t or not recursive:
return all_deps
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index b2f8f37..7b8966b 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -1720,7 +1720,7 @@ class Generator(HoldableObject):
output.depends.add(e.target)
if isinstance(e, (CustomTarget, CustomTargetIndex, GeneratedList)):
- self.depends.append(e) # BUG: this should go in the GeneratedList object, not this object.
+ output.depends.add(e)
fs = [File.from_built_file(state.subdir, f) for f in e.get_outputs()]
elif isinstance(e, str):
fs = [File.from_source_file(state.environment.source_dir, state.subdir, e)]
@@ -1748,7 +1748,7 @@ class GeneratedList(HoldableObject):
def __post_init__(self) -> None:
self.name = self.generator.exe
- self.depends: T.Set['CustomTarget'] = set() # Things this target depends on (because e.g. a custom target was used as input)
+ self.depends: T.Set[GeneratedTypes] = set()
self.infilelist: T.List['File'] = []
self.outfilelist: T.List[str] = []
self.outmap: T.Dict[File, T.List[str]] = {}