summaryrefslogtreecommitdiffstats
path: root/bin/gbuild-to-ide
diff options
context:
space:
mode:
authorjan Iversen <jani@documentfoundation.org>2017-01-29 11:27:21 +0100
committerjan Iversen <jani@documentfoundation.org>2017-01-29 11:29:09 +0100
commit78c48c998bd6525ce236cd8e145f104b2450f062 (patch)
treeba1503105822abcc1ba1b735bb8f2d13acaf2487 /bin/gbuild-to-ide
parentcppcheck: postfix operator (diff)
downloadcore-78c48c998bd6525ce236cd8e145f104b2450f062.tar.gz
core-78c48c998bd6525ce236cd8e145f104b2450f062.zip
gbuild-to-ide xcode added include files and sorted source list
Added source files so they are sorted (earlier was sorted pr target) include files added. Change-Id: Id9581e2c4d6b123eb13ecc7ce2586fe52cb3ab4f
Diffstat (limited to 'bin/gbuild-to-ide')
-rwxr-xr-xbin/gbuild-to-ide63
1 files changed, 28 insertions, 35 deletions
diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 3d9eccfe13b9..4596222d0a40 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -437,6 +437,8 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
def __init__(self, gbuildparser, ide):
IdeIntegrationGenerator.__init__(self, gbuildparser, ide)
+ counter = 16777216
+
def emit(self):
rootId = 'X0000001'
mainGroupId = 'X0000002'
@@ -463,18 +465,27 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
for module in self.gbuildparser.modules:
if module == 'include':
continue
- sourceId, self.sourceObj = self.define_pbxgroup('Sources')
- includeId, self.includeObj = self.define_pbxgroup('Headers')
- moduleId, self.moduleObj = self.define_pbxgroup(module)
-
- self.moduleObj['children'] = [sourceId, includeId]
- pbxproj['objects'].update({sourceId: self.sourceObj,
- includeId: self.includeObj,
- moduleId: self.moduleObj})
+ sourceId, sourceObj = self.define_pbxgroup('Sources')
+ includeId, includeObj = self.define_pbxgroup('Headers')
+ moduleId, moduleObj = self.define_pbxgroup(module)
+
+ moduleObj['children'] = [sourceId, includeId]
+ pbxproj['objects'].update({sourceId: sourceObj,
+ includeId: includeObj,
+ moduleId: moduleObj})
mainGroup['children'].append(moduleId)
+ for i in self.gbuildparser.modules[module]['headers']:
+ ref = self.generate_id()
+ pbxproj['objects'][ref] = self.generate_PBXFileReference(module, i)
+ includeObj['children'].append(ref)
+ for i in self.gbuildparser.modules[module]['sources']:
+ ref = self.generate_id()
+ pbxproj['objects'][ref] = self.generate_PBXFileReference(module, i)
+ sourceObj['children'].append(ref)
+
for target in self.gbuildparser.modules[module]['targets']:
- pbxproj['objects'].update(self.generate_project(target, module))
+ pbxproj['objects'].update(self.generate_project(target, module, sourceObj['children']))
xcodeprojdir = './osx/libreoffice.xcodeproj'
try:
@@ -488,8 +499,6 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
def define_pbxgroup(self, name):
return self.generate_id(), {'isa': 'PBXGroup', 'children': [], 'name': name, 'sourceTree': '<group>'}
- counter = 16777216
-
def generate_id(self):
XcodeIntegrationGenerator.counter += 1
return str('X%07x' % XcodeIntegrationGenerator.counter)
@@ -603,27 +612,21 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
'defaultConfigurationName': 'Debug'}
return result
- def build_source_list(self, module):
- self.sourceRefList = {}
- self.sourceList = {}
- for i in module['CXXOBJECTS']:
- ref = self.generate_id()
- self.sourceList[self.generate_id()] = ref
- self.sourceRefList[ref] = {'lastKnownFileType': 'sourcecode.cpp.cpp',
- 'path': i,
- 'sourceTree': '<group>'}
+ def generate_PBXFileReference(self, module, filepath):
+ return {'isa': 'PBXFileReference',
+ 'path': module + '/' + filepath,
+ 'name': filepath,
+ 'fileEncoding': 4,
+ 'sourceTree': '<group>'}
+
- def generate_project(self, target, module):
+ def generate_project(self, target, module, sourceObj):
self.targetId = self.generate_id()
self.configurationListId = self.generate_id()
self.configurationDebugId = self.generate_id()
-
self.productReferenceId = self.generate_id()
self.productGroupId = self.generate_id()
- self.build_source_list(target)
- self.sourceObj['children'].extend(list(self.sourceRefList.keys()))
-
self.rootObj['attributes']['TargetAttributes'].update({
self.targetId: {'CreatedOnToolsVersion': '8.2',
'ProvisioningStyle': 'Automatic'}})
@@ -633,16 +636,6 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
self.configurationListId: self.generate_configuration_list(target),
self.configurationDebugId: self.generate_configuration_debug(target)
}
- for i in self.sourceList.keys():
- ref = self.sourceList[i]
- path = self.sourceRefList[ref]['path']
- name = '/'.join(path.split('/')[1:])
- objects[ref] = {'isa': 'PBXFileReference',
- 'lastKnownFileType': self.sourceRefList[ref]['lastKnownFileType'],
- 'path': module + '/' + path,
- 'name': name,
- 'fileEncoding': 4,
- 'sourceTree': '<group>'}
return objects