Boost logo

Boost-Build :

From: Mark Evans (evans_mark_at_[hidden])
Date: 2006-04-26 10:20:07

Hi Vladimir,

How did you search / find the references you posted. Good stuff.

I hammered a little on the recursive-find rule of João Abecasis and arrived at the following interface:

# Recursively find files matching a given pattern in a set of filesystem
# trees. Files that match a file-skip pattern (parameter skip-patterns-or-files)
# are pruned from the result set. Similarly, directories that match a
# directory-skip pattern (parameter skip-patterns-or-dirs) are pruned.
# The number of recursion levels can be limited with optional max-depth
# argument. For example, max-depth of 1 limits the search to 1 level of
# subdirectories. By default, there is no recursion limit.
# Example:
# [ recursive-find . : *.cpp *.h : bar* : bum* : 5 ]
# searches the current directory (of invoking jamfile) for *.cpp and *.h
# files, excluding any files that match "bar*" and excluding any
# directories that match "bum*". Subdirectory depth is limited to 5.
rule recursive-find (
      search-dirs + # trees to search
    : patterns-or-files * # patterns to search for
    : skip-patterns-or-files * # patterns for files to be pruned
    : skip-patterns-or-dirs * # patterns for directories to be pruned
    : max-depth ? # maximum number of recursion levels

Changes from the original are:
  - addition of skip-patterns-or-dirs parameter; this parameter applies
    to directories while skip-patterns-or-files applies to files.
  - addition of max-depth parameter
Attached is recursive-find.jam file. Would you suggest incorporating this into the bjam distribution (either as a stand-alone util/recursive-find.jam module or as an addition to util/path.jam)? I would like to write a python test script except that I haven't got past python hanging (on Cygwin) as I reported yesterday. Do you know if anyone has had success in running the python test suite on Cygwin?

Best regards,


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at