Skip to content

Commit 091fe2b

Browse files
authored
Merge pull request #9401 from loverdeg-ep/custom-targets-option
tools: adds and implements a --custom-targets command line switch
2 parents 27cce81 + bb5ea80 commit 091fe2b

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

tools/device_management.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def _addCreateArgs(self, parser, exclusions=[]):
6868
parser.add_argument('-m', '--mcu')
6969
parser.add_argument('-t', '--toolchain')
7070
parser.add_argument('--source', nargs='+', dest='source_dir')
71+
parser.add_argument('--custom-targets', dest='custom_targets_directory')
7172
parser.add_argument('--build')
7273
exclusions.append('payload')
7374
super(MbedExtendedArgs, self)._addCreateArgs(parser, exclusions)

tools/options.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ def get_default_options_parser(add_clean=True, add_options=True,
5252
', '.join(targetnames)),
5353
metavar="MCU")
5454

55+
parser.add_argument("--custom-targets",
56+
help="Specify directory containing custom_targets.json",
57+
type=argparse_filestring_type,
58+
dest="custom_targets_directory",
59+
action="append",
60+
default=None)
61+
5562
parser.add_argument("-t", "--tool",
5663
help=("build using the given TOOLCHAIN (%s)" %
5764
', '.join(toolchainlist)),
@@ -123,7 +130,11 @@ def extract_profile(parser, options, toolchain, fallback="develop"):
123130

124131
def extract_mcus(parser, options):
125132
try:
126-
if options.source_dir:
133+
if options.custom_targets_directory:
134+
for custom_targets_directory in options.custom_targets_directory:
135+
Target.add_extra_targets(custom_targets_directory)
136+
update_target_data()
137+
elif options.source_dir:
127138
for source_dir in options.source_dir:
128139
Target.add_extra_targets(source_dir)
129140
update_target_data()
@@ -135,4 +146,3 @@ def extract_mcus(parser, options):
135146
return argparse_many(argparse_force_uppercase_type(targetnames, "MCU"))(options.mcu)
136147
except ArgumentTypeError as exc:
137148
args_error(parser, "argument -m/--mcu: {}".format(str(exc)))
138-

tools/project.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,15 @@ def get_args(argv):
270270
help="The source (input) directory"
271271
)
272272

273+
parser.add_argument(
274+
"--custom-targets",
275+
action="append",
276+
type=argparse_filestring_type,
277+
dest="custom_targets_directory",
278+
default=[],
279+
help="Specify directory containing custom_targets.json"
280+
)
281+
273282
parser.add_argument(
274283
"-D",
275284
action="append",

0 commit comments

Comments
 (0)