mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-03-12 01:23:56 -03:00
waf: ardupilotwaf: allow multiple program groups for program
The program_dir defaults to the first group's name. That feature will be useful for "copter" build command, which will build all frame types.
This commit is contained in:
parent
22b0b7e833
commit
b251d14778
@ -4,5 +4,5 @@
|
|||||||
def build(bld):
|
def build(bld):
|
||||||
bld.ap_program(
|
bld.ap_program(
|
||||||
use='ap',
|
use='ap',
|
||||||
program_group='tools',
|
program_groups='tools',
|
||||||
)
|
)
|
||||||
|
@ -10,5 +10,5 @@ def build(bld):
|
|||||||
|
|
||||||
bld.ap_program(
|
bld.ap_program(
|
||||||
use='ap',
|
use='ap',
|
||||||
program_group='tools',
|
program_groups='tools',
|
||||||
)
|
)
|
||||||
|
@ -86,7 +86,7 @@ _grouped_programs = {}
|
|||||||
|
|
||||||
@conf
|
@conf
|
||||||
def ap_program(bld,
|
def ap_program(bld,
|
||||||
program_group='bin',
|
program_groups='bin',
|
||||||
program_dir=None,
|
program_dir=None,
|
||||||
use_legacy_defines=True,
|
use_legacy_defines=True,
|
||||||
program_name=None,
|
program_name=None,
|
||||||
@ -106,8 +106,10 @@ def ap_program(bld,
|
|||||||
|
|
||||||
kw['features'] = kw.get('features', []) + bld.env.AP_PROGRAM_FEATURES
|
kw['features'] = kw.get('features', []) + bld.env.AP_PROGRAM_FEATURES
|
||||||
|
|
||||||
|
program_groups = Utils.to_list(program_groups)
|
||||||
|
|
||||||
if not program_dir:
|
if not program_dir:
|
||||||
program_dir = program_group
|
program_dir = program_groups[0]
|
||||||
|
|
||||||
name = os.path.join(program_dir, program_name)
|
name = os.path.join(program_dir, program_name)
|
||||||
|
|
||||||
@ -126,11 +128,13 @@ def ap_program(bld,
|
|||||||
program_dir=program_dir,
|
program_dir=program_dir,
|
||||||
**kw
|
**kw
|
||||||
)
|
)
|
||||||
_grouped_programs.setdefault(program_group, []).append(tg)
|
|
||||||
|
for group in program_groups:
|
||||||
|
_grouped_programs.setdefault(group, []).append(tg)
|
||||||
|
|
||||||
@conf
|
@conf
|
||||||
def ap_example(bld, **kw):
|
def ap_example(bld, **kw):
|
||||||
kw['program_group'] = 'examples'
|
kw['program_groups'] = 'examples'
|
||||||
ap_program(bld, **kw)
|
ap_program(bld, **kw)
|
||||||
|
|
||||||
# NOTE: Code in libraries/ is compiled multiple times. So ensure each
|
# NOTE: Code in libraries/ is compiled multiple times. So ensure each
|
||||||
@ -193,7 +197,7 @@ def ap_find_tests(bld, use=[]):
|
|||||||
source=[f],
|
source=[f],
|
||||||
use=use,
|
use=use,
|
||||||
program_name=f.change_ext('').name,
|
program_name=f.change_ext('').name,
|
||||||
program_group='tests',
|
program_groups='tests',
|
||||||
use_legacy_defines=False,
|
use_legacy_defines=False,
|
||||||
cxxflags=['-Wno-undef'],
|
cxxflags=['-Wno-undef'],
|
||||||
)
|
)
|
||||||
@ -213,7 +217,7 @@ def ap_find_benchmarks(bld, use=[]):
|
|||||||
source=[f],
|
source=[f],
|
||||||
use=use,
|
use=use,
|
||||||
program_name=f.change_ext('').name,
|
program_name=f.change_ext('').name,
|
||||||
program_group='benchmarks',
|
program_groups='benchmarks',
|
||||||
use_legacy_defines=False,
|
use_legacy_defines=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user