Permalink
Commits on Dec 23, 2017
  1. Cut 2.5.1 release

    pb-dseifert committed Dec 23, 2017
Commits on Dec 18, 2017
Commits on Dec 1, 2017
  1. Cut 2.5.0 release

    pezmaster31 committed Dec 1, 2017
  2. reformat

    lh3 authored and pezmaster31 committed Nov 3, 2017
  3. Support BAMs with >65535 CIGAR operations

    lh3 authored and pezmaster31 committed Nov 3, 2017
    Due to a design flaw, the original BAM format is unable to store an alignment
    with >65535 CIGAR operations. The SAM/BAM specification maintainers have
    decided to move the actual CIGAR to a CG optional tag and write a fake CIGAR
    `<readLen>S<refLen>N` at the original CIGAR place.
    
    This PR recognizes the CG tag and seamlessly moves the real CIGAR back to its
    right place and update the `bin` field accordingly. Library users need not take
    any actions.
    
    The convert and sort commands of command-line bamtools have been tested on BAMs
    containing the CG tag.
Commits on Nov 2, 2017
  1. Cut 2.4.2 release

    SoapZA committed Nov 2, 2017
Commits on Oct 31, 2017
  1. Only enable LFS support for non-Windows

    SoapZA committed Oct 31, 2017
    * Causes zlib.h to go haywire otherwise
  2. Add missing headers

    SoapZA committed Oct 31, 2017
  3. Unconditionally include C99 stdint.h header

    SoapZA committed Oct 31, 2017
    * VS 2010 and beyond support the fixed-width
      C99 types natively.
  4. Use FindZLIB.cmake to find zlib dependency

    SoapZA committed Oct 31, 2017
    * The previous solution hardcoded zlib and did
      not allow for users to change the used zlib.
Commits on Oct 30, 2017
  1. Use more diverse compilers for Travis

    SoapZA committed Oct 30, 2017
    * Clang 5.0
    * GCC 4.9
    * GCC 7
  2. Fully qualify `std::size_t`

    SoapZA committed Oct 30, 2017
  3. Remove unnecessary string literals

    SoapZA committed Oct 30, 2017
    * Passing empty C-strings is an optimization
      pessimization, as the std::string objects are
      guaranteed to be initialized to an empty state
      anyways.
  4. Update bundled JsonCpp sources to fix remaining warning message

    SoapZA committed Oct 30, 2017
      /home/travis/build/pezmaster31/bamtools/src/third_party/jsoncpp/jsoncpp.cpp:151:20: warning:
            unused function 'isControlCharacter' [-Wunused-function]
      static inline bool isControlCharacter(char ch) { return ch > 0 && ch <= 0x1F; }
                         ^
      1 warning generated.
  5. Add initial Travis config

    SoapZA committed Oct 29, 2017
  6. Add `build/` to .gitignore

    SoapZA committed Oct 29, 2017
Commits on Oct 26, 2017
  1. Remove `(void)` function declarations

    SoapZA committed Oct 25, 2017
    * ISO C++ since the first C++98 release has never required
      `(void)` prototypes. This is a vestige of ancient K&R C
      and should be avoided in C++, as it adds no clarity or value.
Commits on Oct 25, 2017
  1. Use idiomatic CMake VERSION variables

    SoapZA committed Oct 25, 2017
    * Easier to change
    * Use standard CMake variables instead of
      inventing new ones.
    
    See also:
    https://cmake.org/cmake/help/v3.0/command/project.html#command:project
  2. Remove trailing whitespace

    SoapZA committed Oct 25, 2017
  3. Convert all line-endings from CRLF to LF

    SoapZA committed Oct 25, 2017
    * All code should use Unix LF line-endings,
      Visual Studio can parse these without issue.
  4. Remove `using namespace std`

    SoapZA committed Oct 24, 2017
    * Prefer fully qualified identifiers to
      reduce possibility of future clashes.
    * Also avoid some `std::string` and `std::stringstream`
      null-string initializations. ISO C++ guarantees
      that both classes yield empty but valid states at
      the point of definition.
Commits on Oct 24, 2017
  1. Fix (un)signed comparison

    pb-cdunn authored and pezmaster31 committed Oct 24, 2017
  2. Fix `-Wsign-compare` warning

    SoapZA committed Oct 24, 2017
  3. Employ idiomatic CMake option BUILD_SHARED_LIBS for switching library…

    SoapZA committed Oct 24, 2017
    … type
    
    * Like bundled libraries, many distributions do not build static
      libraries as they make security handling harder. The default is
      still to build the static library, but it can be switched now
      using the CMake standard variable BUILD_SHARED_LIBS.
  4. Add pkg-config file for reverse dependencies of BamTools

    SoapZA committed Oct 23, 2017
    * pkg-config is the _de facto_ standard tool to discover header
      locations and linker flags, instead of having to guess them.
    * The .pc file is API versioned, in order to make it forward
      compatible with future versions of bamtools that break the API.
      The allows for a parallel installation of two otherwise
      incompatible bamtools libraries. See also:
        https://tecnocode.co.uk/2014/12/09/a-checklist-for-writing-pkg-config-files/
        https://developer.gnome.org/programming-guidelines/stable/parallel-installability.html.en
Commits on Oct 23, 2017
  1. First search for system JsonCpp, then only try bundled JsonCpp

    SoapZA committed Oct 23, 2017
    * Distributions prefer unbundled libraries, as they allow for
      centralized security management. Furthermore, centralized
      building prevents useless rebuilds if every package where
      to bundle all the libraries it needs.