|
edf420f3
|
2016-09-05T13:24:07
|
|
cmake: add curl library path
The `PKG_CHECK_MODULES` function searches a pkg-config module and
then proceeds to set various variables containing information on
how to link to the library. In contrast to the `FIND_PACKAGE`
function, the library path set by `PKG_CHECK_MODULES` will not
necessarily contain linking instructions with a complete path to
the library, though. So when a library is not installed in a
standard location, the linker might later fail due to being
unable to locate it.
While we already honor this when configuring libssh2 by adding
`LIBSSH2_LIBRARY_DIRS` to the link directories, we fail to do so
for libcurl, preventing us to build libgit2 on e.g. FreeBSD. Fix
the issue by adding the curl library directory to the linker
search path.
|
|
c7a03369
|
2016-06-20T11:09:49
|
|
cmake: do not use -fPIC for MSYS2
The MSYS2 build system automatically compiles all code with position-independent
code. When we manually add the -fPIC flag to the compiler flags, MSYS2 will
loudly complain about PIC being the default and thus not required.
Fix the annoyance by stripping -fPIC in MSYS2 enviroments like it is already
done for MinGW.
|
|
68227c43
|
2016-05-27T10:20:35
|
|
Update CMakeLists.txt
typo fix
|
|
488937c2
|
2016-05-22T23:23:58
|
|
CMakeLists: Add libnetwork for Haiku
|
|
1aacaa31
|
2016-04-29T10:18:04
|
|
cmake: include threading libraries in pkg-config
Include any required threading libraries in our `libgit2.pc`.
|
|
9a668abd
|
2016-03-15T18:32:37
|
|
Option "LIBGIT2_PREFIX" to set the CMAKE's TARGET_PROPERTIES PREFIX
This is especially useful in combination with MinGW to yield the
Windows-compliant DLL name "git2.dll" instead of "libgit2.dll"
|
|
f587f38c
|
2016-03-15T18:20:32
|
|
CMake: do not overwrite but only append to CMAKE_C_FLAGS_DEBUG
This is useful to force "smart" IDEs (like CLIon) to use debug
flag -g even it may have decided that "-D_DEBUG" (which is
already present) is sufficient.
|
|
ba9bb664
|
2016-03-03T19:21:07
|
|
tests: create a ctest target for cred_callback
|
|
6cc4bac8
|
2016-02-28T11:31:10
|
|
Merge pull request #3577 from rossdylan/rossdylan/pooldebug
Add a new build flag to disable the pool allocator
|
|
3d6a42d1
|
2016-02-25T11:23:19
|
|
nsec: support NDK's crazy nanoseconds
Android NDK does not have a `struct timespec` in its `struct stat`
for nanosecond support, instead it has a single nanosecond member inside
the struct stat itself. We will use that and use a macro to expand to
the `st_mtim` / `st_mtimespec` definition on other systems (much like
the existing `st_mtime` backcompat definition).
|
|
ed0571f8
|
2016-01-12T16:08:38
|
|
Add a new build flag to disable the pool allocator and pass all git_pool_malloc calls straight to git__malloc
|
|
8a0133c0
|
2016-01-05T19:07:27
|
|
Add winhttp dependencies to pc file.
|
|
0878ca9b
|
2015-10-07T10:31:07
|
|
CMakeLists: Compare CMAKE_SIZEOF_VOID_P as a number, not as a string
|
|
eb11fac6
|
2015-11-20T18:57:13
|
|
Detect stat's structure
|
|
75a0ccf5
|
2015-11-12T19:53:09
|
|
Merge pull request #3170 from CmdrMoozy/nsec_fix
git_index_entry__init_from_stat: set nsec fields in entry stats
|
|
7208ff4d
|
2015-10-22T20:17:19
|
|
cmake: split sources into original paths for Xcode and MSVC
The MSVC_SPLIT_SOURCES function is helpful for other IDEs, like Xcode,
and will split the source files up into their target directories,
instead of merely placing them all in a "Sources" directory.
Rename MSVC_SPLIT_SOURCES to IDE_SPLIT_SOURCES and enable it for Xcode.
|
|
ac7e50dd
|
2015-10-14T08:30:51
|
|
Merge pull request #3453 from libgit2/cmn/warn-python
CMake: be more explicit with python errors
|
|
e3f94c71
|
2015-10-06T13:35:45
|
|
CMake: be more explicit with python errors
There's been a few reports of users not understanding what the python
error means, so spell out the options they have.
|
|
c7b17fb5
|
2015-10-01T18:01:32
|
|
Merge branch 'master' into nsec_fix_next
|
|
ba1a5553
|
2015-09-30T17:44:10
|
|
Merge pull request #3446 from ethomson/portability
portability: use `CHECK_FUNCTION_EXISTS` for checking whether functions exist...
|
|
e683d152
|
2015-09-30T05:49:04
|
|
qsort_r/qsort_s: detect their support
|
|
8649dfd8
|
2015-09-29T13:36:37
|
|
p_futimes: support using futimens when available
|
|
360dd4da
|
2015-06-23T10:02:48
|
|
win32: define our own POSIX struct stat, and support USE_NSEC
|
|
c963fe1d
|
2015-06-23T09:05:49
|
|
cmake: fix CMake code organization problem
|
|
e9e6df2c
|
2015-06-15T09:28:55
|
|
cmake: Only provide USE_NSEC if struct stat members are avilable.
This allows us to remove OS checks from source code, instead relying
on CMake to detect whether or not `struct stat` has the nanoseconds
members we rely on.
|
|
e7de893e
|
2015-06-01T13:43:54
|
|
cmake: add USE_NSEC, and only check nanosec m/ctime if enabled
|
|
5540d9db
|
2015-09-10T16:11:10
|
|
pkg-config: fix directory references in libgit2.pc
Before:
libdir=/usr//usr/lib64
includedir=/usr//usr/include
After:
libdir=/usr/lib64
includedir=/usr/include
(note the duplication of /usr in the before case)
|
|
01fe8374
|
2015-09-03T13:35:15
|
|
Revert "Get rid of libssh2 embedding"
The embedding was removed as a libssh2 release with Windows crypto
support became available, but dependencies are still annoying so this
ahs been requested again.
This reverts commit 20dcb7315cd4c5760c68402998fd9e5a6bf5505d.
|
|
b445940e
|
2015-08-19T12:53:31
|
|
CMake: fall back to OpenSSL on older OS X
Starting at OS X 10.8, the Security framework offers some functions
which are unified across OS X and iOS. These are the functions that we
use.
Older versions of OS X do not have these functions and we fail to
compile. In these situations, fall back to using OpenSSL for our TLS
stream instead.
|
|
c27b4afc
|
2015-08-06T11:06:17
|
|
Forcing libssh2 lib location
OS X may have libssh2 in diff locations, so CHECK_LIBRARY_EXISTS may check the wrong lib; forcing it to use a found directory.
|
|
2da64edb
|
2015-07-27T18:28:29
|
|
Add -Wdocumentation flag if supported
|
|
a522d8c1
|
2015-07-11T17:35:59
|
|
Merge pull request #3292 from tkelman/patch-1
Increase required version of cmake to 2.8
|
|
37c84dc5
|
2015-07-05T10:07:48
|
|
Increase required version of cmake to 2.8
|
|
93b42728
|
2015-06-09T14:38:30
|
|
Include stacktrace summary in memory leak output.
|
|
fd2d11a1
|
2015-06-28T13:57:06
|
|
CMake: treat the ld flags as a list
These are treated as a list by CMake itself, which means that treating
them as a simple string can put semicolons in our ld command-line if we
have libraries which are not installed on the standard locations.
Treat the variable as a CMake list and replace it with the space-delimited
list just before writing it out to our pc file.
|
|
790cabf0
|
2015-06-26T13:51:41
|
|
pc: Put libcurl and libssh2 in Libs.private
Pass on to whoever wants to link to libgit2 statically the flags that we
would have used for these libraries.
Putting them in Requires.private as we do now makes pkg-config put their
dependencies in the linker arguments as well, which is not what we want.
|
|
65f2d155
|
2015-06-25T21:49:48
|
|
List `libcurl` in the generated `libgit2.pc`
|
|
cf9d5f76
|
2015-06-03T04:57:00
|
|
curl: find and link with the library if it's available by default
|
|
e488bef4
|
2015-06-19T12:53:37
|
|
Quote LIBSSH2_LIBRARIES call
Credits to @directhex
It is possible for PKG_CHECK_MODULES(LIBSSH2 libssh2) to LIBSSH2_LIBRARIES to a string with more than one library in it - e.g. if your libssh2 was built against libgcrypt, it will be "ssh2;gcrypt"
Quoting the string is needed, or CHECK_LIBRARY_EXISTS will fail.
|
|
1679ec12
|
2015-05-24T18:27:15
|
|
cmake: Add CMake check for libssh2 memory credential passing support
|
|
20dcb731
|
2015-05-12T11:33:45
|
|
Get rid of libssh2 embedding
It was added as a workaround while the project had code to use WinCNG
but had not made a release with it. There is now a release of libssh2
with WinCNG support, so this option is redundant. Let's get rid of it
before people start liking it too much.
|
|
25f355cb
|
2015-05-06T18:39:39
|
|
Merge pull request #3086 from yongthecoder/master
Android build doesn't need deps/regex
|
|
7a5c7559
|
2015-05-05T22:36:24
|
|
Ensure frameworks are mentioned in libgit2.pc
When building on Mac OS X, the `CoreFoundation` and `Security` frameworks where missing from `Libs.private` in the generated `libgit2.pc` file.
|
|
57aa839c
|
2015-05-04T09:41:34
|
|
Android build doesn't need deps/regex
deps/regex was included in Android build because Android NDK 4 has
a packaging bug and doesn't have the regular expression functions defined
in its libc.so. The bug has been fixed in subsequent Android NDK releases.
If it is still necessary to work around the bug in Android NDK 4, we
should consider to use an option like ANDROID_NDK_RELEASE or
ANDROID_NDK_RELEASE_NUM.
|
|
24e53d2f
|
2015-03-19T09:55:20
|
|
Rename GIT_SSL to GIT_OPENSSL
This is what it's meant all along, but now we actually have multiple
implementations, it's clearer to use the name of the library.
|
|
6bb54cbf
|
2014-11-02T13:23:32
|
|
Add a SecureTransport TLS channel
As an alternative to OpenSSL when we're on OS X. This one can actually
take advantage of stacking the streams.
|
|
d06c589f
|
2015-04-10T06:15:06
|
|
Add MSVC CRTDBG memory leak reporting.
|
|
b631e0d9
|
2015-03-19T07:25:25
|
|
Use swprintf_s everywhere except mingw.org
|
|
547517d7
|
2015-03-16T14:49:23
|
|
use a different .def file for 64 bit
|
|
d612e48e
|
2015-03-16T13:30:10
|
|
Fix out-of-tree build
link against crypt32 for CertFreeCertificateContext
|
|
8f426d7d
|
2014-06-09T11:43:25
|
|
Win32: Enable WinHTTP for MinGW
|
|
06353282
|
2015-03-05T15:48:08
|
|
Only run -ionline tests IF (WINHTTP OR OPENSSL_FOUND)
|
|
9a859ef5
|
2015-03-02T09:21:55
|
|
Added cl_perf_timer. Updated global trace to include timers.
|
|
6b5c0886
|
2015-02-13T16:58:14
|
|
Provide mechanism to let CLAR globally setup git_trace()
|
|
2d2aa1ff
|
2015-02-13T17:28:35
|
|
Fix Mac build without OpenSSL
If OpenSSL is disabled on Mac the SHA1 implementation goes
to the CommonCrypto from the system. In this case we should
not include the generic hash impl. Otherwise there would be
duplicated impls which fail the build.
|
|
5a2a5771
|
2015-02-12T00:34:48
|
|
Merge pull request #2845 from rakuco/libssh2-detection-fix
Add libssh2's library and include directories.
|
|
e15a0849
|
2015-02-04T00:15:11
|
|
Tell user if libssh was not found
Fixes #2665
|
|
461fd5a0
|
2015-01-24T16:15:12
|
|
Add libssh2's library and include directories.
Follow-up to 4f91bfa ("Find libssh2 via pkg-config"): FindPkgConfig sets
<foo>_INCLUDE_DIRS, not <foo>_INCLUDE_DIR like FindLIBSSH2 did.
Additionally, if using only FindPkgConfig to find libssh2, we have to
call LINK_DIRECTORIES() as well to pass the appropriate -L entries,
otherwise the build will only work if libssh2.so is in a directory
searched automatically by the linker.
|
|
7641327c
|
2015-01-13T16:53:07
|
|
Add option to turn off OpenSSL
|
|
6e1205ef
|
2014-12-22T12:40:04
|
|
cmake: include FindPkgConfig for windows
Apparently FindPkgConfig is not included by default on VS builds,
only Unix and Unix-like (mingw) builds.
|
|
4f91bfa3
|
2014-12-05T10:32:59
|
|
Find libssh2 via pkg-config
We don't really need our own module to find libssh2. Using pkg-config
lets the standard tool do the work for us and let us fit more naturally
in the workflow as we respect the pkg-config search paths.
|
|
79b0ae4e
|
2014-10-27T10:30:57
|
|
Flip THREADSAFE's default to ON
Threads are here to stay; and for a while now, users have had to call
the initialization function which sets up threads and crypto regardless
of whether the library was built threadsafe or not.
|
|
a747ea49
|
2014-10-24T14:01:13
|
|
Merge pull request #2647 from ethomson/clar_tmpname
clar: use a custom temp directory name
|
|
29eed1c7
|
2014-10-24T10:50:57
|
|
clar: use a custom temp directory name
|
|
d9c0dbb0
|
2014-10-24T13:29:11
|
|
hash: use CommonCrypto on OSX for SHA-1
OSX has its own cryptographic library, let's make use of it instead of
calling out to OpenSSL.
|
|
3753110a
|
2014-06-17T15:37:21
|
|
Provide option to embed libssh2
|
|
23135afa
|
2014-08-14T11:52:20
|
|
Introduce proper http authentication API
|
|
315cb38e
|
2014-07-31T18:43:20
|
|
Add GSSAPI support for SPNEGO/Kerberos auth over HTTP
|
|
00b8c216
|
2014-06-30T23:18:37
|
|
ssh: always declare the libssh2 types
This lets a user decide they do want to use keyboard-interactive after
they've compiled.
|
|
eac63e67
|
2014-06-30T10:03:36
|
|
ssh: create the right callback signature based on build options
When linking against libssh2, create the transport.h such that it
contains its definition for custom crypto and keyboard-interactive
callbacks.
If we don't link against libssh2, create an equivalent signature which
has void pointers instead of pointers to libssh2 structures.
This would be one way to fix #2438.
|
|
99807672
|
2014-06-08T19:42:54
|
|
Change SOVERSION at API breaks
Since the SOVERSION doesn't need to follow the library's version and
simply needs to be monotonically increasing whenever we release
something that breaks the ABI, we can set some number and allow multiple
versions of the library to be installed side-by-side.
We start here with the minor version as that's what we release for now,
and it allows to backport this change to earlier versions.
|
|
6bcb0987
|
2014-05-08T00:35:56
|
|
cmake: s/ICONV/Iconv/ in FIND_PACKAGE
The cmake module we provide is in the file FindIconv.cmake,
so we must match the case correctly. It happens to work in
practice because we only turn on ICONV on Darwin, and people
generally have case-insensitive filesystems there.
Note that we only need to update the package name here. The
package itself still sets the all-uppercase ICONV_FOUND
flag, so we continue to use uppercase in the rest of cmake.
|
|
cd424ad5
|
2014-04-28T16:39:53
|
|
Add GIT_STATUS_OPT_UPDATE_INDEX and use trace API
This adds an option to refresh the stat cache while generating
status. It also rips out the GIT_PERF stuff I had an makes use
of the trace API to keep statistics about what happens during diff.
|
|
240f4af3
|
2014-04-28T14:04:29
|
|
Add build option for diff internal statistics
|
|
9d878fc4
|
2014-05-01T01:23:10
|
|
Merge pull request #2304 from jacquesg/solaris
Solaris!
|
|
98b8fcff
|
2014-04-29T20:45:02
|
|
Build regex.c for Solaris. Added required defines for Solaris
|
|
f5fc63bc
|
2014-04-30T10:55:58
|
|
Don't exclude libssh2 from MinGW
It reportedly works. It does not however work when cross-compiling on
Travis, so let's disable it there.
This fixes #2311.
|
|
096ac799
|
2014-02-13T22:38:23
|
|
Workaround missing .pc files on FreeBSD
This fixes #2118
|
|
04739e9f
|
2014-04-30T10:15:44
|
|
Unquiet CMake output
The point of this phase is to know what we have and not. Show the user a
clear indication of what we have.
|
|
7f0de93a
|
2014-04-28T15:24:36
|
|
Make the build CMake 2.6 compatible
|
|
5c8d5eac
|
2014-04-19T23:07:50
|
|
Introduce AddCFlagIfSupported CMake macro
|
|
364ef528
|
2014-04-18T19:13:18
|
|
Only disable deprecation warnings on Apple for OpenSSL
|
|
c6cd3f8b
|
2014-04-18T18:32:06
|
|
Use CHECK_C_COMPILER_FLAG to determine if the compiler supports a flag
This simplifies platform/compiler dependent checks where we optionally
enable features or disable warnings.
|
|
48ce93e0
|
2014-04-18T18:58:57
|
|
Fix inconsistent use of lower-case and upper-case names for macros
|
|
823c0e9c
|
2014-04-17T11:53:13
|
|
Fix broken logic for attr cache invalidation
The checks to see if files were out of date in the attibute cache
was wrong because the cache-breaker data wasn't getting stored
correctly. Additionally, when the cache-breaker triggered, the
old file data was being leaked.
|
|
9e1ed9f2
|
2014-04-01T23:01:40
|
|
Add CFLAGS -Wdeclaration-after-statement
This warns local variables declarations after statement, which helps not to break MSVC
|
|
169fb81d
|
2014-03-11T11:56:26
|
|
Undoing local change done for building on x64
|
|
7ca1584b
|
2014-03-11T11:49:19
|
|
Conforming to libgit2 coding style.
|
|
6874cafd
|
2014-03-03T12:08:17
|
|
cmake examples change so that general.c is off by default
|
|
058956ce
|
2014-03-03T11:47:06
|
|
- CMakeLists.txt small fix
|
|
300f4412
|
2014-02-25T11:56:11
|
|
- BUGFIX #2133 (@fourplusone) in smart_protocol.c
- added MSVC cmake definitions to disable warnings
- general.c is rewritten so it is ansi-c compatible and compiles ok on microsoft windows
- some MSVC reported warning fixes
|
|
5bda607c
|
2014-02-21T01:09:44
|
|
Check if librt exists independent of OS, to be able to exclude librt on Android builds, even though it is a 'Linux'.
|
|
4bc94eb5
|
2014-01-30T03:01:46
|
|
We never search for libiconv via pkg-config
So we actually also never know that we can set a dependency on it in
pkg-config. Instead always give it the -L and -l options.
|
|
6e0ff093
|
2014-01-30T02:30:55
|
|
Find and use a MacPorts version of libiconv. Fixes #2017.
- Add correct -I, -L and -l flags
- Search for libiconv in /opt/local/[include|lib] before in the
system path. See #2017 for details.
- Give splitted -L and -l arguments to pkg-config
|
|
60306450
|
2014-01-29T23:47:20
|
|
Use relative path to set cmake module path
This has actually no effect on a "normal" build, but allows to use
libgit2 as a part of a larger project via CMake's ADD_SUBDIRECTORY()
Closes #2087
|
|
86f92b74
|
2014-01-13T12:49:54
|
|
Show informational messages during cmake run as informational
|
|
7697e541
|
2013-12-11T15:02:20
|
|
Test cancel from indexer progress callback
This adds tests that try canceling an indexer operation from
within the progress callback.
After writing the tests, I wanted to run this under valgrind and
had a number of errors in that situation because mmap wasn't
working. I added a CMake option to force emulation of mmap and
consolidated the Amiga-specific code into that new place (so we
don't actually need separate Amiga code now, just have to turn on
-DNO_MMAP).
Additionally, I made the indexer code propagate error codes more
reliably than it used to.
|
|
726b75d1
|
2013-12-02T11:32:37
|
|
Improve iconv finding for cmake
* add FindIconv helper for CMake iconv detection
* only default using iconv to ON for MacOS
* update pkg-config generation to include iconv dependency better
|
|
83e1efbf
|
2013-11-14T14:10:32
|
|
Update files that reference tests-clar
|
|
0df96f2b
|
2013-11-10T07:31:21
|
|
Merge pull request #1936 from libgit2/better-url-parsing
Streamline url-parsing logic.
|