Use warning args in the Xcode backend.
This commit is contained in:
parent
82f7f63932
commit
3c3146195b
|
@ -159,6 +159,9 @@ class PbxDict:
|
|||
ofile.write(indent_level*INDENT + f'{i.key} = ')
|
||||
i.value.write(ofile, indent_level)
|
||||
else:
|
||||
print(i)
|
||||
print(i.key)
|
||||
print(i.value)
|
||||
raise RuntimeError('missing code')
|
||||
else:
|
||||
print(i)
|
||||
|
@ -751,10 +754,8 @@ class XCodeBackend(backends.Backend):
|
|||
settings_dict.add_item('SYMROOT', '"%s"' % self.environment.get_build_dir())
|
||||
settings_dict.add_item('USE_HEADERMAP', 'NO')
|
||||
warn_array = PbxArray()
|
||||
warn_array.add_item('"$(inherited)"')
|
||||
settings_dict.add_item('WARNING_CFLAGS', warn_array)
|
||||
warn_array.add_item('"-Wmost"')
|
||||
warn_array.add_item('"-Wno-four-char-constants"')
|
||||
warn_array.add_item('"-Wno-unknown-pragmas"')
|
||||
|
||||
bt_dict.add_item('name', f'"{buildtype}"')
|
||||
|
||||
|
@ -779,9 +780,7 @@ class XCodeBackend(backends.Backend):
|
|||
settings_dict.add_item('USE_HEADERMAP', 'NO')
|
||||
warn_array = PbxArray()
|
||||
settings_dict.add_item('WARNING_CFLAGS', warn_array)
|
||||
warn_array.add_item('"-Wmost"')
|
||||
warn_array.add_item('"-Wno-four-char-constants"')
|
||||
warn_array.add_item('"-Wno-unknown-pragmas"')
|
||||
warn_array.add_item('"$(inherited)"')
|
||||
bt_dict.add_item('name', f'"{buildtype}"')
|
||||
|
||||
# Now finally targets.
|
||||
|
@ -833,16 +832,18 @@ class XCodeBackend(backends.Backend):
|
|||
for lang in self.environment.coredata.compilers[target.for_machine]:
|
||||
if lang not in LANGNAMEMAP:
|
||||
continue
|
||||
compiler = target.compilers.get(lang)
|
||||
# Start with warning args
|
||||
warn_args = compiler.get_warn_args(self.get_option_for_target(OptionKey('warning_level'), target))
|
||||
# Add compile args added using add_project_arguments()
|
||||
pargs = self.build.projects_args[target.for_machine].get(target.subproject, {}).get(lang, [])
|
||||
# Add compile args added using add_global_arguments()
|
||||
# These override per-project arguments
|
||||
gargs = self.build.global_args[target.for_machine].get(lang, [])
|
||||
targs = target.get_extra_args(lang)
|
||||
args = pargs + gargs + targs
|
||||
args = warn_args + pargs + gargs + targs
|
||||
if args:
|
||||
langname = langnamemap[lang]
|
||||
compiler = target.compilers.get(lang)
|
||||
langname = LANGNAMEMAP[lang]
|
||||
lang_cargs = cargs
|
||||
if compiler and target.implicit_include_directories:
|
||||
lang_cargs += self.get_build_dir_include_args(target, compiler)
|
||||
|
@ -888,8 +889,7 @@ class XCodeBackend(backends.Backend):
|
|||
settings_dict.add_item('LIBRARY_SEARCH_PATHS', '""')
|
||||
if isinstance(target, build.SharedLibrary):
|
||||
settings_dict.add_item('LIBRARY_STYLE', 'DYNAMIC')
|
||||
for langname, args in langargs.items():
|
||||
settings_dict.add_item(f'OTHER_{langname}FLAGS', args)
|
||||
self.add_otterargs(settings_dict, langargs)
|
||||
settings_dict.add_item('OTHER_LDFLAGS', f'"{ldstr}"')
|
||||
settings_dict.add_item('OTHER_REZFLAGS', '""')
|
||||
settings_dict.add_item('PRODUCT_NAME', product_name)
|
||||
|
@ -899,11 +899,15 @@ class XCodeBackend(backends.Backend):
|
|||
settings_dict.add_item('USE_HEADERMAP', 'NO')
|
||||
warn_array = PbxArray()
|
||||
settings_dict.add_item('WARNING_CFLAGS', warn_array)
|
||||
warn_array.add_item('"-Wmost"')
|
||||
warn_array.add_item('"-Wno-four-char-constants"')
|
||||
warn_array.add_item('"-Wno-unknown-pragmas"')
|
||||
warn_array.add_item('"$(inherited)"')
|
||||
bt_dict.add_item('name', buildtype)
|
||||
|
||||
def add_otterargs(self, settings_dict, langargs):
|
||||
for langname, args in langargs.items():
|
||||
if args:
|
||||
# FIXME, proper quoting
|
||||
settings_dict.add_item(f'OTHER_{langname}FLAGS', '"' + ' '.join(args) + '"')
|
||||
|
||||
def generate_xc_configurationList(self, objects_dict):
|
||||
# FIXME: sort items
|
||||
conf_dict = PbxDict()
|
||||
|
|
Loading…
Reference in New Issue