Finally can generate an entire xcodeproj file. Next up: debugging it to work.

pull/15/head
Jussi Pakkanen 11 years ago
parent 6f5a16176f
commit b549875b68
  1. 34
      backends.py
  2. 2
      build.py

@ -2022,6 +2022,7 @@ class XCodeBackend(Backend):
self.write_line('name = %s;' % buildtype)
self.indent_level-=1
self.write_line('};')
# Then the all target.
for buildtype in self.buildtypes:
self.write_line('%s /* %s */ = {' % (self.buildall_configurations[buildtype], buildtype))
@ -2049,6 +2050,39 @@ class XCodeBackend(Backend):
self.write_line('name = %s;' % buildtype)
self.indent_level-=1
self.write_line('};')
# Now finally targets.
for target_name, target in self.build.targets.items():
for buildtype in self.buildtypes:
valid = self.buildconfmap[target_name][buildtype]
self.write_line('%s /* %s */ = {' % (self.buildall_configurations[buildtype], buildtype))
self.indent_level+=1
self.write_line('isa = XCBuildConfiguration;')
self.write_line('buildSettings = {')
self.indent_level += 1
self.write_line('COMBINE_HIDPI_IMAGES = YES;')
self.write_line('EXECUTABLE_PREFIX = "%s";' % target.prefix)
self.write_line('EXECUTABLE_SUFFIX = "%s";' % target.suffix)
self.write_line('GCC_GENERATE_DEBUGGING_SYMBOLS = NO;')
self.write_line('GCC_INLINES_ARE_PRIVATE_EXTERN = NO;')
self.write_line('GCC_OPTIMIZATION_LEVEL = 0;')
self.write_line('GCC_PREPROCESSOR_DEFINITIONS = ("");')
self.write_line('GCC_SYMBOLS_PRIVATE_EXTERN = NO;')
self.write_line('INSTALL_PATH = "";')
self.write_line('LIBRARY_SEARCH_PATHS = "";')
self.write_line('OTHER_CFLAGS = " ";')
self.write_line('OTHER_LDFLAGS = " ";')
self.write_line('OTHER_REZFLAGS = "";')
self.write_line('PRODUCT_NAME = %s;' % target_name)
self.write_line('SECTORDER_FLAGS = "";')
self.write_line('SYMROOT = %s;' % self.environment.get_build_dir())
self.write_line('USE_HEADERMAP = NO;')
self.write_line('WARNING_CFLAGS = ("-Wmost", "-Wno-four-char-constants", "-Wno-unknown-pragmas", );')
self.indent_level-=1
self.write_line('};')
self.write_line('name = %s;' % buildtype)
self.indent_level-=1
self.write_line('};')
self.ofile.write('/* End XCBuildConfiguration section */\n')
def generate_xc_configurationList(self):

@ -477,6 +477,8 @@ class GeneratedList():
class Executable(BuildTarget):
def __init__(self, name, subdir, is_cross, sources, objects, environment, kwargs):
super().__init__(name, subdir, is_cross, sources, objects, environment, kwargs)
self.prefix = ''
self.suffix = environment.get_exe_suffix()
suffix = environment.get_exe_suffix()
if suffix != '':
self.filename = self.name + '.' + suffix

Loading…
Cancel
Save