Tree [da13d1] default tip /

File Date Author Commit
ext 2012-03-04 j_bf_s j_bf_s [e67f5c] change library names
include 2012-03-05 j_bf_s j_bf_s [e11f3e] update version to 1.3.0
src 2012-03-04 j_bf_s j_bf_s [018fea] rename class CreateUncompressed7zLibrary to Cre...
.hgeol 2011-11-01 j_bf_s j_bf_s [38a6b5] refactoring : rename classes and types for more...
.hgtags 2012-03-05 j_bf_s j_bf_s [da13d1] Added tag 1.3.0 for changeset e11f3e9ec5bd 2012-02-14 j_bf_s j_bf_s [0d748b] don't automatically include the "
CMakeLists.txt 2012-03-05 j_bf_s j_bf_s [e11f3e] update version to 1.3.0
COPYING 2010-08-01 j_bf_s j_bf_s [17f45a] initial import of version 1.0.0
README 2010-08-01 j_bf_s j_bf_s [17f45a] initial import of version 1.0.0 2011-12-17 j_bf_s j_bf_s [2907f3] update CMake files

Read Me

---  Description  ---

  The bfVFS library allows an application to link or mount many different
  directories from the file system, thus creating a unified application-level
  Virtual File System. Additionally, file archives can be used as read-only
  locations in the VFS. For now only uncompressed 7-zip ans SLF archives are

  The library supports multiple platforms and was tested under Windows with
  MSVC 2008 and 2010, MinGW and Linux gcc.

---  Build  ---

  Instead of system-dependant project or makefiles, bfVFS uses the system-
  independant CMake for its configuration (see To compile the
  source code you can start the CMake GUI (consult the CMake documentation
  for that) and choose the source and destination directories. Then, in
  multiple configure runs, you can setup the build configuration and finally
  generate the system dependant project or makefiles. Both in-source and
  out-of-source builds are supported.

  You can select the following options:

  BUILD_BFVFS_SHARED  - creates a DLL or a shared library when selected

  BFVFS_WITH_7ZIP     - enables support for 7-zip archives, also compiles 
                        the 7z library itself (either as static or shared

  BFVFS_WITH_SLF      - enables SLF support

  ** advanced options **
  BFVFS_7ZIP_MT       - compiles the 7-zip library with multithreading
                        support (Windows only)

  BFVFS_DEBUG_CMAKE   - prints configuration results

  NOTE: Although in the configuration phase the prefix BFVFS is used, the
        code itself uses the shorter VFS_ or vfs_ or vfs:: prefix/namespace.
        If you can think of situations where this can lead to a conflict with
        other libraries, please inform me about it.
---  External libraries  ---

  The bfVFS uses two external libraries, "utfcpp" (
  and "7-zip" (
  utfcpp is used for unicode strings, as C++ does not (yet) support then
  natively, and its use is mandatory. 
  The 7-zip library is only used for the archive format, compression is not
  supported (yet). If you don't want or cannot use the 7-zip library code
  you can simple deactivate it in the CMake configuration or remove it from
  source tree (see ext/7z). The 7-zip library is the, slightly modified,
  C-code portion from the LZMA SDK. The bfVFS library uses the 7-zip library
  to read-in 7z archives. Creating uncompressed 7z archives is also suppored,
  but self implemented.
  As a second archive format the SLF format is supported (which probably
  stands for SirTech Library Format). This is for historical reasons of the
  bfVFS library.
---  Feedback  ---

  Contact me under at
  or go to