- 12 May, 2023 1 commit
-
-
Introduce `check_prototype_definition_safe` that is safe for `Werror` usage.
Edward Thomson committed
-
- 21 Mar, 2023 2 commits
-
-
Add support for SSPI on Windows, which offers NTLM and Negotiate authentication.
Edward Thomson committed -
Provide a stream interface for Schannel - the native crypto APIs - on Windows. This allows Windows to use the same HTTP transport that all the other platforms use, with its own native crypto. Ultimately this allows us to deprecate WinHTTP and we need not add support for our socket changes in two places (our HTTP stack and the WinHTTP stack).
Edward Thomson committed
-
- 03 Mar, 2023 1 commit
-
-
xdiff is a dependency (from git core) and more properly belongs in the 'deps' directory. Move it there, and add a stub for cmake to resolve xdiff from the system location in the future. (At present, bundled xdiff remains hardcoded.)
Edward Thomson committed
-
- 13 Feb, 2023 1 commit
-
-
Edward Thomson committed
-
- 19 Sep, 2022 1 commit
-
-
Not everybody builds libgit2 using cmake; provide an `experimental.h` with no experiments configured for those that do not. To support this, we also now create compile definitions for experimental functionality, to supplant that empty `experimental.h`. cmake will continue to generate the proper `experimental.h` file for use with `make install`.
Edward Thomson committed
-
- 07 Jul, 2022 1 commit
-
- 20 Jun, 2022 1 commit
-
-
libgit2 can be built with optional, experimental sha256 support. This allows consumers to begin testing and providing feedback for our sha256 support while we continue to develop it, and allows us to make API breaking changes while we iterate on a final sha256 implementation. The results will be `git2-experimental.dll` and installed as `git2-experimental.h` to avoid confusion with a production libgit2.
Edward Thomson committed
-
- 04 Apr, 2022 1 commit
-
-
Edward Thomson committed
-
- 23 Mar, 2022 6 commits
-
-
Adding SHA256 support prompted an overdue refactoring of some of the unnecessary complexity around the CNG/CryptoAPI abstraction.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Add support for a SHA256 hash algorithm, and add the "builtin" SHA256 hash engine (from RFC 6234).
Edward Thomson committed -
Remove the "generic" implementation; it should never be used; it only existed for a no-dependencies configuration, and our bundled sha1dc satisfies that requirement _and_ is correct.
Edward Thomson committed
-
- 23 Feb, 2022 2 commits
-
-
Edward Thomson committed
-
Instead of simply including the utility files directly, make them a cmake object library for easy reusability between other projects within libgit2. Now the top-level `src` is responsible for platform selection, while the next-level `libgit2` and `util` configurations are responsible for identifying what objects they include.
Edward Thomson committed
-
- 13 Feb, 2022 1 commit
-
-
Fix building against system http-parser library by fixing the find_package() argument. It seems to have been accidentally changed from HTTPParser to HTTP_Parser in de178d36, effectively making the build against system library fail to find it: ``` CMake Warning at cmake/SelectHTTPParser.cmake:3 (find_package): By not providing "FindHTTP_Parser.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "HTTP_Parser", but CMake did not find one. Could not find a package configuration file provided by "HTTP_Parser" with any of the following names: HTTP_ParserConfig.cmake http_parser-config.cmake Add the installation prefix of "HTTP_Parser" to CMAKE_PREFIX_PATH or set "HTTP_Parser_DIR" to a directory containing one of the above files. If "HTTP_Parser" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): src/CMakeLists.txt:97 (include) CMake Error at cmake/SelectHTTPParser.cmake:11 (message): http-parser support was requested but not found Call Stack (most recent call first): src/CMakeLists.txt:97 (include) ```
Michał Górny committed
-
- 09 Jan, 2022 1 commit
-
-
Miguel Arroz committed
-
- 05 Jan, 2022 1 commit
-
-
Dimitris Apostolou committed
-
- 29 Dec, 2021 1 commit
-
-
On macOS, since Big Sur, the libraries were moved to a cache. The SDK comes with stubs in the SDK (`/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/lib/` or whatever SDK version one has installed) where most have the `.tbd` suffix (although some still are `.a`). Forcing `CMAKE_FIND_LIBRARY_SUFFIXES` on Apple platforms broke building, unless one has copies of the libraries installed elsewhere (like Brew), as many libraries (like `iconv` or `pcre`) are not found. This fix disables setting the `CMAKE_FIND_LIBRARY_SUFFIXES` to `.a` if the platform is `APPLE` when building static libs.
Miguel Arroz committed
-
- 23 Dec, 2021 1 commit
-
-
Also applies to *_BINARY_DIR. This effectively reverts 84083dcc, which broke all users of libgit2 that use it as a CMake subdirectory (via `add_subdirectory()`). This is because CMAKE_SOURCE_DIR refers to the root-most CMake directory, which in the case of `add_subdirectory()` is a parent project to libgit2 and thus the paths don't make any sense to the configuration files. Corollary, CMAKE_SOURCE_DIR only makes sense if the CMake project is always the root project - which can rarely be guaranteed. In all honesty, CMake should deprecate and eventually remove CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR. It's been the source of headaches and confusion for years, they're rarely useful over CMAKE_CURRENT_(SOURCE|BINARY)_DIR or PROJECT_(SOURCE|BINARY)_DIR, and they cause a lot of confusing configuration and source code layouts to boot. Any time they are used, they break `add_subdirectory()` almost 100% of the time, cause confusing error messages, and hide subtle bugs.
Josh Junon committed
-
- 22 Nov, 2021 1 commit
-
-
Instead of using the project-specific `libgit2_SOURCE_DIR` and `libgit2_BINARY_DIR` variables, use `CMAKE_SOURCE_DIR` and `CMAKE_BINARY_DIR`.
Edward Thomson committed
-
- 17 Nov, 2021 1 commit
-
-
Edward Thomson committed
-
- 14 Nov, 2021 3 commits
-
-
The select hashes module selects the hash; the CMakeLists.txt selects the files to implement it.
Edward Thomson committed -
Update the global variables `LIBGIT2_OBJECTS` to `LIBGIT2_DEPENDENCY_OBJECTS` for clarity and consistency.
Edward Thomson committed -
Apply the standard project cmake formatting to the modules.
Edward Thomson committed
-
- 11 Nov, 2021 10 commits
-
-
We should enforce declarations throughout the code-base, including examples, fuzzers and tests, not just in the `src` tree.
Edward Thomson committed -
Move zlib selection into its own cmake module.
Edward Thomson committed -
Move WinHTTP selection into its own cmake module.
Edward Thomson committed -
Move SSH selection into its own cmake module.
Edward Thomson committed -
Move regex selection into its own cmake module.
Edward Thomson committed -
Move http_parser selection into its own cmake module.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
WinHTTP can now be disabled with `USE_WINHTTP=OFF` instead of `WINHTTP=OFF` to better support the other cmake semantics.
Edward Thomson committed -
Threading can now be disabled with `USE_THREADS=OFF` instead of `THREADSAFE=OFF` to better support the other cmake semantics. Nanosecond support is the default _if_ we can detect it. This should be our default always - like threads - and people can opt out explicitly.
Edward Thomson committed
-
- 28 Oct, 2021 1 commit
-
-
in #6083 the test runner was renamed to libgit2_tests, but not all references to the old name were updated. this change changes all of them to use the new name.
Martin Kühl committed
-
- 14 Sep, 2021 1 commit
-
-
Laurent Stacul committed
-
- 28 Aug, 2021 1 commit
-
-
Co-authored-by: Edward Thomson <ethomson@github.com>
Dmitry Lobanov committed
-