1. 19 May, 2019 2 commits
  2. 07 Apr, 2019 1 commit
  3. 10 Jan, 2019 1 commit
    • Make ENABLE_WERROR actually work · 6af6170b
      This change explicitly adds -Werror to the CFLAGS.
      
      Due to the way that the ADD_C_FLAG_IF_SUPPORTED() macro was mangling the
      flag name to convert it into a define name, any warning that had a dash
      in its name was not being correctly enabled. Additionally, any flag that
      is enabled implicitly by the compiler (like -Wunused-result and
      -Wdeprecated-declarations) would not cause an error unless they were
      explicitly enabled with the ENABLE_WARNINGS() macro.
      lhchavez committed
  4. 24 Aug, 2018 2 commits
    • util: make the qsort_r check work on macOS · 1a9cc182
      This performs a compile-check by using CMake support, to differentiate the GNU
      version from the BSD version of qsort_r.
      
      Module taken from 4f252abea5f1d17c60f6ff115c9c44cc0b6f1df6, which I've checked
      against CMake 2.8.11.
      Etienne Samson committed
    • cmake: detect and use libc-provided iconv · 2e2d8c64
      While most systems provide a separate iconv library against which
      applications can link, musl based systems do not provide such a library.
      Instead, iconv functions are directly included in the C library. As our
      current CMake module to locate the iconv library only checks whether a
      library exists somewhere in the typical library directories, we will
      never build libgit2 with libiconv support on such systems.
      
      Extend the iconv module to also search whether libc provides iconv
      functions, which we do by checking whether the `iconv_open` function
      exists inside of libc. If this is the case, we will default to use the
      libc provided one instead of trying to use a separate libiconv. While
      this changes which iconv we use on systems where both libc and an
      external libiconv exist, to the best of my knowledge common systems only
      provide either one or the other.
      
      Note that libiconv support in musl is held kind of basic. To quote musl
      libc's page on functional differences from glibc [1]:
      
          The iconv implementation musl is very small and oriented towards
          being unobtrusive to static link. Its character set/encoding
          coverage is very strong for its size, but not comprehensive like
          glibc’s.
      
      As we assume iconv to be a lot more capable than what musl provides,
      some of our tests will fail if using iconv on musl-based platforms.
      
      [1]: https://wiki.musl-libc.org/functional-differences-from-glibc.html
      Patrick Steinhardt committed
  5. 03 Aug, 2018 1 commit
  6. 09 May, 2018 1 commit
    • cmake: resolve libraries found by pkg-config · 0f62e4c7
      Libraries found by CMake modules are usually handled with their full
      path. This makes linking against those libraries a lot more robust when
      it comes to libraries in non-standard locations, as otherwise we might
      mix up libraries from different locations when link directories are
      given.
      
      One excemption are libraries found by PKG_CHECK_MODULES. Instead of
      returning libraries with their complete path, it will return the
      variable names as well as a set of link directories. In case where
      multiple sets of the same library are installed in different locations,
      this can lead the compiler to link against the wrong libraries in the
      end, when link directories of other dependencies are added.
      
      To fix this shortcoming, we need to manually resolve library paths
      returned by CMake against their respective library directories. This is
      an easy task to do with `FIND_LIBRARY`.
      Patrick Steinhardt committed
  7. 11 Apr, 2018 1 commit
  8. 05 Feb, 2018 1 commit
  9. 03 Feb, 2018 2 commits
  10. 23 Oct, 2017 2 commits
  11. 01 May, 2015 1 commit
  12. 23 Apr, 2015 1 commit
  13. 05 Dec, 2014 1 commit
  14. 15 Aug, 2014 1 commit
  15. 19 Apr, 2014 1 commit
  16. 30 Jan, 2014 3 commits
  17. 02 Dec, 2013 1 commit
  18. 30 May, 2013 1 commit
  19. 15 May, 2013 2 commits
  20. 07 May, 2013 1 commit