This is liable to change in the future.
subdir_glob() function is useful for defining header maps for C/C++ libraries which should be relative the given sub-directory. Given a list of tuples, the form of (relative-sub-directory, glob-pattern), return a dict of sub-directory relative paths to full paths.
Please refer to
for explanations and examples of the pattern.
glob_specsThe array of tuples in form of (relative-sub-directory, glob-pattern inside relative-sub-directory).
) A list of patterns to identify files that should be removed from the set specified by the first argument.
None) If is not
None, prepends it to each key in the dictionary.
exported_headers = subdir_glob([ ("lib/source", "video/**/*.h"), ("lib/source", "audio/**/*.h"), ], excludes = [ "lib/source/video/codecs/*.h", ], prefix = "MediaLib/")It will map the following on disk directory structure below to the following includes:
lib/ source/ video/ converter/ converter.h -> #include "MediaLib/video/converter/converter.h" player/ player.h -> #include "MediaLib/video/player/player.h" codecs/ codec1.h -> not includable - defined in `excludes` codec2.h -> not includable - defined in `excludes` audio/ codecs/ codec1.h -> #include "MediaLib/audio/codecs/codec1.h" codec2.h -> #include "MediaLib/audio/codecs/codec2.h" player/ player.h -> #include "MediaLib/audio/player/player.h" internal/ otherheader.h -> not includable