diff --git a/tools/building.py b/tools/building.py index d141797de42..26e13b3f84a 100644 --- a/tools/building.py +++ b/tools/building.py @@ -579,8 +579,8 @@ def DefineGroup(name, src, depend, **parameters): group['name'] = name group['path'] = group_path if type(src) == type([]): - # remove duplicate elements from list - src = list(set(src)) + # remove duplicate elements from list while preserving order + src = list(dict.fromkeys(src)) group['src'] = File(src) else: group['src'] = src diff --git a/tools/targets/iar.py b/tools/targets/iar.py index 39b28728e75..ee53ad2e001 100644 --- a/tools/targets/iar.py +++ b/tools/targets/iar.py @@ -131,10 +131,11 @@ def searchLib(group): print('not found LIB: ' + item) # make relative path - paths = set() + paths = {} for path in CPPPATH: inc = _make_path_relative(project_path, os.path.normpath(path)) - paths.add(inc) #.replace('\\', '/') + paths[inc] = None # 使用 dict 去重并保持插入顺序 + paths = list(paths.keys()) # setting options options = tree.findall('configuration/settings/data/option')