aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/backends.py b/backends.py
index 568167e..0495e3e 100644
--- a/backends.py
+++ b/backends.py
@@ -1609,9 +1609,11 @@ class XCodeBackend(Backend):
self.generate_filemap()
self.generate_buildmap()
self.generate_buildstylemap()
+ self.generate_build_phase_map()
self.generate_build_configuration_map()
self.generate_build_configurationlist_map()
self.generate_native_target_map()
+ self.generate_source_phase_map()
self.generate_configure_files()
self.generate_pkgconfig_files()
self.proj_dir = os.path.join(self.environment.get_build_dir(), self.build.project_name + '.xcodeproj')
@@ -1656,6 +1658,11 @@ class XCodeBackend(Backend):
def generate_buildstylemap(self):
self.buildstylemap = {'debug' : self.gen_id()}
+ def generate_build_phase_map(self):
+ self.buildphasemap = {}
+ for t in self.build.targets:
+ self.buildphasemap[t] = self.gen_id()
+
def generate_build_configuration_map(self):
self.buildconfmap = {}
for t in self.build.targets:
@@ -1672,6 +1679,11 @@ class XCodeBackend(Backend):
for t in self.build.targets:
self.native_targets[t] = self.gen_id()
+ def generate_source_phase_map(self):
+ self.source_phase = {}
+ for t in self.build.targets:
+ self.source_phase[t] = self.gen_id()
+
def generate_pbx_aggregate_target(self):
self.ofile.write('\n/* Begin PBXAggregateTarget section */\n')
self.ofile.write('/* End PBXAggregateTarget section */\n')
@@ -1870,6 +1882,20 @@ class XCodeBackend(Backend):
def generate_pbx_sources_build_phase(self):
self.ofile.write('\n/* Begin PBXSourcesBuildPhase section */\n')
+ for name, phase_id in self.source_phase.items():
+ self.write_line('%s /* Sources */ = {' % self.buildphasemap[name])
+ self.indent_level+=1
+ self.write_line('isa = PBXSourcesBuildPhase;')
+ self.write_line('buildActionMask = 2147483647;')
+ self.write_line('files = (')
+ self.indent_level+=1
+ for s in self.build.targets[name].sources:
+ if not self.environment.is_header(s):
+ self.write_line('%s /* %s */,' % (self.buildmap[s], os.path.join(self.environment.get_source_dir(), s)))
+ self.indent_level-=1
+ self.write_line('runOnlyForDeploymentPostprocessing = 0;')
+ self.indent_level-=1
+ self.write_line('};')
self.ofile.write('/* End PBXSourcesBuildPhase section */\n')
def generate_pbx_target_dependency(self):