aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-03-27 18:40:39 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2014-03-27 18:40:39 +0200
commitc4c5e2d30b77fb0d386bac9ec4b8034f2dfdd4e5 (patch)
tree6537831855467b2599c59197d9073708a07e67b1
parent448dd124713222735f98f92e0e6f97b61cd0744b (diff)
downloadmeson-c4c5e2d30b77fb0d386bac9ec4b8034f2dfdd4e5.zip
meson-c4c5e2d30b77fb0d386bac9ec4b8034f2dfdd4e5.tar.gz
meson-c4c5e2d30b77fb0d386bac9ec4b8034f2dfdd4e5.tar.bz2
Create buildfile refs.
-rw-r--r--backends.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/backends.py b/backends.py
index b32079c..8766992 100644
--- a/backends.py
+++ b/backends.py
@@ -1604,6 +1604,7 @@ class XCodeBackend(Backend):
def generate(self):
self.generate_filemap()
+ self.generate_buildmap()
self.generate_configure_files()
self.generate_pkgconfig_files()
self.proj_dir = os.path.join(self.environment.get_build_dir(), self.build.project_name + '.xcodeproj')
@@ -1636,12 +1637,29 @@ class XCodeBackend(Backend):
if isinstance(s, str):
self.filemap[s] = self.gen_id()
+ def generate_buildmap(self):
+ self.buildmap = {}
+ for t in self.build.targets.values():
+ for s in t.sources:
+ if isinstance(s, str):
+ self.buildmap[s] = self.gen_id()
+
def generate_pbx_aggregate_target(self):
self.ofile.write('\n/* Begin PBXAggregateTarget section */\n')
self.ofile.write('/* End PBXAggregateTarget section */\n')
def generate_pbx_build_file(self):
self.ofile.write('\n/* Begin PBXBuildFile section */\n')
+ templ = '%s /* %s */ = { isa = PBXBuildFile; fileRef = %s /* %s */; settings = { COMPILER_FLAGS = "%s"; }; };\n'
+ for t in self.build.targets.values():
+ for s in t.sources:
+ if isinstance(s, str):
+ idval = self.buildmap[s]
+ fullpath = os.path.join(self.environment.get_source_dir(), s)
+ fileref = self.filemap[s]
+ fullpath2 = fullpath
+ compiler_flags = ''
+ self.ofile.write(templ % (idval, fullpath, fileref, fullpath2, compiler_flags))
self.ofile.write('/* End PBXBuildFile section */\n')
def generate_pbx_build_style(self):