bin/gbuild-to-ide | 63 ++++++++++++++++++++++++------------------------------ 1 file changed, 28 insertions(+), 35 deletions(-)
New commits: commit 78c48c998bd6525ce236cd8e145f104b2450f062 Author: jan Iversen <j...@documentfoundation.org> Date: Sun Jan 29 11:27:21 2017 +0100 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 diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide index 3d9eccf..4596222 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 _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits