(project, RTT_ROOT, BSP_ROOT)
| 40 | return False |
| 41 | |
| 42 | def 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') |
no test coverage detected