function(meta_target_add_header_directory) set(options) set(one_value_args TARGET PATH) set(multi_value_args) cmake_parse_arguments(PARSE_ARGV 0 arg "${options}" "${one_value_args}" "${multi_value_args}") get_property(header_dir_list TARGET ${arg_TARGET} PROPERTY meta_header_directories) set_property( TARGET ${arg_TARGET} PROPERTY meta_header_directories ${header_dir_list} ${arg_PATH}) endfunction(meta_target_add_header_directory) function(meta_target_get_header_directories) set(options) set(one_value_args TARGET OUT) set(multi_value_args) cmake_parse_arguments(PARSE_ARGV 0 arg "${options}" "${one_value_args}" "${multi_value_args}") get_property(header_dir_list TARGET ${arg_TARGET} PROPERTY meta_header_directories) set(${arg_OUT} ${header_dir_list} PARENT_SCOPE) endfunction(meta_target_get_header_directories)