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

CHANGED: Ensure that compile definitions are only set for C and C++ targets

This commit is contained in:
2021-11-07 16:17:12 -03:00
parent 7f4a8ff0bb
commit 7639b9beaf

View File

@@ -100,11 +100,15 @@ def generate_target_definition(name, target_name, public_decl_type, src_dir, tar
return item[0]
return item[0] + '=' + to_cmake_datatype(item[1])
def cmake_define_wrap_transform(item):
value = cmake_define_kv(item)
return '$<$<COMPILE_LANGUAGE:CXX,C>:' + value + '>'
# gen_cmake_target_attrs('target_sources', 'srcs', suffix=src_dir, default_scope='PRIVATE')
gen_cmake_target_attrs('target_include_directories', 'includes',
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_wrap_transform)
gen_cmake_target_attrs('target_compile_options', 'options')
gen_cmake_target_attrs('target_compile_features', 'features')
gen_cmake_target_attrs('target_link_libraries', 'links')