Skip to content
Snippets Groups Projects
  • Sam Yates's avatar
    Add fallback implementation of glob for platforms without it. (#660) · b11d2d14
    Sam Yates authored
    Implement a basic glob routine, supporting a subset of POSIX behaviour (e.g. no character classes), as a fallback for platforms such as Android which do not include it in their libc.
    
    * Add CMake configuration option `ARB_USE_POSIX_GLOB`, defaults to `ON`, that determines if the fallback implementation is used or not.
    * Extend `sup::path` functionality to add directory iterators and a couple more path manipulation routines, again following the C++17 `std::filesystem` interface.
    * Add an NFA pattern matcher `glob_basic_match` and file system `glob_basic` function; the latter is abstracted over a file system provider object, primarily for testing/mocking purposes.
    * Add unit tests for new `sup::path` functionality and for `glob_basic`.
    
    FIxes #181.
    Unverified
    b11d2d14