MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / PrepareUA

Function PrepareUA

tools/targets/ua.py:42–101  ·  view source on GitHub ↗
(project, RTT_ROOT, BSP_ROOT)

Source from the content-addressed store, hash-verified

40 return False
41
42def PrepareUA(project, RTT_ROOT, BSP_ROOT):
43 with open('rtua.py', 'w') as ua:
44 # ua.write('import os\n')
45 # ua.write('import sys\n')
46 ua.write('\n')
47
48 print(RTT_ROOT)
49
50 CPPPATH = []
51 CPPDEFINES = []
52
53 for group in project:
54 # get each include path
55 if 'CPPPATH' in group and group['CPPPATH']:
56 CPPPATH += group['CPPPATH']
57
58 # get each group's definitions
59 if 'CPPDEFINES' in group and group['CPPDEFINES']:
60 CPPDEFINES += group['CPPDEFINES']
61
62 if len(CPPPATH):
63 # use absolute path
64 for i in range(len(CPPPATH)):
65 CPPPATH[i] = os.path.abspath(CPPPATH[i])
66
67 # remove repeat path
68 paths = [i for i in set(CPPPATH)]
69 CPPPATH = []
70 for path in paths:
71 if PrefixPath(RTT_ROOT, path):
72 CPPPATH += ['RTT_ROOT + "/%s",' % _make_path_relative(RTT_ROOT, path).replace('\\', '/')]
73
74 elif PrefixPath(BSP_ROOT, path):
75 CPPPATH += ['BSP_ROOT + "/%s",' % _make_path_relative(BSP_ROOT, path).replace('\\', '/')]
76 else:
77 CPPPATH += ['"%s",' % path.replace('\\', '/')]
78
79 CPPPATH.sort()
80 ua.write('def GetCPPPATH(BSP_ROOT, RTT_ROOT):\n')
81 ua.write('\tCPPPATH=[\n')
82 for path in CPPPATH:
83 ua.write('\t\t%s\n' % path)
84 ua.write('\t]\n\n')
85 ua.write('\treturn CPPPATH\n\n')
86 else:
87 ua.write('def GetCPPPATH(BSP_ROOT, RTT_ROOT):\n')
88 ua.write('\tCPPPATH=[]\n\n')
89 ua.write('\treturn CPPPATH\n\n')
90
91 if len(CPPDEFINES):
92 CPPDEFINES = [i for i in set(CPPDEFINES)]
93
94 ua.write('def GetCPPDEFINES():\n')
95 ua.write('\tCPPDEFINES=%s\n' % str(CPPDEFINES))
96 ua.write('\treturn CPPDEFINES\n\n')
97
98 else:
99 ua.write('def GetCPPDEFINES():\n')

Callers 1

GenTargetProjectFunction · 0.90

Calls 6

_make_path_relativeFunction · 0.90
sortMethod · 0.80
PrefixPathFunction · 0.70
openFunction · 0.50
setFunction · 0.50
writeMethod · 0.45

Tested by

no test coverage detected