summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Fix the existence check for `regcomp_l`.Arthur Schreiber2016-10-071-1/+1
| | | | | | | `xlocale.h` only defines `regcomp_l` if `regex.h` was included as well. Also change the test cases to actually test `p_regcomp` works with a multibyte locale.
* Make sure we use the `C` locale for `regcomp` on macOS.Arthur Schreiber2016-10-061-0/+6
|
* cmake: add curl library pathPatrick Steinhardt2016-09-051-0/+1
| | | | | | | | | | | | | | | | | 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.
* cmake: do not use -fPIC for MSYS2Patrick Steinhardt2016-06-211-6/+8
| | | | | | | | | 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.
* Merge pull request #3796 from mmuman/haikuEdward Thomson2016-06-011-0/+4
|\ | | | | Preliminary Haiku port
| * CMakeLists: Add libnetwork for HaikuFrançois Revol2016-05-221-0/+4
| |
* | Update CMakeLists.txtElan Ruusamäe2016-05-271-1/+1
|/ | | typo fix
* cmake: include threading libraries in pkg-configethomson/cmake_pcEdward Thomson2016-04-291-0/+2
| | | | Include any required threading libraries in our `libgit2.pc`.
* CI: run proxy tests with ctestCarlos Martín Nieto2016-04-191-0/+2
| | | | | Running clar directly on appveyor makes it think the command returned failure, so it stops the tests. Running it via ctest lets it go through.
* CMakeLists: Further improve the error messages regarding CMAKE_SIZEOF_VOID_PSebastian Schuberth2016-03-241-1/+3
|
* CMakeLists: Show the pointer size for an unsupported architectureSebastian Schuberth2016-03-231-1/+1
| | | | | Showing the pointer size gives a hint as to why we think this is an unsupported architecture.
* Merge pull request #3660 from mstrap/mingwEdward Thomson2016-03-181-0/+2
|\ | | | | MinGW builds should optionally create DLLs without "lib" prefix
| * Option "LIBGIT2_PREFIX" to set the CMAKE's TARGET_PROPERTIES PREFIXMarc Strapetz2016-03-151-0/+2
| | | | | | | | | | This is especially useful in combination with MinGW to yield the Windows-compliant DLL name "git2.dll" instead of "libgit2.dll"
* | CMake: do not overwrite but only append to CMAKE_C_FLAGS_DEBUGMarc Strapetz2016-03-151-2/+2
|/ | | | | | 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.
* Enable nanosecond resolution by defaultEdward Thomson2016-03-031-1/+1
| | | | | Nanosecond resolution is now the default in git itself. Enable this as our default as well.
* tests: create a ctest target for cred_callbackcmn/auth-retryCarlos Martín Nieto2016-03-031-0/+4
|
* Merge pull request #3577 from rossdylan/rossdylan/pooldebugEdward Thomson2016-02-281-0/+5
|\ | | | | Add a new build flag to disable the pool allocator
| * Add a new build flag to disable the pool allocator and pass all ↵Ross Delinger2016-01-121-0/+5
| | | | | | | | git_pool_malloc calls straight to git__malloc
* | nsec: support NDK's crazy nanosecondsEdward Thomson2016-02-251-9/+17
| | | | | | | | | | | | | | | | 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).
* | Add winhttp dependencies to pc file.Arthur Schreiber2016-01-091-1/+2
|/
* CMakeLists: Compare CMAKE_SIZEOF_VOID_P as a number, not as a stringSebastian Schuberth2015-12-021-1/+1
|
* Detect stat's structureJacques Germishuys2015-11-201-3/+18
|
* Merge pull request #3170 from CmdrMoozy/nsec_fixCarlos Martín Nieto2015-11-121-0/+11
|\ | | | | git_index_entry__init_from_stat: set nsec fields in entry stats
| * Merge branch 'master' into nsec_fix_nextAxel Rasmussen2015-10-011-0/+16
| |\
| * | win32: define our own POSIX struct stat, and support USE_NSECAxel Rasmussen2015-09-181-1/+1
| | |
| * | cmake: fix CMake code organization problemAxel Rasmussen2015-09-181-6/+6
| | |
| * | cmake: Only provide USE_NSEC if struct stat members are avilable.Axel Rasmussen2015-09-181-1/+7
| | | | | | | | | | | | | | | | | | 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.
| * | cmake: add USE_NSEC, and only check nanosec m/ctime if enabledAxel Rasmussen2015-09-181-0/+5
| | |
* | | cmake: split sources into original paths for Xcode and MSVCEdward Thomson2015-10-221-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3453 from libgit2/cmn/warn-pythonEdward Thomson2015-10-141-1/+6
|\ \ \ | |_|/ |/| | CMake: be more explicit with python errors
| * | CMake: be more explicit with python errorscmn/warn-pythonCarlos Martín Nieto2015-10-061-1/+6
| |/ | | | | | | | | There's been a few reports of users not understanding what the python error means, so spell out the options they have.
* | Merge pull request #3446 from ethomson/portabilityCarlos Martín Nieto2015-09-301-0/+16
|\ \ | |/ |/| portability: use `CHECK_FUNCTION_EXISTS` for checking whether functions exist...
| * qsort_r/qsort_s: detect their supportEdward Thomson2015-09-301-5/+15
| |
| * p_futimes: support using futimens when availableEdward Thomson2015-09-301-0/+6
| |
* | pkg-config: fix directory references in libgit2.pcDominique Leuenberger2015-09-181-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | 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)
* | Revert "Get rid of libssh2 embedding"cmn/ssh-embed-againCarlos Martín Nieto2015-09-031-2/+13
|/ | | | | | | | 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.
* CMake: fall back to OpenSSL on older OS Xcmn/old-securityCarlos Martín Nieto2015-08-191-2/+12
| | | | | | | | | | 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.
* Forcing libssh2 lib locationSlava Karpenko2015-08-061-1/+1
| | | | OS X may have libssh2 in diff locations, so CHECK_LIBRARY_EXISTS may check the wrong lib; forcing it to use a found directory.
* Add -Wdocumentation flag if supportedBen Chatelain2015-07-271-0/+1
|
* Merge pull request #3292 from tkelman/patch-1Edward Thomson2015-07-111-1/+1
|\ | | | | Increase required version of cmake to 2.8
| * Increase required version of cmake to 2.8Tony Kelman2015-07-101-1/+1
| |
* | Include stacktrace summary in memory leak output.Jeff Hostetler2015-06-291-0/+1
|/
* CMake: treat the ld flags as a listCarlos Martín Nieto2015-06-281-10/+14
| | | | | | | | | 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.
* pc: Put libcurl and libssh2 in Libs.privatecmn/link-one-levelCarlos Martín Nieto2015-06-261-3/+3
| | | | | | | | 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.
* List `libcurl` in the generated `libgit2.pc`Arthur Schreiber2015-06-251-0/+1
|
* curl: find and link with the library if it's available by defaultCarlos Martín Nieto2015-06-241-0/+11
|
* Quote LIBSSH2_LIBRARIES callMarius Ungureanu2015-06-191-1/+1
| | | | | | | | 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.
* cmake: Add CMake check for libssh2 memory credential passing supportMichał Górny2015-05-271-0/+5
|
* Get rid of libssh2 embeddingcmn/remove-ssh-embedCarlos Martín Nieto2015-05-121-13/+2
| | | | | | | 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.
* Merge pull request #3086 from yongthecoder/masterCarlos Martín Nieto2015-05-061-3/+1
|\ | | | | Android build doesn't need deps/regex