1
0
mirror of https://github.com/Rogiel/CMakeDependency synced 2025-12-06 05:22:48 +00:00

Generate dependency includes as SYSTEM includes to avoid showing warnings on supported compilers

This commit is contained in:
2020-02-20 23:28:46 -03:00
parent e5c065ed86
commit e302748083

View File

@@ -69,17 +69,18 @@ def generate_target_definition(name, target_name, public_decl_type, src_dir, tar
if glue is None: if glue is None:
glue = '' glue = ''
if len(entries) != 0: if len(entries) != 0:
print(call + "(" + target_name + glue + " " + nl_indent + print(call + "(" + target_name + (glue + " " if glue is not None else "") + nl_indent +
nl_indent.join(entries) nl_indent.join(entries)
+ ")") + ")")
def gen_cmake_target_attrs(call, attr_name, default_scope=public_decl_type, normalizer=None): def gen_cmake_target_attrs(call, attr_name, default_scope=public_decl_type, normalizer=None, as_system=False):
values = [] values = []
values += gen_entry(default_scope, target_info.get(attr_name), normalizer=normalizer) values += gen_entry(default_scope, target_info.get(attr_name), normalizer=normalizer)
values += gen_entry(public_decl_type, target_info.get("public_" + attr_name), normalizer=normalizer) values += gen_entry(public_decl_type, target_info.get("public_" + attr_name), normalizer=normalizer)
values += gen_entry('PRIVATE', target_info.get("private_" + attr_name), normalizer=normalizer) values += gen_entry('PRIVATE', target_info.get("private_" + attr_name), normalizer=normalizer)
values += gen_entry('INTERFACE', target_info.get("interface_" + attr_name), normalizer=normalizer) values += gen_entry('INTERFACE', target_info.get("interface_" + attr_name), normalizer=normalizer)
gen_cmake_call(call, values) gen_cmake_call(call, values, glue=' SYSTEM' if as_system else '')
def gen_cmake_target_props(call, attr_name, glue=None): def gen_cmake_target_props(call, attr_name, glue=None):
if not attr_name in target_info: if not attr_name in target_info:
@@ -97,7 +98,8 @@ def generate_target_definition(name, target_name, public_decl_type, src_dir, tar
# gen_cmake_target_attrs('target_sources', 'srcs', suffix=src_dir, default_scope='PRIVATE') # gen_cmake_target_attrs('target_sources', 'srcs', suffix=src_dir, default_scope='PRIVATE')
gen_cmake_target_attrs('target_include_directories', 'includes', gen_cmake_target_attrs('target_include_directories', 'includes',
normalizer=lambda x: target_relative_path(x, name)) normalizer=lambda x: target_relative_path(x, name),
as_system=True)
gen_cmake_target_attrs('target_compile_definitions', 'defines', normalizer=cmake_define_kv) gen_cmake_target_attrs('target_compile_definitions', 'defines', normalizer=cmake_define_kv)
gen_cmake_target_attrs('target_compile_options', 'options') gen_cmake_target_attrs('target_compile_options', 'options')
gen_cmake_target_attrs('target_compile_features', 'features') gen_cmake_target_attrs('target_compile_features', 'features')