|
@@ -137,7 +137,7 @@ def MDK4AddLibToGroup(ProjectFiles, group, name, filename, project_path):
|
|
|
|
|
|
return group
|
|
return group
|
|
|
|
|
|
-def MDK4AddGroup(ProjectFiles, parent, name, files, project_path):
|
|
|
|
|
|
+def MDK4AddGroup(ProjectFiles, parent, name, files, project_path, group_scons):
|
|
# don't add an empty group
|
|
# don't add an empty group
|
|
if len(files) == 0:
|
|
if len(files) == 0:
|
|
return
|
|
return
|
|
@@ -176,9 +176,36 @@ def MDK4AddGroup(ProjectFiles, parent, name, files, project_path):
|
|
file_type = SubElement(file, 'FileType')
|
|
file_type = SubElement(file, 'FileType')
|
|
file_type.text = '%d' % _get_filetype(name)
|
|
file_type.text = '%d' % _get_filetype(name)
|
|
file_path = SubElement(file, 'FilePath')
|
|
file_path = SubElement(file, 'FilePath')
|
|
-
|
|
|
|
file_path.text = path # path.decode(fs_encoding)
|
|
file_path.text = path # path.decode(fs_encoding)
|
|
|
|
|
|
|
|
+ # for local LOCAL_CFLAGS/LOCAL_CXXFLAGS/LOCAL_CCFLAGS/LOCAL_CPPPATH/LOCAL_CPPDEFINES
|
|
|
|
+ MiscControls_text = ' '
|
|
|
|
+ if file_type.text == '1' and 'LOCAL_CFLAGS' in group_scons:
|
|
|
|
+ MiscControls_text = MiscControls_text + group_scons['LOCAL_CFLAGS']
|
|
|
|
+ elif file_type.text == '8' and 'LOCAL_CXXFLAGS' in group_scons:
|
|
|
|
+ MiscControls_text = MiscControls_text + group_scons['LOCAL_CXXFLAGS']
|
|
|
|
+ if 'LOCAL_CCFLAGS' in group_scons:
|
|
|
|
+ MiscControls_text = MiscControls_text + group_scons['LOCAL_CCFLAGS']
|
|
|
|
+ if MiscControls_text != ' ':
|
|
|
|
+ FileOption = SubElement(file, 'FileOption')
|
|
|
|
+ FileArmAds = SubElement(FileOption, 'FileArmAds')
|
|
|
|
+ Cads = SubElement(FileArmAds, 'Cads')
|
|
|
|
+ VariousControls = SubElement(Cads, 'VariousControls')
|
|
|
|
+ MiscControls = SubElement(VariousControls, 'MiscControls')
|
|
|
|
+ MiscControls.text = MiscControls_text
|
|
|
|
+ Define = SubElement(VariousControls, 'Define')
|
|
|
|
+ if 'LOCAL_CPPDEFINES' in group_scons:
|
|
|
|
+ Define.text = ', '.join(set(group_scons['LOCAL_CPPDEFINES']))
|
|
|
|
+ else:
|
|
|
|
+ Define.text = ' '
|
|
|
|
+ Undefine = SubElement(VariousControls, 'Undefine')
|
|
|
|
+ Undefine.text = ' '
|
|
|
|
+ IncludePath = SubElement(VariousControls, 'IncludePath')
|
|
|
|
+ if 'LOCAL_CPPPATH' in group_scons:
|
|
|
|
+ IncludePath.text = ';'.join([_make_path_relative(project_path, os.path.normpath(i)) for i in group_scons['LOCAL_CPPPATH']])
|
|
|
|
+ else:
|
|
|
|
+ IncludePath.text = ' '
|
|
|
|
+
|
|
return group
|
|
return group
|
|
|
|
|
|
# The common part of making MDK4/5 project
|
|
# The common part of making MDK4/5 project
|
|
@@ -201,31 +228,7 @@ def MDK45Project(tree, target, script):
|
|
groups = SubElement(tree.find('Targets/Target'), 'Groups')
|
|
groups = SubElement(tree.find('Targets/Target'), 'Groups')
|
|
groups.clear() # clean old groups
|
|
groups.clear() # clean old groups
|
|
for group in script:
|
|
for group in script:
|
|
- group_tree = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path)
|
|
|
|
-
|
|
|
|
- # for local CPPPATH/CPPDEFINES
|
|
|
|
- if (group_tree != None) and ('LOCAL_CPPPATH' in group or 'LOCAL_CFLAGS' in group or 'LOCAL_CPPDEFINES' in group):
|
|
|
|
- GroupOption = SubElement(group_tree, 'GroupOption')
|
|
|
|
- GroupArmAds = SubElement(GroupOption, 'GroupArmAds')
|
|
|
|
- Cads = SubElement(GroupArmAds, 'Cads')
|
|
|
|
- VariousControls = SubElement(Cads, 'VariousControls')
|
|
|
|
- MiscControls = SubElement(VariousControls, 'MiscControls')
|
|
|
|
- if 'LOCAL_CFLAGS' in group:
|
|
|
|
- MiscControls.text = group['LOCAL_CFLAGS']
|
|
|
|
- else:
|
|
|
|
- MiscControls.text = ' '
|
|
|
|
- Define = SubElement(VariousControls, 'Define')
|
|
|
|
- if 'LOCAL_CPPDEFINES' in group:
|
|
|
|
- Define.text = ', '.join(set(group['LOCAL_CPPDEFINES']))
|
|
|
|
- else:
|
|
|
|
- Define.text = ' '
|
|
|
|
- Undefine = SubElement(VariousControls, 'Undefine')
|
|
|
|
- Undefine.text = ' '
|
|
|
|
- IncludePath = SubElement(VariousControls, 'IncludePath')
|
|
|
|
- if 'LOCAL_CPPPATH' in group:
|
|
|
|
- IncludePath.text = ';'.join([_make_path_relative(project_path, os.path.normpath(i)) for i in group['LOCAL_CPPPATH']])
|
|
|
|
- else:
|
|
|
|
- IncludePath.text = ' '
|
|
|
|
|
|
+ group_tree = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path, group)
|
|
|
|
|
|
# get each include path
|
|
# get each include path
|
|
if 'CPPPATH' in group and group['CPPPATH']:
|
|
if 'CPPPATH' in group and group['CPPPATH']:
|