mirror of
https://github.com/phodina/ProjectConverter.git
synced 2026-07-30 16:26:15 +08:00
Sources are now stored in project variable.
This commit is contained in:
parent
2f08c0188f
commit
d56672de0b
7
cmake.py
7
cmake.py
@ -7,8 +7,9 @@ from jinja2 import Environment, FileSystemLoader
|
|||||||
|
|
||||||
class CMake (object):
|
class CMake (object):
|
||||||
|
|
||||||
def __init__(self, project):
|
def __init__(self, project, path):
|
||||||
|
|
||||||
|
self.path = path
|
||||||
self.project = project
|
self.project = project
|
||||||
self.context = {}
|
self.context = {}
|
||||||
|
|
||||||
@ -18,7 +19,7 @@ class CMake (object):
|
|||||||
|
|
||||||
# For debug run cmake -DCMAKE_BUILD_TYPE=Debug or Release
|
# For debug run cmake -DCMAKE_BUILD_TYPE=Debug or Release
|
||||||
cmake = {}
|
cmake = {}
|
||||||
fpu = '-mfpu=fpv5-sp-d16 -mfloat-abi=softfp'
|
#fpu = '-mfpu=fpv5-sp-d16 -mfloat-abi=softfp'
|
||||||
fpu = ''
|
fpu = ''
|
||||||
|
|
||||||
core = ''
|
core = ''
|
||||||
@ -69,7 +70,7 @@ class CMake (object):
|
|||||||
|
|
||||||
self.context['cmake'] = cmake
|
self.context['cmake'] = cmake
|
||||||
|
|
||||||
self.generateFile('CMakeLists.txt')
|
self.generateFile('CMakeLists.txt',os.path.join(self.path,'CMakeLists.txt'))
|
||||||
|
|
||||||
print ('Created file CMakeLists.txt')
|
print ('Created file CMakeLists.txt')
|
||||||
|
|
||||||
|
|||||||
@ -35,7 +35,7 @@ if __name__ == '__main__':
|
|||||||
project.parseProject()
|
project.parseProject()
|
||||||
project.displaySummary()
|
project.displaySummary()
|
||||||
|
|
||||||
cmakefile = cmake.CMake(project.getProject())
|
cmakefile = cmake.CMake(project.getProject(),args.path)
|
||||||
cmakefile.populateCMake()
|
cmakefile.populateCMake()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@ -50,7 +50,7 @@ if __name__ == '__main__':
|
|||||||
project.parseProject()
|
project.parseProject()
|
||||||
project.displaySummary()
|
project.displaySummary()
|
||||||
|
|
||||||
cmakefile = cmake.CMake(project.getProject())
|
cmakefile = cmake.CMake(project.getProject(),args.path)
|
||||||
cmakefile.populateCMake()
|
cmakefile.populateCMake()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -32,7 +32,7 @@ class EWPProject (object):
|
|||||||
|
|
||||||
if e.tag == 'option':
|
if e.tag == 'option':
|
||||||
if e.name.text == 'OGChipSelectEditMenu':
|
if e.name.text == 'OGChipSelectEditMenu':
|
||||||
self.project['chip'] = e.state
|
self.project['chip'] = str(e.state)
|
||||||
elif e.name.text == 'CCDefines':
|
elif e.name.text == 'CCDefines':
|
||||||
for d in e.getchildren():
|
for d in e.getchildren():
|
||||||
if d.tag == 'state' and d.text != None:
|
if d.tag == 'state' and d.text != None:
|
||||||
@ -52,41 +52,17 @@ class EWPProject (object):
|
|||||||
print ('Project chip:' + self.project['chip'])
|
print ('Project chip:' + self.project['chip'])
|
||||||
print ('Project includes: ' + ' '.join(self.project['incs']))
|
print ('Project includes: ' + ' '.join(self.project['incs']))
|
||||||
print ('Project defines: ' + ' '.join(self.project['defs']))
|
print ('Project defines: ' + ' '.join(self.project['defs']))
|
||||||
|
print ('Project srcs: ' + ' '.join(self.project['srcs']))
|
||||||
#print ('Groups: ')
|
|
||||||
#print (self.sources)
|
|
||||||
#for src in self.sources:
|
|
||||||
# self.printGroups(src)
|
|
||||||
|
|
||||||
|
|
||||||
def printGroups(self, group):
|
|
||||||
|
|
||||||
print ('Group name:' + group['name'])
|
|
||||||
|
|
||||||
for file in group['files']:
|
|
||||||
print ('File: ' + file)
|
|
||||||
|
|
||||||
for g in group['groups']:
|
|
||||||
self.printGroups(g)
|
|
||||||
|
|
||||||
def searchGroups(self, xml, sources):
|
def searchGroups(self, xml, sources):
|
||||||
|
|
||||||
group = {}
|
|
||||||
group['name'] = ''
|
|
||||||
group['files'] = []
|
|
||||||
group['groups'] = []
|
|
||||||
|
|
||||||
for element in xml.getchildren():
|
for element in xml.getchildren():
|
||||||
|
|
||||||
if element.tag == 'group':
|
if element.tag == 'group':
|
||||||
group['name'] = element.name
|
self.searchGroups(element,sources)
|
||||||
print ('File: ' + group['name'])
|
|
||||||
self.searchGroups(element,group['groups'])
|
|
||||||
sources.append(group)
|
|
||||||
|
|
||||||
elif element.tag == 'file':
|
elif element.tag == 'file':
|
||||||
print ('File: ' + element.name)
|
sources.append(str(element.name))
|
||||||
group['files'].append(element.name)
|
|
||||||
|
|
||||||
def getProject(self):
|
def getProject(self):
|
||||||
|
|
||||||
|
|||||||
@ -13,8 +13,7 @@ class UVPROJXProject (object):
|
|||||||
def parseProject (self):
|
def parseProject (self):
|
||||||
|
|
||||||
self.project['name'] = self.root.Targets.Target.TargetName
|
self.project['name'] = self.root.Targets.Target.TargetName
|
||||||
self.project['chip'] = self.root.Targets.Target.TargetOption.TargetCommonOption.Device
|
self.project['chip'] = str(self.root.Targets.Target.TargetOption.TargetCommonOption.Device)
|
||||||
self.project['svd'] = self.root.Targets.Target.TargetOption.TargetCommonOption.SFDFile
|
|
||||||
self.project['incs'] = self.root.Targets.Target.TargetOption.TargetArmAds.Cads.VariousControls.IncludePath.text.split(';')
|
self.project['incs'] = self.root.Targets.Target.TargetOption.TargetArmAds.Cads.VariousControls.IncludePath.text.split(';')
|
||||||
self.project['mems'] = self.root.Targets.Target.TargetOption.TargetCommonOption.Cpu
|
self.project['mems'] = self.root.Targets.Target.TargetOption.TargetCommonOption.Cpu
|
||||||
self.project['defs'] = self.root.Targets.Target.TargetOption.TargetArmAds.Cads.VariousControls.Define.text.split(',')
|
self.project['defs'] = self.root.Targets.Target.TargetOption.TargetArmAds.Cads.VariousControls.Define.text.split(',')
|
||||||
@ -25,16 +24,15 @@ class UVPROJXProject (object):
|
|||||||
print ('GroupName: ' + element.GroupName.text)
|
print ('GroupName: ' + element.GroupName.text)
|
||||||
if hasattr(element,'Files'):
|
if hasattr(element,'Files'):
|
||||||
for file in element.Files.getchildren():
|
for file in element.Files.getchildren():
|
||||||
#print ('FileName: ' + file.FileName.text)
|
self.project['srcs'] = file.FilePath.text
|
||||||
print ('FilePath: ' + file.FilePath.text)
|
|
||||||
|
|
||||||
def displaySummary(self):
|
def displaySummary(self):
|
||||||
|
|
||||||
print ('Project Name:' + self.project['name'])
|
print ('Project Name:' + self.project['name'])
|
||||||
print ('Project chip:' + self.project['chip'])
|
print ('Project chip:' + self.project['chip'])
|
||||||
print ('Project svd:' + self.project['svd'])
|
|
||||||
print ('Project includes: ' + ' '.join(self.project['incs']))
|
print ('Project includes: ' + ' '.join(self.project['incs']))
|
||||||
print ('Project defines: ' + ' '.join(self.project['defs']))
|
print ('Project defines: ' + ' '.join(self.project['defs']))
|
||||||
|
print ('Project srcs: ' + ' '.join(self.project['defs']))
|
||||||
print ('Project: ' + self.project['mems'])
|
print ('Project: ' + self.project['mems'])
|
||||||
|
|
||||||
def getProject(self):
|
def getProject(self):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user