1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
# sigc++/adaptors/lambda
# Input: maintainer_mode, python3, handle_built_files, m4_template, m4_include_dir
# Input and output: built_h_files, built_cc_files, built_h_file_targets,
# built_cc_file_targets
# .m4 files to build .h and .cc files from.
adaptors_lambda_cc_m4_files = [
'lambda.cc',
]
adaptors_lambda_h_m4_files = [
'base.h',
'select.h',
]
foreach file : adaptors_lambda_h_m4_files
built_h_files += 'adaptors' / 'lambda' / file
endforeach
foreach file : adaptors_lambda_cc_m4_files
built_cc_files += 'adaptors' / 'lambda' / file
endforeach
if maintainer_mode
# Maintainer mode. Generate .h and .cc files from .m4 files in macros/ directory.
foreach file : adaptors_lambda_cc_m4_files + adaptors_lambda_h_m4_files
built_file_target = custom_target('adaptors_lambda_' + file,
input: 'macros' / file + '.m4',
output: file,
command: [
python3, handle_built_files, 'build_from_m4',
m4_include_dir,
'@INPUT@',
'@OUTPUT@',
],
depend_files: m4_template,
build_by_default: maintainer_mode,
install: false,
)
if file.endswith('.cc')
built_cc_file_targets += built_file_target
else
built_h_file_targets += built_file_target
endif
endforeach
endif
|