From 1d1c7f88b1c26cfb0f169f3ec487d673e4262f13 Mon Sep 17 00:00:00 2001 From: sleepy-monax Date: Wed, 24 Dec 2025 22:16:24 +0100 Subject: [PATCH 1/2] Safer header export --- cutekit/builder.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/cutekit/builder.py b/cutekit/builder.py index de620f8..dd57b9b 100644 --- a/cutekit/builder.py +++ b/cutekit/builder.py @@ -153,12 +153,8 @@ def _computeCinc(scope: TargetScope) -> list[str]: res.add(includeGenerated) for c in scope.registry.iterEnabled(scope.target): - if "cpp-root-include" in c.props: - res.add(c.dirname()) - elif "cpp-excluded" in c.props: - pass - elif c.type == model.Kind.LIB: - res.add(str(Path(c.dirname()).parent)) + if "export-headers" in c.props: + res.add(str(Path(c.dirname()) / c.props["export-headers"])) incs = sorted(map(lambda i: f"-I{i}", res)) if scope.target.props["host"] and platform.system() == "Darwin": From 890f83e6b684aee147011a055ad4f86de7c1c5a1 Mon Sep 17 00:00:00 2001 From: sleepy-monax Date: Wed, 24 Dec 2025 22:47:22 +0100 Subject: [PATCH 2/2] wip --- cutekit/builder.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/cutekit/builder.py b/cutekit/builder.py index dd57b9b..d0a85a0 100644 --- a/cutekit/builder.py +++ b/cutekit/builder.py @@ -154,7 +154,23 @@ def _computeCinc(scope: TargetScope) -> list[str]: for c in scope.registry.iterEnabled(scope.target): if "export-headers" in c.props: - res.add(str(Path(c.dirname()) / c.props["export-headers"])) + headerPath = Path(c.dirname()) / c.props["export-headers"] + if not headerPath.is_dir(): + _logger.warning( + f"Component {c.id} export-headers path '{headerPath}' is not a directory" + ) + continue + res.add(str(headerPath)) + + # TODO: Remove when we get 1.0 (will probably be forgotten anyway :^) ) + elif "cpp-root-include" in c.props: + _logger.warning( + f"Component {c.id} uses no longer supported 'cpp-root-include' property, use 'export-headers' instead" + ) + elif "cpp-excluded" in c.props: + _logger.warning( + f"Component {c.id} uses no longer supported 'cpp-excluded' that is no longer needed" + ) incs = sorted(map(lambda i: f"-I{i}", res)) if scope.target.props["host"] and platform.system() == "Darwin":