summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorjan Iversen <jani@documentfoundation.org>2017-01-30 12:09:02 +0100
committerjan Iversen <jani@documentfoundation.org>2017-01-30 12:10:29 +0100
commitf41301c1630361a0b753ea47e81ea67ace415f4c (patch)
tree71c2d1132c3b5e3bfdccef942c38fa66d7656a9a /bin
parentfc53cce64400430cdc21f79c959d75fb9a26d13d (diff)
gbuild-to-ide, solved vim problem.
Updated xcode, WIP. Solved problem with vim. Remark the vim-ide-integration is not maintained, and cannot be expected to work as the IDE gets more integrated. Change-Id: I9d6fe6d2caef7162298814f1ab0d16c7aeb7d895
Diffstat (limited to 'bin')
-rwxr-xr-xbin/gbuild-to-ide54
1 files changed, 38 insertions, 16 deletions
diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 42ba3b10b807..e19005a6ed25 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -543,14 +543,15 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
targetId = self.generate_id('PBXNativeTarget')
configurationListId = self.generate_id('XCConfigurationList')
configurationDebugId = self.generate_id('XCBuildConfiguration')
- fileId = self.generate_id('XCBuildConfiguration')
- objects = {targetId: self.generate_PBXLegacyTarget(target, configurationListId),
- configurationListId: self.generate_XCBuildConfiguration(target, configurationDebugId),
+ fileId = self.generate_id('PBXFileReference')
+ objects = {configurationListId: self.generate_XCBuildConfiguration(target, configurationDebugId),
+#MAKE targetId: self.generate_PBXLegacyTarget(target, configurationListId),
+ targetId: self.generate_PBXNativeTarget(target, configurationListId),
configurationDebugId: self.generate_XCBuildConfiguration(target, configurationDebugId, debug=True),
fileId : self.generate_PBXFileReference(module, target['LINKTARGET'], explicit=target['build_type'])
}
- self.rootObj['attributes']['TargetAttributes'].update({
- targetId: {'CreatedOnToolsVersion': '8.2', 'ProvisioningStyle': 'Automatic'}})
+ self.rootObj['attributes']['TargetAttributes'].update(
+ {targetId: {'CreatedOnToolsVersion': '8.2', 'ProvisioningStyle': 'Automatic'}})
self.rootObj['buildConfigurationList'] = configurationListId
self.rootObj['targets'].append(targetId)
targetObj['children'].append(fileId)
@@ -573,15 +574,35 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
product = 'com.apple.product-type.something'
return {'isa': 'PBXLegacyTarget',
- 'buildConfigurationList': configurationListId,
- 'buildArgumentsString': modulename['target_name'],
- 'buildPhases': [],
- 'dependencies': [],
- 'buildToolPath': 'make',
- 'buildWorkingDirectory': self.gbuildparser.builddir,
- 'name': modulename['target_name'],
- 'productName': modulename['name'],
- 'passBuildSettingsEnvironment': 1}
+ 'buildConfigurationList': configurationListId,
+ 'buildArgumentsString': modulename['target_name'],
+ 'buildPhases': [],
+ 'dependencies': [],
+ 'buildToolPath': 'make',
+ 'buildWorkingDirectory': self.gbuildparser.builddir,
+ 'name': modulename['target_name'],
+ 'productName': modulename['name'],
+ 'passBuildSettingsEnvironment': 1}
+
+ def generate_PBXNativeTarget(self, modulename, configurationListId):
+ if modulename['build_type'] == 'Library':
+ product = 'com.apple.product-type.library.dynamic'
+ elif modulename['build_type'] == 'Executable':
+ product = 'com.apple.product-type.tool'
+ elif modulename['build_type'] == 'CppunitTest':
+ product = 'com.apple.product-type.cppunit'
+ else:
+ product = 'com.apple.product-type.something'
+
+ return {'isa': 'PBXNativeTarget',
+ 'buildRules': [],
+ 'dependencies': [],
+ 'name': modulename['target_name'],
+ 'productName': modulename['name'],
+ 'productType': product,
+ 'buildConfigurationList': configurationListId,
+ 'buildPhases': [],
+ 'productReference': ''}
def generate_XCBuildConfiguration(self, modulename, configurationDebugId, debug=False):
if debug:
@@ -639,13 +660,13 @@ class XcodeIntegrationGenerator(IdeIntegrationGenerator):
obj = {'isa': 'PBXFileReference',
'path': module + '/' + filepath,
'name': filepath,
- 'fileEncoding': 4,
'sourceTree': '<group>'}
if not explicit is None:
if explicit == 'Library':
obj['explicitFileType'] = 'compiled.mach-o.dylib'
else:
obj['explicitFileType'] = 'compiled.executable'
+ obj['includeInIndex'] = 0
obj['path'] = filepath
else:
obj['path'] = module + '/' + filepath
@@ -1074,7 +1095,8 @@ class VimIntegrationGenerator(IdeIntegrationGenerator):
for lib in self.gbuildparser.modules[m]['targets']:
entries = []
for file in lib['CXXOBJECTS']:
- filePath = os.path.join(self.gbuildparser.srcdir, file)
+ xFile = lib['module'] + '/' + file
+ filePath = os.path.join(self.gbuildparser.srcdir, xFile)
entry = {'directory': lib['location'], 'file': filePath, 'command': self.generateCommand(lib, filePath)}
entries.append(entry)
global_list.extend(entries)