jw-pkg/src/python/jw/pkg/cmds/projects/CmdCflags.py
Jan Lindemann f175f9d5c9 lib.Cmd: Add argument "parent" to __init__()

During __init__(), commands have no idea of their parent. This is not a problem as of now, but is easy to fix, and it's architecturally desirable to be prepared just in case, so add the parent argument to the ctor before more commands are added.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-01-28 15:24:24 +01:00

27 lines
906 B
Python

# -*- coding: utf-8 -*-
from argparse import Namespace, ArgumentParser
from ..Cmd import Cmd
from ..CmdProjects import CmdProjects
from ...App import Scope
class CmdCflags(Cmd): # export
def __init__(self, parent: CmdProjects) -> None:
super().__init__(parent, 'cflags', help='cflags')
def add_arguments(self, parser: ArgumentParser) -> None:
super().add_arguments(parser)
parser.add_argument('module', nargs='*', help='Modules')
def _run(self, args: Namespace) -> None:
deps = self.app.get_modules_from_project_txt(args.module, ['pkg.requires.jw'], 'build',
scope = Scope.Subtree, add_self=True, names_only=True)
out = []
for m in reversed(deps):
path = self.app.find_dir(m, ['/include'])
if path is not None:
out.append('-I' + path)
if out:
print(' '.join(out))