mirror of
ssh://git.janware.com/janware/proj/jw-pkg
synced 2026-04-25 17:45:55 +02:00
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>
27 lines
906 B
Python
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))
|