diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-03-17 15:20:41 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-03-17 15:20:41 +0200 |
commit | 9f93d058c363ef61802222d8a63a75b0643c8bf0 (patch) | |
tree | 6a299df723664e280f26879fd8e2640567dc3c84 /doc | |
parent | ee64fadec760e28945808720271866a3be4935e1 (diff) |
Add support for inclusion/exclusion groups in wildcard patterns
For example cxx{* -{foo bar *x}}.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual.cli | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/manual.cli b/doc/manual.cli index 232b0fa..0afb97f 100644 --- a/doc/manual.cli +++ b/doc/manual.cli @@ -95,6 +95,23 @@ exe{hello}: cxx{f* +*oo} # Ok, no duplicates. ./: {*/ -build} # Error: exclusion must match a directory. \ +If many inclusions or exclusions need to be specified, then an +inclusion/exclusion group can be used. For example: + +\ +exe{hello}: cxx{f* -{foo bar}} # Exclude foo and bar if present. +\ + +This is particularly useful if you would like to list the names to exclude +in a variable. For example, this is how we can exclude certain files from +compilation but still include them as ordinary file prerequisites (so that +they are still included into the distribution): + +\ +exc = foo.cxx bar.cxx +exe{hello}: cxx{f* -{$exc}} file{$exc} +\ + One common situation that calls for exclusions is auto-generated source code. Let's say we have auto-generated command line parser in \c{options.hxx} and \c{options.cxx}. Because of the in-tree builds, our name pattern may or |