rugged 1.3.2.3 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/rugged/extconf.rb +1 -1
- data/ext/rugged/rugged_config.c +7 -2
- data/ext/rugged/rugged_remote.c +17 -0
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +103 -276
- data/vendor/libgit2/COPYING +36 -19
- data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
- data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
- data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
- data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
- data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
- data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
- data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
- data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
- data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
- data/vendor/libgit2/cmake/FindPCRE.cmake +13 -13
- data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
- data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
- data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
- data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
- data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
- data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
- data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
- data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
- data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
- data/vendor/libgit2/cmake/SelectHashes.cmake +39 -49
- data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
- data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
- data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +31 -31
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +1 -1
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
- data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
- data/vendor/libgit2/deps/zlib/adler32.c +0 -7
- data/vendor/libgit2/deps/zlib/crc32.c +288 -975
- data/vendor/libgit2/deps/zlib/crc32.h +436 -9441
- data/vendor/libgit2/deps/zlib/deflate.c +31 -83
- data/vendor/libgit2/deps/zlib/deflate.h +15 -12
- data/vendor/libgit2/deps/zlib/gzguts.h +2 -3
- data/vendor/libgit2/deps/zlib/infback.c +1 -2
- data/vendor/libgit2/deps/zlib/inffast.c +14 -14
- data/vendor/libgit2/deps/zlib/inflate.c +8 -39
- data/vendor/libgit2/deps/zlib/inflate.h +2 -3
- data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
- data/vendor/libgit2/deps/zlib/trees.c +48 -27
- data/vendor/libgit2/deps/zlib/zlib.h +100 -126
- data/vendor/libgit2/deps/zlib/zutil.c +2 -2
- data/vendor/libgit2/deps/zlib/zutil.h +9 -12
- data/vendor/libgit2/include/git2/apply.h +16 -2
- data/vendor/libgit2/include/git2/attr.h +11 -2
- data/vendor/libgit2/include/git2/blame.h +4 -1
- data/vendor/libgit2/include/git2/blob.h +14 -1
- data/vendor/libgit2/include/git2/branch.h +2 -0
- data/vendor/libgit2/include/git2/buffer.h +18 -78
- data/vendor/libgit2/include/git2/cert.h +2 -2
- data/vendor/libgit2/include/git2/checkout.h +5 -2
- data/vendor/libgit2/include/git2/clone.h +3 -3
- data/vendor/libgit2/include/git2/commit.h +2 -0
- data/vendor/libgit2/include/git2/common.h +5 -12
- data/vendor/libgit2/include/git2/config.h +19 -3
- data/vendor/libgit2/include/git2/credential.h +2 -1
- data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
- data/vendor/libgit2/include/git2/deprecated.h +1 -1
- data/vendor/libgit2/include/git2/describe.h +7 -2
- data/vendor/libgit2/include/git2/diff.h +17 -9
- data/vendor/libgit2/include/git2/email.h +1 -1
- data/vendor/libgit2/include/git2/errors.h +1 -2
- data/vendor/libgit2/include/git2/filter.h +7 -2
- data/vendor/libgit2/include/git2/graph.h +1 -0
- data/vendor/libgit2/include/git2/ignore.h +1 -1
- data/vendor/libgit2/include/git2/index.h +11 -5
- data/vendor/libgit2/include/git2/indexer.h +19 -0
- data/vendor/libgit2/include/git2/merge.h +23 -3
- data/vendor/libgit2/include/git2/message.h +2 -0
- data/vendor/libgit2/include/git2/object.h +23 -0
- data/vendor/libgit2/include/git2/odb.h +37 -7
- data/vendor/libgit2/include/git2/odb_backend.h +1 -1
- data/vendor/libgit2/include/git2/pack.h +24 -8
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/pathspec.h +1 -1
- data/vendor/libgit2/include/git2/proxy.h +1 -1
- data/vendor/libgit2/include/git2/rebase.h +9 -1
- data/vendor/libgit2/include/git2/refdb.h +3 -0
- data/vendor/libgit2/include/git2/reflog.h +1 -1
- data/vendor/libgit2/include/git2/refs.h +2 -2
- data/vendor/libgit2/include/git2/remote.h +184 -37
- data/vendor/libgit2/include/git2/repository.h +14 -9
- data/vendor/libgit2/include/git2/reset.h +2 -2
- data/vendor/libgit2/include/git2/revparse.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +4 -1
- data/vendor/libgit2/include/git2/signature.h +1 -1
- data/vendor/libgit2/include/git2/stash.h +3 -3
- data/vendor/libgit2/include/git2/status.h +9 -3
- data/vendor/libgit2/include/git2/submodule.h +7 -2
- data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
- data/vendor/libgit2/include/git2/sys/odb_backend.h +2 -5
- data/vendor/libgit2/include/git2/sys/remote.h +31 -0
- data/vendor/libgit2/include/git2/sys/stream.h +1 -1
- data/vendor/libgit2/include/git2/sys/transport.h +25 -34
- data/vendor/libgit2/include/git2/tag.h +1 -0
- data/vendor/libgit2/include/git2/tree.h +4 -3
- data/vendor/libgit2/include/git2/types.h +7 -7
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +12 -2
- data/vendor/libgit2/src/CMakeLists.txt +189 -315
- data/vendor/libgit2/src/annotated_commit.h +1 -1
- data/vendor/libgit2/src/apply.c +18 -18
- data/vendor/libgit2/src/apply.h +2 -2
- data/vendor/libgit2/src/attr.c +18 -18
- data/vendor/libgit2/src/attr_file.c +17 -17
- data/vendor/libgit2/src/attr_file.h +4 -4
- data/vendor/libgit2/src/attrcache.c +17 -12
- data/vendor/libgit2/src/blame_git.c +1 -1
- data/vendor/libgit2/src/blob.c +33 -26
- data/vendor/libgit2/src/blob.h +1 -1
- data/vendor/libgit2/src/branch.c +150 -109
- data/vendor/libgit2/src/branch.h +15 -3
- data/vendor/libgit2/src/buf.c +126 -0
- data/vendor/libgit2/src/buf.h +50 -0
- data/vendor/libgit2/src/cc-compat.h +1 -1
- data/vendor/libgit2/src/checkout.c +74 -68
- data/vendor/libgit2/src/cherrypick.c +10 -10
- data/vendor/libgit2/src/clone.c +66 -66
- data/vendor/libgit2/src/commit.c +128 -58
- data/vendor/libgit2/src/commit.h +24 -1
- data/vendor/libgit2/src/commit_graph.c +68 -53
- data/vendor/libgit2/src/commit_graph.h +10 -3
- data/vendor/libgit2/src/commit_list.c +2 -3
- data/vendor/libgit2/src/common.h +10 -3
- data/vendor/libgit2/src/config.c +99 -77
- data/vendor/libgit2/src/config.h +15 -2
- data/vendor/libgit2/src/config_file.c +103 -91
- data/vendor/libgit2/src/config_mem.c +9 -9
- data/vendor/libgit2/src/config_parse.c +27 -23
- data/vendor/libgit2/src/crlf.c +24 -21
- data/vendor/libgit2/src/date.c +10 -17
- data/vendor/libgit2/src/date.h +33 -0
- data/vendor/libgit2/src/describe.c +27 -19
- data/vendor/libgit2/src/diff.c +25 -8
- data/vendor/libgit2/src/diff.h +2 -4
- data/vendor/libgit2/src/diff_driver.c +34 -36
- data/vendor/libgit2/src/diff_driver.h +3 -3
- data/vendor/libgit2/src/diff_file.c +29 -20
- data/vendor/libgit2/src/diff_generate.c +30 -6
- data/vendor/libgit2/src/diff_generate.h +5 -3
- data/vendor/libgit2/src/diff_print.c +102 -95
- data/vendor/libgit2/src/diff_stats.c +40 -29
- data/vendor/libgit2/src/{message.h → diff_stats.h} +7 -6
- data/vendor/libgit2/src/diff_tform.c +9 -8
- data/vendor/libgit2/src/diff_xdiff.c +3 -8
- data/vendor/libgit2/src/email.c +54 -38
- data/vendor/libgit2/src/email.h +1 -1
- data/vendor/libgit2/src/errors.c +18 -18
- data/vendor/libgit2/src/features.h.in +6 -1
- data/vendor/libgit2/src/fetch.c +69 -24
- data/vendor/libgit2/src/fetch.h +1 -1
- data/vendor/libgit2/src/fetchhead.c +19 -19
- data/vendor/libgit2/src/filebuf.c +28 -28
- data/vendor/libgit2/src/filebuf.h +1 -1
- data/vendor/libgit2/src/filter.c +96 -52
- data/vendor/libgit2/src/filter.h +26 -5
- data/vendor/libgit2/src/fs_path.c +1912 -0
- data/vendor/libgit2/src/fs_path.h +752 -0
- data/vendor/libgit2/src/futils.c +91 -85
- data/vendor/libgit2/src/futils.h +26 -14
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +2 -2
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +2 -2
- data/vendor/libgit2/src/hash/sha1/generic.c +2 -2
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +2 -2
- data/vendor/libgit2/src/hash/sha1/openssl.c +2 -2
- data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +1 -1
- data/vendor/libgit2/src/hash/sha1/win32.c +6 -6
- data/vendor/libgit2/src/hash/sha1.h +3 -1
- data/vendor/libgit2/src/hash.c +67 -35
- data/vendor/libgit2/src/hash.h +12 -12
- data/vendor/libgit2/src/ident.c +18 -18
- data/vendor/libgit2/src/ignore.c +35 -34
- data/vendor/libgit2/src/ignore.h +2 -2
- data/vendor/libgit2/src/index.c +79 -80
- data/vendor/libgit2/src/index.h +6 -3
- data/vendor/libgit2/src/indexer.c +75 -57
- data/vendor/libgit2/src/iterator.c +64 -56
- data/vendor/libgit2/src/iterator.h +5 -5
- data/vendor/libgit2/src/khash.h +1 -1
- data/vendor/libgit2/src/libgit2.c +22 -19
- data/vendor/libgit2/src/mailmap.c +38 -36
- data/vendor/libgit2/src/merge.c +27 -27
- data/vendor/libgit2/src/merge.h +1 -14
- data/vendor/libgit2/src/merge_driver.c +2 -2
- data/vendor/libgit2/src/merge_file.c +13 -3
- data/vendor/libgit2/src/message.c +21 -10
- data/vendor/libgit2/src/midx.c +83 -66
- data/vendor/libgit2/src/midx.h +3 -3
- data/vendor/libgit2/src/mwindow.c +1 -1
- data/vendor/libgit2/src/net.c +278 -68
- data/vendor/libgit2/src/net.h +10 -3
- data/vendor/libgit2/src/netops.c +1 -1
- data/vendor/libgit2/src/netops.h +1 -1
- data/vendor/libgit2/src/notes.c +20 -29
- data/vendor/libgit2/src/object.c +49 -9
- data/vendor/libgit2/src/object.h +1 -1
- data/vendor/libgit2/src/odb.c +35 -32
- data/vendor/libgit2/src/odb.h +1 -1
- data/vendor/libgit2/src/odb_loose.c +68 -68
- data/vendor/libgit2/src/odb_mempack.c +18 -5
- data/vendor/libgit2/src/odb_pack.c +43 -43
- data/vendor/libgit2/src/oid.c +11 -4
- data/vendor/libgit2/src/oid.h +15 -0
- data/vendor/libgit2/src/pack-objects.c +41 -26
- data/vendor/libgit2/src/pack-objects.h +11 -6
- data/vendor/libgit2/src/pack.c +10 -10
- data/vendor/libgit2/src/patch.c +3 -3
- data/vendor/libgit2/src/patch.h +1 -0
- data/vendor/libgit2/src/patch_generate.c +27 -11
- data/vendor/libgit2/src/patch_generate.h +5 -5
- data/vendor/libgit2/src/patch_parse.c +24 -24
- data/vendor/libgit2/src/path.c +76 -1951
- data/vendor/libgit2/src/path.h +34 -741
- data/vendor/libgit2/src/pathspec.c +6 -6
- data/vendor/libgit2/src/pathspec.h +2 -2
- data/vendor/libgit2/src/posix.c +3 -3
- data/vendor/libgit2/src/posix.h +1 -0
- data/vendor/libgit2/src/pqueue.h +1 -1
- data/vendor/libgit2/src/proxy.c +4 -1
- data/vendor/libgit2/src/proxy.h +1 -1
- data/vendor/libgit2/src/push.c +30 -35
- data/vendor/libgit2/src/push.h +4 -16
- data/vendor/libgit2/src/rand.c +226 -0
- data/vendor/libgit2/src/rand.h +37 -0
- data/vendor/libgit2/src/reader.c +8 -8
- data/vendor/libgit2/src/reader.h +2 -2
- data/vendor/libgit2/src/rebase.c +89 -88
- data/vendor/libgit2/src/refdb_fs.c +447 -173
- data/vendor/libgit2/src/refs.c +32 -32
- data/vendor/libgit2/src/refs.h +2 -2
- data/vendor/libgit2/src/refspec.c +32 -37
- data/vendor/libgit2/src/refspec.h +5 -2
- data/vendor/libgit2/src/regexp.c +1 -1
- data/vendor/libgit2/src/remote.c +713 -419
- data/vendor/libgit2/src/remote.h +15 -10
- data/vendor/libgit2/src/repository.c +350 -467
- data/vendor/libgit2/src/repository.h +11 -10
- data/vendor/libgit2/src/reset.c +8 -5
- data/vendor/libgit2/src/revert.c +10 -10
- data/vendor/libgit2/src/revparse.c +48 -35
- data/vendor/libgit2/src/revwalk.c +7 -7
- data/vendor/libgit2/src/signature.c +12 -6
- data/vendor/libgit2/src/signature.h +1 -1
- data/vendor/libgit2/src/sortedcache.c +1 -1
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +36 -37
- data/vendor/libgit2/src/status.c +4 -1
- data/vendor/libgit2/src/{buffer.c → str.c} +157 -151
- data/vendor/libgit2/src/str.h +357 -0
- data/vendor/libgit2/src/streams/mbedtls.c +8 -6
- data/vendor/libgit2/src/streams/openssl_dynamic.h +3 -3
- data/vendor/libgit2/src/submodule.c +171 -159
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +68 -52
- data/vendor/libgit2/src/sysdir.h +15 -10
- data/vendor/libgit2/src/tag.c +29 -27
- data/vendor/libgit2/src/thread.h +3 -3
- data/vendor/libgit2/src/threadstate.c +3 -3
- data/vendor/libgit2/src/threadstate.h +1 -1
- data/vendor/libgit2/src/trace.c +1 -14
- data/vendor/libgit2/src/trace.h +5 -22
- data/vendor/libgit2/src/trailer.c +1 -1
- data/vendor/libgit2/src/transaction.c +1 -1
- data/vendor/libgit2/src/transport.c +10 -10
- data/vendor/libgit2/src/transports/auth.c +7 -9
- data/vendor/libgit2/src/transports/auth.h +2 -3
- data/vendor/libgit2/src/transports/auth_negotiate.c +12 -13
- data/vendor/libgit2/src/transports/auth_ntlm.c +10 -10
- data/vendor/libgit2/src/transports/auth_ntlm.h +0 -1
- data/vendor/libgit2/src/transports/git.c +9 -11
- data/vendor/libgit2/src/transports/http.c +37 -17
- data/vendor/libgit2/src/transports/http.h +2 -3
- data/vendor/libgit2/src/transports/httpclient.c +65 -65
- data/vendor/libgit2/src/transports/local.c +124 -116
- data/vendor/libgit2/src/transports/smart.c +51 -139
- data/vendor/libgit2/src/transports/smart.h +25 -31
- data/vendor/libgit2/src/transports/smart_pkt.c +33 -33
- data/vendor/libgit2/src/transports/smart_protocol.c +57 -39
- data/vendor/libgit2/src/transports/ssh.c +47 -112
- data/vendor/libgit2/src/transports/winhttp.c +50 -56
- data/vendor/libgit2/src/tree-cache.c +5 -5
- data/vendor/libgit2/src/tree-cache.h +2 -2
- data/vendor/libgit2/src/tree.c +59 -48
- data/vendor/libgit2/src/tree.h +1 -1
- data/vendor/libgit2/src/unix/map.c +0 -2
- data/vendor/libgit2/src/unix/posix.h +1 -4
- data/vendor/libgit2/src/unix/realpath.c +0 -2
- data/vendor/libgit2/src/util.c +14 -14
- data/vendor/libgit2/src/util.h +2 -28
- data/vendor/libgit2/src/vector.h +1 -1
- data/vendor/libgit2/src/win32/findfile.c +172 -116
- data/vendor/libgit2/src/win32/findfile.h +7 -4
- data/vendor/libgit2/src/win32/path_w32.c +140 -9
- data/vendor/libgit2/src/win32/path_w32.h +2 -0
- data/vendor/libgit2/src/win32/posix.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +11 -27
- data/vendor/libgit2/src/win32/w32_buffer.c +2 -3
- data/vendor/libgit2/src/win32/w32_buffer.h +2 -3
- data/vendor/libgit2/src/win32/w32_leakcheck.c +1 -1
- data/vendor/libgit2/src/worktree.c +116 -94
- data/vendor/libgit2/src/worktree.h +1 -1
- data/vendor/libgit2/src/xdiff/git-xdiff.h +53 -0
- data/vendor/libgit2/src/xdiff/xdiff.h +15 -15
- data/vendor/libgit2/src/xdiff/xdiffi.c +134 -108
- data/vendor/libgit2/src/xdiff/xemit.c +23 -7
- data/vendor/libgit2/src/xdiff/xhistogram.c +87 -78
- data/vendor/libgit2/src/xdiff/xinclude.h +1 -12
- data/vendor/libgit2/src/xdiff/xmerge.c +104 -117
- data/vendor/libgit2/src/xdiff/xpatience.c +6 -17
- data/vendor/libgit2/src/xdiff/xprepare.c +15 -20
- data/vendor/libgit2/src/xdiff/xutils.c +18 -7
- data/vendor/libgit2/src/zstream.c +5 -5
- data/vendor/libgit2/src/zstream.h +4 -4
- metadata +25 -10
- data/vendor/libgit2/src/buffer.h +0 -374
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
|
|
1
|
+
include(SanitizeBool)
|
|
2
2
|
|
|
3
3
|
# We try to find any packages our backends might use
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
find_package(GSSAPI)
|
|
5
|
+
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
6
|
+
include(FindGSSFramework)
|
|
7
|
+
endif()
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
if(USE_GSSAPI)
|
|
10
10
|
# Auto-select GSS backend
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
sanitizebool(USE_GSSAPI)
|
|
12
|
+
if(USE_GSSAPI STREQUAL ON)
|
|
13
|
+
if(GSSFRAMEWORK_FOUND)
|
|
14
|
+
set(USE_GSSAPI "GSS.framework")
|
|
15
|
+
elseif(GSSAPI_FOUND)
|
|
16
|
+
set(USE_GSSAPI "gssapi")
|
|
17
|
+
else()
|
|
18
|
+
message(FATAL_ERROR "Unable to autodetect a usable GSS backend."
|
|
19
19
|
"Please pass the backend name explicitly (-DUSE_GSS=backend)")
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
endif()
|
|
21
|
+
endif()
|
|
22
22
|
|
|
23
23
|
# Check that we can find what's required for the selected backend
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
if(USE_GSSAPI STREQUAL "GSS.framework")
|
|
25
|
+
if(NOT GSSFRAMEWORK_FOUND)
|
|
26
|
+
message(FATAL_ERROR "Asked for GSS.framework backend, but it wasn't found")
|
|
27
|
+
endif()
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSFRAMEWORK_LIBRARIES})
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
set(GIT_GSSFRAMEWORK 1)
|
|
32
|
+
add_feature_info(SPNEGO GIT_GSSFRAMEWORK "SPNEGO authentication support (${USE_GSSAPI})")
|
|
33
|
+
elseif(USE_GSSAPI STREQUAL "gssapi")
|
|
34
|
+
if(NOT GSSAPI_FOUND)
|
|
35
|
+
message(FATAL_ERROR "Asked for gssapi GSS backend, but it wasn't found")
|
|
36
|
+
endif()
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSAPI_LIBRARIES})
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
set(GIT_GSSAPI 1)
|
|
41
|
+
add_feature_info(SPNEGO GIT_GSSAPI "SPNEGO authentication support (${USE_GSSAPI})")
|
|
42
|
+
else()
|
|
43
|
+
message(FATAL_ERROR "Asked for backend ${USE_GSSAPI} but it wasn't found")
|
|
44
|
+
endif()
|
|
45
|
+
else()
|
|
46
|
+
set(GIT_GSSAPI 0)
|
|
47
|
+
add_feature_info(SPNEGO NO "SPNEGO authentication support")
|
|
48
|
+
endif()
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Optional external dependency: http-parser
|
|
2
|
+
if(USE_HTTP_PARSER STREQUAL "system")
|
|
3
|
+
find_package(HTTPParser)
|
|
4
|
+
|
|
5
|
+
if(HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
|
|
6
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
|
|
7
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${HTTP_PARSER_LIBRARIES})
|
|
8
|
+
list(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
|
|
9
|
+
add_feature_info(http-parser ON "http-parser support (system)")
|
|
10
|
+
else()
|
|
11
|
+
message(FATAL_ERROR "http-parser support was requested but not found")
|
|
12
|
+
endif()
|
|
13
|
+
else()
|
|
14
|
+
message(STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources.")
|
|
15
|
+
add_subdirectory("${PROJECT_SOURCE_DIR}/deps/http-parser" "${PROJECT_BINARY_DIR}/deps/http-parser")
|
|
16
|
+
list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/http-parser")
|
|
17
|
+
list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:http-parser>")
|
|
18
|
+
add_feature_info(http-parser ON "http-parser support (bundled)")
|
|
19
|
+
endif()
|
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
|
|
1
|
+
include(SanitizeBool)
|
|
2
2
|
|
|
3
3
|
# We try to find any packages our backends might use
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
find_package(OpenSSL)
|
|
5
|
+
find_package(mbedTLS)
|
|
6
|
+
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
7
|
+
find_package(Security)
|
|
8
|
+
find_package(CoreFoundation)
|
|
9
|
+
endif()
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
if(USE_HTTPS)
|
|
12
12
|
# Auto-select TLS backend
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
13
|
+
sanitizebool(USE_HTTPS)
|
|
14
|
+
if(USE_HTTPS STREQUAL ON)
|
|
15
|
+
if(SECURITY_FOUND)
|
|
16
|
+
if(SECURITY_HAS_SSLCREATECONTEXT)
|
|
17
|
+
set(USE_HTTPS "SecureTransport")
|
|
18
|
+
else()
|
|
19
|
+
message(STATUS "Security framework is too old, falling back to OpenSSL")
|
|
20
|
+
set(USE_HTTPS "OpenSSL")
|
|
21
|
+
endif()
|
|
22
|
+
elseif(USE_WINHTTP)
|
|
23
|
+
set(USE_HTTPS "WinHTTP")
|
|
24
|
+
elseif(OPENSSL_FOUND)
|
|
25
|
+
set(USE_HTTPS "OpenSSL")
|
|
26
|
+
elseif(MBEDTLS_FOUND)
|
|
27
|
+
set(USE_HTTPS "mbedTLS")
|
|
28
|
+
else()
|
|
29
|
+
message(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
|
|
30
30
|
"Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
endif()
|
|
32
|
+
endif()
|
|
33
33
|
|
|
34
34
|
# Check that we can find what's required for the selected backend
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
if(USE_HTTPS STREQUAL "SecureTransport")
|
|
36
|
+
if(NOT COREFOUNDATION_FOUND)
|
|
37
|
+
message(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found")
|
|
38
|
+
endif()
|
|
39
|
+
if(NOT SECURITY_FOUND)
|
|
40
|
+
message(FATAL_ERROR "Cannot use SecureTransport backend, Security.framework not found")
|
|
41
|
+
endif()
|
|
42
|
+
if(NOT SECURITY_HAS_SSLCREATECONTEXT)
|
|
43
|
+
message(FATAL_ERROR "Cannot use SecureTransport backend, SSLCreateContext not supported")
|
|
44
|
+
endif()
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
set(GIT_SECURE_TRANSPORT 1)
|
|
47
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
|
|
48
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
|
|
49
|
+
list(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
|
|
50
|
+
elseif(USE_HTTPS STREQUAL "OpenSSL")
|
|
51
|
+
if(NOT OPENSSL_FOUND)
|
|
52
|
+
message(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
|
|
53
|
+
endif()
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
set(GIT_OPENSSL 1)
|
|
56
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
|
|
57
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${OPENSSL_LIBRARIES})
|
|
58
|
+
list(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
|
|
59
|
+
list(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
|
60
|
+
elseif(USE_HTTPS STREQUAL "mbedTLS")
|
|
61
|
+
if(NOT MBEDTLS_FOUND)
|
|
62
|
+
message(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
|
|
63
|
+
endif()
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
if(NOT CERT_LOCATION)
|
|
66
|
+
message(STATUS "Auto-detecting default certificates location")
|
|
67
|
+
if(CMAKE_SYSTEM_NAME MATCHES Darwin)
|
|
68
68
|
# Check for an Homebrew installation
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
set(OPENSSL_CMD "/usr/local/opt/openssl/bin/openssl")
|
|
70
|
+
else()
|
|
71
|
+
set(OPENSSL_CMD "openssl")
|
|
72
|
+
endif()
|
|
73
|
+
execute_process(COMMAND ${OPENSSL_CMD} version -d OUTPUT_VARIABLE OPENSSL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
74
|
+
if(OPENSSL_DIR)
|
|
75
|
+
string(REGEX REPLACE "^OPENSSLDIR: \"(.*)\"$" "\\1/" OPENSSL_DIR ${OPENSSL_DIR})
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
set(OPENSSL_CA_LOCATIONS
|
|
78
78
|
"ca-bundle.pem" # OpenSUSE Leap 42.1
|
|
79
79
|
"cert.pem" # Ubuntu 14.04, FreeBSD
|
|
80
80
|
"certs/ca-certificates.crt" # Ubuntu 16.04
|
|
81
81
|
"certs/ca.pem" # Debian 7
|
|
82
82
|
)
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
83
|
+
foreach(SUFFIX IN LISTS OPENSSL_CA_LOCATIONS)
|
|
84
|
+
set(LOC "${OPENSSL_DIR}${SUFFIX}")
|
|
85
|
+
if(NOT CERT_LOCATION AND EXISTS "${OPENSSL_DIR}${SUFFIX}")
|
|
86
|
+
set(CERT_LOCATION ${LOC})
|
|
87
|
+
endif()
|
|
88
|
+
endforeach()
|
|
89
|
+
else()
|
|
90
|
+
message(FATAL_ERROR "Unable to find OpenSSL executable. Please provide default certificate location via CERT_LOCATION")
|
|
91
|
+
endif()
|
|
92
|
+
endif()
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
if(CERT_LOCATION)
|
|
95
|
+
if(NOT EXISTS ${CERT_LOCATION})
|
|
96
|
+
message(FATAL_ERROR "Cannot use CERT_LOCATION=${CERT_LOCATION} as it doesn't exist")
|
|
97
|
+
endif()
|
|
98
|
+
add_feature_info(CERT_LOCATION ON "using certificates from ${CERT_LOCATION}")
|
|
99
|
+
add_definitions(-DGIT_DEFAULT_CERT_LOCATION="${CERT_LOCATION}")
|
|
100
|
+
endif()
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
set(GIT_MBEDTLS 1)
|
|
103
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
|
104
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${MBEDTLS_LIBRARIES})
|
|
105
105
|
# mbedTLS has no pkgconfig file, hence we can't require it
|
|
106
106
|
# https://github.com/ARMmbed/mbedtls/issues/228
|
|
107
107
|
# For now, pass its link flags as our own
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
list(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
|
109
|
+
elseif(USE_HTTPS STREQUAL "WinHTTP")
|
|
110
110
|
# WinHTTP setup was handled in the WinHTTP-specific block above
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
111
|
+
elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
|
|
112
|
+
set(GIT_OPENSSL 1)
|
|
113
|
+
set(GIT_OPENSSL_DYNAMIC 1)
|
|
114
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS dl)
|
|
115
|
+
else()
|
|
116
|
+
message(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
|
|
117
|
+
endif()
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
set(GIT_HTTPS 1)
|
|
120
|
+
add_feature_info(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
|
|
121
|
+
else()
|
|
122
|
+
set(GIT_HTTPS 0)
|
|
123
|
+
add_feature_info(HTTPS NO "")
|
|
124
|
+
endif()
|
|
@@ -1,62 +1,52 @@
|
|
|
1
1
|
# Select a hash backend
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
include(SanitizeBool)
|
|
4
4
|
|
|
5
5
|
# USE_SHA1=CollisionDetection(ON)/HTTPS/Generic/OFF
|
|
6
|
+
sanitizebool(USE_SHA1)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
IF(USE_SHA1 STREQUAL ON)
|
|
8
|
+
if(USE_SHA1 STREQUAL ON)
|
|
9
9
|
SET(USE_SHA1 "CollisionDetection")
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
elseif(USE_SHA1 STREQUAL "HTTPS")
|
|
11
|
+
if(USE_HTTPS STREQUAL "SecureTransport")
|
|
12
|
+
set(USE_SHA1 "CommonCrypto")
|
|
13
|
+
elseif(USE_HTTPS STREQUAL "WinHTTP")
|
|
14
|
+
set(USE_SHA1 "Win32")
|
|
15
|
+
elseif(USE_HTTPS)
|
|
16
|
+
set(USE_SHA1 ${USE_HTTPS})
|
|
17
|
+
else()
|
|
18
|
+
set(USE_SHA1 "CollisionDetection")
|
|
19
|
+
endif()
|
|
20
|
+
endif()
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
ELSEIF(USE_SHA1 STREQUAL "OpenSSL")
|
|
22
|
+
if(USE_SHA1 STREQUAL "CollisionDetection")
|
|
23
|
+
set(GIT_SHA1_COLLISIONDETECT 1)
|
|
24
|
+
add_definitions(-DSHA1DC_NO_STANDARD_INCLUDES=1)
|
|
25
|
+
add_definitions(-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\")
|
|
26
|
+
add_definitions(-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\")
|
|
27
|
+
elseif(USE_SHA1 STREQUAL "OpenSSL")
|
|
29
28
|
# OPENSSL_FOUND should already be set, we're checking USE_HTTPS
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
FILE(GLOB SRC_SHA1 hash/sha1/mbedtls.*)
|
|
44
|
-
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
|
45
|
-
LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
|
|
30
|
+
set(GIT_SHA1_OPENSSL 1)
|
|
31
|
+
if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
32
|
+
list(APPEND LIBGIT2_PC_LIBS "-lssl")
|
|
33
|
+
else()
|
|
34
|
+
list(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
|
35
|
+
endif()
|
|
36
|
+
elseif(USE_SHA1 STREQUAL "CommonCrypto")
|
|
37
|
+
set(GIT_SHA1_COMMON_CRYPTO 1)
|
|
38
|
+
elseif(USE_SHA1 STREQUAL "mbedTLS")
|
|
39
|
+
set(GIT_SHA1_MBEDTLS 1)
|
|
40
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
|
41
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${MBEDTLS_LIBRARIES})
|
|
46
42
|
# mbedTLS has no pkgconfig file, hence we can't require it
|
|
47
43
|
# https://github.com/ARMmbed/mbedtls/issues/228
|
|
48
44
|
# For now, pass its link flags as our own
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
ELSE()
|
|
56
|
-
MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
|
|
57
|
-
ENDIF()
|
|
45
|
+
list(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
|
46
|
+
elseif(USE_SHA1 STREQUAL "Win32")
|
|
47
|
+
set(GIT_SHA1_WIN32 1)
|
|
48
|
+
elseif(NOT (USE_SHA1 STREQUAL "Generic"))
|
|
49
|
+
message(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
|
|
50
|
+
endif()
|
|
58
51
|
|
|
59
|
-
|
|
60
|
-
list(SORT SRC_SHA1)
|
|
61
|
-
|
|
62
|
-
ADD_FEATURE_INFO(SHA ON "using ${USE_SHA1}")
|
|
52
|
+
add_feature_info(SHA ON "using ${USE_SHA1}")
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Specify regular expression implementation
|
|
2
|
+
find_package(PCRE)
|
|
3
|
+
|
|
4
|
+
if(REGEX_BACKEND STREQUAL "")
|
|
5
|
+
check_symbol_exists(regcomp_l "regex.h;xlocale.h" HAVE_REGCOMP_L)
|
|
6
|
+
|
|
7
|
+
if(HAVE_REGCOMP_L)
|
|
8
|
+
set(REGEX_BACKEND "regcomp_l")
|
|
9
|
+
elseif(PCRE_FOUND)
|
|
10
|
+
set(REGEX_BACKEND "pcre")
|
|
11
|
+
else()
|
|
12
|
+
set(REGEX_BACKEND "builtin")
|
|
13
|
+
endif()
|
|
14
|
+
endif()
|
|
15
|
+
|
|
16
|
+
if(REGEX_BACKEND STREQUAL "regcomp_l")
|
|
17
|
+
add_feature_info(regex ON "using system regcomp_l")
|
|
18
|
+
set(GIT_REGEX_REGCOMP_L 1)
|
|
19
|
+
elseif(REGEX_BACKEND STREQUAL "pcre2")
|
|
20
|
+
find_package(PCRE2)
|
|
21
|
+
|
|
22
|
+
if(NOT PCRE2_FOUND)
|
|
23
|
+
MESSAGE(FATAL_ERROR "PCRE2 support was requested but not found")
|
|
24
|
+
endif()
|
|
25
|
+
|
|
26
|
+
add_feature_info(regex ON "using system PCRE2")
|
|
27
|
+
set(GIT_REGEX_PCRE2 1)
|
|
28
|
+
|
|
29
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE2_INCLUDE_DIRS})
|
|
30
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${PCRE2_LIBRARIES})
|
|
31
|
+
list(APPEND LIBGIT2_PC_REQUIRES "libpcre2-8")
|
|
32
|
+
elseif(REGEX_BACKEND STREQUAL "pcre")
|
|
33
|
+
add_feature_info(regex ON "using system PCRE")
|
|
34
|
+
set(GIT_REGEX_PCRE 1)
|
|
35
|
+
|
|
36
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE_INCLUDE_DIRS})
|
|
37
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${PCRE_LIBRARIES})
|
|
38
|
+
list(APPEND LIBGIT2_PC_REQUIRES "libpcre")
|
|
39
|
+
elseif(REGEX_BACKEND STREQUAL "regcomp")
|
|
40
|
+
add_feature_info(regex ON "using system regcomp")
|
|
41
|
+
set(GIT_REGEX_REGCOMP 1)
|
|
42
|
+
elseif(REGEX_BACKEND STREQUAL "builtin")
|
|
43
|
+
add_feature_info(regex ON "using bundled PCRE")
|
|
44
|
+
set(GIT_REGEX_BUILTIN 1)
|
|
45
|
+
|
|
46
|
+
add_subdirectory("${PROJECT_SOURCE_DIR}/deps/pcre" "${PROJECT_BINARY_DIR}/deps/pcre")
|
|
47
|
+
list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/pcre")
|
|
48
|
+
list(APPEND LIBGIT2_DEPENDENCY_OBJECTS $<TARGET_OBJECTS:pcre>)
|
|
49
|
+
else()
|
|
50
|
+
message(FATAL_ERROR "The REGEX_BACKEND option provided is not supported")
|
|
51
|
+
endif()
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Optional external dependency: libssh2
|
|
2
|
+
if(USE_SSH)
|
|
3
|
+
find_pkglibraries(LIBSSH2 libssh2)
|
|
4
|
+
if(NOT LIBSSH2_FOUND)
|
|
5
|
+
find_package(LibSSH2)
|
|
6
|
+
set(LIBSSH2_INCLUDE_DIRS ${LIBSSH2_INCLUDE_DIR})
|
|
7
|
+
get_filename_component(LIBSSH2_LIBRARY_DIRS "${LIBSSH2_LIBRARY}" DIRECTORY)
|
|
8
|
+
set(LIBSSH2_LIBRARIES ${LIBSSH2_LIBRARY})
|
|
9
|
+
set(LIBSSH2_LDFLAGS "-lssh2")
|
|
10
|
+
endif()
|
|
11
|
+
|
|
12
|
+
if(NOT LIBSSH2_FOUND)
|
|
13
|
+
message(FATAL_ERROR "LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.")
|
|
14
|
+
endif()
|
|
15
|
+
endif()
|
|
16
|
+
|
|
17
|
+
if(LIBSSH2_FOUND)
|
|
18
|
+
set(GIT_SSH 1)
|
|
19
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${LIBSSH2_INCLUDE_DIRS})
|
|
20
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${LIBSSH2_LIBRARIES})
|
|
21
|
+
list(APPEND LIBGIT2_PC_LIBS ${LIBSSH2_LDFLAGS})
|
|
22
|
+
|
|
23
|
+
check_library_exists("${LIBSSH2_LIBRARIES}" libssh2_userauth_publickey_frommemory "${LIBSSH2_LIBRARY_DIRS}" HAVE_LIBSSH2_MEMORY_CREDENTIALS)
|
|
24
|
+
if(HAVE_LIBSSH2_MEMORY_CREDENTIALS)
|
|
25
|
+
set(GIT_SSH_MEMORY_CREDENTIALS 1)
|
|
26
|
+
endif()
|
|
27
|
+
else()
|
|
28
|
+
message(STATUS "LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.")
|
|
29
|
+
endif()
|
|
30
|
+
|
|
31
|
+
if(WIN32 AND EMBED_SSH_PATH)
|
|
32
|
+
file(GLOB SSH_SRC "${EMBED_SSH_PATH}/src/*.c")
|
|
33
|
+
list(SORT SSH_SRC)
|
|
34
|
+
list(APPEND LIBGIT2_DEPENDENCY_OBJECTS ${SSH_SRC})
|
|
35
|
+
|
|
36
|
+
list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${EMBED_SSH_PATH}/include")
|
|
37
|
+
file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
|
|
38
|
+
set(GIT_SSH 1)
|
|
39
|
+
endif()
|
|
40
|
+
|
|
41
|
+
add_feature_info(SSH GIT_SSH "SSH transport support")
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
if(WIN32 AND USE_WINHTTP)
|
|
2
|
+
set(GIT_WINHTTP 1)
|
|
3
|
+
|
|
4
|
+
# Since MinGW does not come with headers or an import library for winhttp,
|
|
5
|
+
# we have to include a private header and generate our own import library
|
|
6
|
+
if(MINGW)
|
|
7
|
+
add_subdirectory("${PROJECT_SOURCE_DIR}/deps/winhttp" "${PROJECT_BINARY_DIR}/deps/winhttp")
|
|
8
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS winhttp)
|
|
9
|
+
list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/winhttp")
|
|
10
|
+
else()
|
|
11
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS "winhttp")
|
|
12
|
+
list(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
|
|
13
|
+
endif()
|
|
14
|
+
|
|
15
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
|
|
16
|
+
list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
|
|
17
|
+
endif()
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Optional external dependency: zlib
|
|
2
|
+
include(SanitizeBool)
|
|
3
|
+
|
|
4
|
+
SanitizeBool(USE_BUNDLED_ZLIB)
|
|
5
|
+
if(USE_BUNDLED_ZLIB STREQUAL ON)
|
|
6
|
+
set(USE_BUNDLED_ZLIB "Bundled")
|
|
7
|
+
endif()
|
|
8
|
+
|
|
9
|
+
if(USE_BUNDLED_ZLIB STREQUAL "OFF")
|
|
10
|
+
find_package(ZLIB)
|
|
11
|
+
if(ZLIB_FOUND)
|
|
12
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${ZLIB_INCLUDE_DIRS})
|
|
13
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${ZLIB_LIBRARIES})
|
|
14
|
+
if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
15
|
+
list(APPEND LIBGIT2_PC_LIBS "-lz")
|
|
16
|
+
else()
|
|
17
|
+
list(APPEND LIBGIT2_PC_REQUIRES "zlib")
|
|
18
|
+
endif()
|
|
19
|
+
add_feature_info(zlib ON "using system zlib")
|
|
20
|
+
else()
|
|
21
|
+
message(STATUS "zlib was not found; using bundled 3rd-party sources." )
|
|
22
|
+
endif()
|
|
23
|
+
endif()
|
|
24
|
+
if(USE_BUNDLED_ZLIB STREQUAL "Chromium")
|
|
25
|
+
add_subdirectory("${PROJECT_SOURCE_DIR}/deps/chromium-zlib" "${PROJECT_BINARY_DIR}/deps/chromium-zlib")
|
|
26
|
+
list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/chromium-zlib")
|
|
27
|
+
list(APPEND LIBGIT2_DEPENDENCY_OBJECTS $<TARGET_OBJECTS:chromium_zlib>)
|
|
28
|
+
add_feature_info(zlib ON "using (Chromium) bundled zlib")
|
|
29
|
+
elseif(USE_BUNDLED_ZLIB OR NOT ZLIB_FOUND)
|
|
30
|
+
add_subdirectory("${PROJECT_SOURCE_DIR}/deps/zlib" "${PROJECT_BINARY_DIR}/deps/zlib")
|
|
31
|
+
list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/zlib")
|
|
32
|
+
list(APPEND LIBGIT2_DEPENDENCY_OBJECTS $<TARGET_OBJECTS:zlib>)
|
|
33
|
+
add_feature_info(zlib ON "using bundled zlib")
|
|
34
|
+
endif()
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
# TODO: The Chromium build file (in deps/chromium-zlib/zlib/BUILD.gn) supports
|
|
5
5
|
# more platforms (like ARM with NEON), more can be enabled as needed.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
cmake_minimum_required(VERSION 3.11)
|
|
8
8
|
|
|
9
9
|
include(FetchContent)
|
|
10
10
|
include(FindGit)
|
|
11
11
|
|
|
12
12
|
# Ensure that the git binary is present to download the sources.
|
|
13
13
|
find_package(Git)
|
|
14
|
-
|
|
14
|
+
if(NOT Git_FOUND)
|
|
15
15
|
message(FATAL_ERROR "git is required to download the Chromium zlib sources")
|
|
16
|
-
|
|
16
|
+
endif()
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
fetchcontent_populate(chromium_zlib_src
|
|
19
19
|
GIT_REPOSITORY https://chromium.googlesource.com/chromium/src/third_party/zlib.git
|
|
20
20
|
GIT_TAG 2c183c9f93a328bfb3121284da13cf89a0f7e64a
|
|
21
21
|
QUIET
|
|
@@ -31,8 +31,8 @@ disable_warnings(missing-declarations)
|
|
|
31
31
|
|
|
32
32
|
# -O3 is also set by the Chromium configuration and has been deemed safe enough
|
|
33
33
|
# for them.
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG")
|
|
35
|
+
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
|
|
36
36
|
|
|
37
37
|
# Common definitions.
|
|
38
38
|
add_definitions(
|