Kaydet (Commit) 78c48c99 authored tarafından jan Iversen's avatar jan Iversen

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
üst 018ed00d
...@@ -437,6 +437,8 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator): ...@@ -437,6 +437,8 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
def __init__(self, gbuildparser, ide): def __init__(self, gbuildparser, ide):
IdeIntegrationGenerator.__init__(self, gbuildparser, ide) IdeIntegrationGenerator.__init__(self, gbuildparser, ide)
counter = 16777216
def emit(self): def emit(self):
rootId = 'X0000001' rootId = 'X0000001'
mainGroupId = 'X0000002' mainGroupId = 'X0000002'
...@@ -463,18 +465,27 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator): ...@@ -463,18 +465,27 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
for module in self.gbuildparser.modules: for module in self.gbuildparser.modules:
if module == 'include': if module == 'include':
continue continue
sourceId, self.sourceObj = self.define_pbxgroup('Sources') sourceId, sourceObj = self.define_pbxgroup('Sources')
includeId, self.includeObj = self.define_pbxgroup('Headers') includeId, includeObj = self.define_pbxgroup('Headers')
moduleId, self.moduleObj = self.define_pbxgroup(module) moduleId, moduleObj = self.define_pbxgroup(module)
self.moduleObj['children'] = [sourceId, includeId] moduleObj['children'] = [sourceId, includeId]
pbxproj['objects'].update({sourceId: self.sourceObj, pbxproj['objects'].update({sourceId: sourceObj,
includeId: self.includeObj, includeId: includeObj,
moduleId: self.moduleObj}) moduleId: moduleObj})
mainGroup['children'].append(moduleId) 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']: 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' xcodeprojdir = './osx/libreoffice.xcodeproj'
try: try:
...@@ -488,8 +499,6 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator): ...@@ -488,8 +499,6 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
def define_pbxgroup(self, name): def define_pbxgroup(self, name):
return self.generate_id(), {'isa': 'PBXGroup', 'children': [], 'name': name, 'sourceTree': '<group>'} return self.generate_id(), {'isa': 'PBXGroup', 'children': [], 'name': name, 'sourceTree': '<group>'}
counter = 16777216
def generate_id(self): def generate_id(self):
XcodeIntegrationGenerator.counter += 1 XcodeIntegrationGenerator.counter += 1
return str('X%07x' % XcodeIntegrationGenerator.counter) return str('X%07x' % XcodeIntegrationGenerator.counter)
...@@ -603,27 +612,21 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator): ...@@ -603,27 +612,21 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
'defaultConfigurationName': 'Debug'} 'defaultConfigurationName': 'Debug'}
return result return result
def build_source_list(self, module):
self.sourceRefList = {}
self.sourceList = {}
for i in module['CXXOBJECTS']: def generate_PBXFileReference(self, module, filepath):
ref = self.generate_id() return {'isa': 'PBXFileReference',
self.sourceList[self.generate_id()] = ref 'path': module + '/' + filepath,
self.sourceRefList[ref] = {'lastKnownFileType': 'sourcecode.cpp.cpp', 'name': filepath,
'path': i, 'fileEncoding': 4,
'sourceTree': '<group>'} 'sourceTree': '<group>'}
def generate_project(self, target, module): def generate_project(self, target, module, sourceObj):
self.targetId = self.generate_id() self.targetId = self.generate_id()
self.configurationListId = self.generate_id() self.configurationListId = self.generate_id()
self.configurationDebugId = self.generate_id() self.configurationDebugId = self.generate_id()
self.productReferenceId = self.generate_id() self.productReferenceId = self.generate_id()
self.productGroupId = 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.rootObj['attributes']['TargetAttributes'].update({
self.targetId: {'CreatedOnToolsVersion': '8.2', self.targetId: {'CreatedOnToolsVersion': '8.2',
'ProvisioningStyle': 'Automatic'}}) 'ProvisioningStyle': 'Automatic'}})
...@@ -633,16 +636,6 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator): ...@@ -633,16 +636,6 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
self.configurationListId: self.generate_configuration_list(target), self.configurationListId: self.generate_configuration_list(target),
self.configurationDebugId: self.generate_configuration_debug(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 return objects
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment