rugged 1.3.2 → 1.6.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/README.md +34 -2
- data/ext/rugged/extconf.rb +7 -4
- data/ext/rugged/rugged.c +16 -0
- data/ext/rugged/rugged.h +4 -0
- data/ext/rugged/rugged_blame.c +2 -0
- data/ext/rugged/rugged_blob.c +3 -0
- data/ext/rugged/rugged_commit.c +1 -0
- data/ext/rugged/rugged_config.c +9 -2
- data/ext/rugged/rugged_diff.c +1 -0
- data/ext/rugged/rugged_index.c +2 -0
- data/ext/rugged/rugged_patch.c +1 -0
- data/ext/rugged/rugged_rebase.c +1 -0
- data/ext/rugged/rugged_reference.c +1 -0
- data/ext/rugged/rugged_remote.c +28 -10
- data/ext/rugged/rugged_repo.c +7 -9
- data/ext/rugged/rugged_revwalk.c +5 -1
- data/ext/rugged/rugged_settings.c +5 -0
- data/ext/rugged/rugged_submodule.c +1 -0
- data/ext/rugged/rugged_tag.c +1 -0
- data/ext/rugged/rugged_tree.c +4 -0
- data/lib/rugged/index.rb +1 -1
- data/lib/rugged/tree.rb +5 -1
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +132 -288
- data/vendor/libgit2/COPYING +106 -19
- data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
- data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
- data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
- data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
- data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
- 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 +12 -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 +91 -53
- 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 +33 -31
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +3 -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 +7 -0
- data/vendor/libgit2/deps/zlib/crc32.c +975 -288
- data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
- data/vendor/libgit2/deps/zlib/deflate.c +83 -31
- data/vendor/libgit2/deps/zlib/deflate.h +12 -15
- data/vendor/libgit2/deps/zlib/gzguts.h +3 -2
- data/vendor/libgit2/deps/zlib/infback.c +2 -1
- data/vendor/libgit2/deps/zlib/inffast.c +14 -14
- data/vendor/libgit2/deps/zlib/inflate.c +39 -8
- data/vendor/libgit2/deps/zlib/inflate.h +3 -2
- data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
- data/vendor/libgit2/deps/zlib/trees.c +27 -48
- data/vendor/libgit2/deps/zlib/zlib.h +126 -100
- data/vendor/libgit2/deps/zlib/zutil.c +2 -2
- data/vendor/libgit2/deps/zlib/zutil.h +12 -9
- 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 +4 -2
- 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 +28 -7
- data/vendor/libgit2/include/git2/config.h +25 -9
- 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 +9 -1
- data/vendor/libgit2/include/git2/describe.h +7 -2
- data/vendor/libgit2/include/git2/diff.h +18 -10
- data/vendor/libgit2/include/git2/email.h +1 -1
- data/vendor/libgit2/include/git2/errors.h +17 -3
- data/vendor/libgit2/include/git2/experimental.h +20 -0
- 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 +48 -0
- data/vendor/libgit2/include/git2/merge.h +24 -4
- data/vendor/libgit2/include/git2/message.h +2 -0
- data/vendor/libgit2/include/git2/object.h +49 -0
- data/vendor/libgit2/include/git2/odb.h +94 -13
- data/vendor/libgit2/include/git2/odb_backend.h +107 -19
- data/vendor/libgit2/include/git2/oid.h +115 -15
- 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 +34 -10
- 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 +61 -7
- data/vendor/libgit2/include/git2/status.h +14 -5
- data/vendor/libgit2/include/git2/strarray.h +0 -13
- 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 +3 -6
- data/vendor/libgit2/include/git2/sys/remote.h +46 -0
- data/vendor/libgit2/include/git2/sys/stream.h +1 -1
- data/vendor/libgit2/include/git2/sys/transport.h +46 -39
- 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 +27 -6
- data/vendor/libgit2/include/git2/worktree.h +12 -2
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +177 -419
- data/vendor/libgit2/src/README.md +12 -0
- data/vendor/libgit2/src/cli/CMakeLists.txt +57 -0
- data/vendor/libgit2/src/cli/README.md +26 -0
- data/vendor/libgit2/src/cli/cli.h +20 -0
- data/vendor/libgit2/src/cli/cmd.c +21 -0
- data/vendor/libgit2/src/cli/cmd.h +33 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +204 -0
- data/vendor/libgit2/src/cli/cmd_clone.c +176 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +154 -0
- data/vendor/libgit2/src/cli/cmd_help.c +86 -0
- data/vendor/libgit2/src/cli/error.h +51 -0
- data/vendor/libgit2/src/cli/main.c +106 -0
- data/vendor/libgit2/src/cli/opt.c +669 -0
- data/vendor/libgit2/src/cli/opt.h +349 -0
- data/vendor/libgit2/src/cli/opt_usage.c +194 -0
- data/vendor/libgit2/src/cli/opt_usage.h +35 -0
- data/vendor/libgit2/src/cli/progress.c +345 -0
- data/vendor/libgit2/src/cli/progress.h +117 -0
- data/vendor/libgit2/src/cli/sighandler.h +20 -0
- data/vendor/libgit2/src/cli/unix/sighandler.c +36 -0
- data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
- data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +141 -0
- data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +1 -1
- data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
- data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +18 -18
- data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
- data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +18 -18
- data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +18 -18
- data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +4 -4
- data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +18 -13
- data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +2 -0
- data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -1
- data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
- data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
- data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
- data/vendor/libgit2/src/{branch.h → libgit2/branch.h} +15 -3
- data/vendor/libgit2/src/libgit2/buf.c +126 -0
- data/vendor/libgit2/src/libgit2/buf.h +50 -0
- data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +74 -68
- data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +13 -13
- data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +96 -67
- data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +178 -73
- data/vendor/libgit2/src/libgit2/commit.h +87 -0
- data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +122 -89
- data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +14 -4
- data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +7 -4
- data/vendor/libgit2/src/libgit2/common.h +55 -0
- data/vendor/libgit2/src/{config.c → libgit2/config.c} +101 -69
- data/vendor/libgit2/src/{config.h → libgit2/config.h} +15 -2
- data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +105 -93
- data/vendor/libgit2/src/{config_mem.c → libgit2/config_mem.c} +9 -9
- data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +27 -23
- data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
- data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +35 -27
- data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +30 -9
- data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +2 -4
- data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +34 -36
- data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +3 -3
- data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +44 -26
- data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +47 -18
- data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
- data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +112 -100
- data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
- data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
- data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +13 -8
- data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
- data/vendor/libgit2/src/{email.c → libgit2/email.c} +55 -39
- data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
- data/vendor/libgit2/src/{errors.c → libgit2/errors.c} +18 -18
- data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
- data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
- data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +72 -27
- data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -1
- data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +23 -23
- data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +127 -53
- data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
- data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
- data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +35 -34
- data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
- data/vendor/libgit2/src/{index.c → libgit2/index.c} +91 -90
- data/vendor/libgit2/src/{index.h → libgit2/index.h} +6 -3
- data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +173 -92
- data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +71 -61
- data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +5 -5
- data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +46 -11
- data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +38 -36
- data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +30 -30
- data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
- data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +2 -2
- data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -3
- data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
- data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +112 -92
- data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +5 -4
- data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +15 -12
- data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +5 -2
- data/vendor/libgit2/src/{netops.c → libgit2/netops.c} +1 -2
- data/vendor/libgit2/src/{netops.h → libgit2/netops.h} +1 -1
- data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +25 -34
- data/vendor/libgit2/src/{object.c → libgit2/object.c} +135 -30
- data/vendor/libgit2/src/{object.h → libgit2/object.h} +12 -3
- data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +228 -81
- data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
- data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
- data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +18 -5
- data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +137 -85
- data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +136 -90
- data/vendor/libgit2/src/libgit2/oid.h +273 -0
- data/vendor/libgit2/src/{oidmap.c → libgit2/oidmap.c} +1 -1
- data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +56 -30
- data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +11 -6
- data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +114 -84
- data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +31 -16
- data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +4 -3
- data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
- data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +1 -0
- data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +27 -11
- data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
- data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +29 -29
- data/vendor/libgit2/src/libgit2/path.c +375 -0
- data/vendor/libgit2/src/libgit2/path.h +68 -0
- data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +6 -6
- data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
- data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
- data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
- data/vendor/libgit2/src/{push.c → libgit2/push.c} +43 -38
- data/vendor/libgit2/src/{push.h → libgit2/push.h} +4 -16
- data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
- data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
- data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +119 -107
- data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +506 -197
- data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +7 -5
- data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +1 -2
- data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +34 -32
- data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +2 -2
- data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +32 -37
- data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +5 -2
- data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +718 -420
- data/vendor/libgit2/src/libgit2/remote.h +100 -0
- data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +629 -386
- data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +20 -9
- data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
- data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +14 -14
- data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +71 -42
- data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +12 -8
- data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +12 -6
- data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -1
- data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +235 -61
- data/vendor/libgit2/src/{status.c → libgit2/status.c} +4 -1
- data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
- data/vendor/libgit2/src/libgit2/strarray.h +25 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +8 -6
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +1 -1
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +7 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +3 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/socket.c +4 -1
- data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +177 -161
- data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +1 -1
- data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
- data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +53 -18
- data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +73 -42
- data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
- data/vendor/libgit2/src/{threadstate.c → libgit2/threadstate.c} +3 -3
- data/vendor/libgit2/src/{threadstate.h → libgit2/threadstate.h} +2 -2
- data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
- data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
- data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +1 -1
- data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +1 -1
- data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +10 -10
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +2 -3
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.c +12 -13
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.c +10 -10
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +0 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +9 -11
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +41 -20
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +2 -3
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +75 -66
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +138 -116
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +92 -133
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +35 -32
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +177 -65
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +97 -49
- data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +365 -198
- data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +58 -59
- data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +8 -8
- data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +2 -2
- data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +93 -83
- data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +4 -4
- data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +121 -94
- data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
- data/vendor/libgit2/src/libgit2/xdiff/git-xdiff.h +53 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiff.h +15 -15
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.c +134 -108
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.c +23 -7
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xhistogram.c +87 -78
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xinclude.h +1 -12
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmerge.c +104 -117
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xpatience.c +6 -17
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.c +15 -20
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.c +18 -7
- data/vendor/libgit2/src/util/CMakeLists.txt +80 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{array.h → util/array.h} +1 -1
- data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
- data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +1 -1
- data/vendor/libgit2/src/{date.c → util/date.c} +14 -20
- data/vendor/libgit2/src/util/date.h +33 -0
- data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +29 -29
- data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +2 -2
- data/vendor/libgit2/src/{path.c → util/fs_path.c} +453 -647
- data/vendor/libgit2/src/{path.h → util/fs_path.h} +221 -188
- data/vendor/libgit2/src/{futils.c → util/futils.c} +135 -90
- data/vendor/libgit2/src/{futils.h → util/futils.h} +28 -15
- data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +15 -1
- data/vendor/libgit2/src/{common.h → util/git2_util.h} +20 -59
- data/vendor/libgit2/src/util/hash/builtin.c +53 -0
- data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
- data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
- data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
- data/vendor/libgit2/src/util/hash/openssl.c +195 -0
- data/vendor/libgit2/src/util/hash/openssl.h +45 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
- data/vendor/libgit2/src/util/hash/sha.h +70 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
- data/vendor/libgit2/src/util/hash/win32.c +549 -0
- data/vendor/libgit2/src/util/hash/win32.h +60 -0
- data/vendor/libgit2/src/util/hash.c +158 -0
- data/vendor/libgit2/src/util/hash.h +61 -0
- data/vendor/libgit2/src/{khash.h → util/khash.h} +1 -1
- data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
- data/vendor/libgit2/src/util/net.c +1003 -0
- data/vendor/libgit2/src/{net.h → util/net.h} +18 -4
- data/vendor/libgit2/src/{pool.h → util/pool.h} +1 -1
- data/vendor/libgit2/src/{posix.c → util/posix.c} +3 -3
- data/vendor/libgit2/src/{posix.h → util/posix.h} +4 -1
- data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +2 -2
- data/vendor/libgit2/src/util/rand.c +234 -0
- data/vendor/libgit2/src/util/rand.h +37 -0
- data/vendor/libgit2/src/{regexp.c → util/regexp.c} +4 -4
- data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
- data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
- data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
- data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +1 -1
- data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +2 -2
- data/vendor/libgit2/src/{buffer.c → util/str.c} +157 -151
- data/vendor/libgit2/src/util/str.h +357 -0
- data/vendor/libgit2/src/{strmap.h → util/strmap.h} +1 -1
- data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
- data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
- data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
- data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
- data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -4
- data/vendor/libgit2/src/{unix → util/unix}/realpath.c +1 -3
- data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
- data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
- data/vendor/libgit2/src/{util.c → util/util.c} +15 -15
- data/vendor/libgit2/src/{util.h → util/util.h} +4 -29
- data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
- data/vendor/libgit2/src/{vector.h → util/vector.h} +2 -2
- data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +140 -9
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
- data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
- data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +12 -28
- data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
- data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
- data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
- data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
- metadata +402 -356
- data/vendor/libgit2/src/buffer.h +0 -374
- data/vendor/libgit2/src/commit.h +0 -46
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
- data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
- data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
- data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
- data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
- data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
- data/vendor/libgit2/src/hash/sha1.h +0 -38
- data/vendor/libgit2/src/hash.c +0 -110
- data/vendor/libgit2/src/hash.h +0 -46
- data/vendor/libgit2/src/message.h +0 -17
- data/vendor/libgit2/src/net.c +0 -540
- data/vendor/libgit2/src/oid.h +0 -51
- data/vendor/libgit2/src/remote.h +0 -55
- data/vendor/libgit2/src/sysdir.c +0 -347
- data/vendor/libgit2/src/win32/findfile.c +0 -230
- data/vendor/libgit2/src/win32/findfile.h +0 -19
- /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
- /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
- /data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +0 -0
- /data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +0 -0
- /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
- /data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +0 -0
- /data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +0 -0
- /data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -0
- /data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +0 -0
- /data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +0 -0
- /data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +0 -0
- /data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +0 -0
- /data/vendor/libgit2/src/{config_entries.c → libgit2/config_entries.c} +0 -0
- /data/vendor/libgit2/src/{config_entries.h → libgit2/config_entries.h} +0 -0
- /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
- /data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +0 -0
- /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
- /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
- /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
- /data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +0 -0
- /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
- /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
- /data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +0 -0
- /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
- /data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +0 -0
- /data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +0 -0
- /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
- /data/vendor/libgit2/src/{idxmap.c → libgit2/idxmap.c} +0 -0
- /data/vendor/libgit2/src/{idxmap.h → libgit2/idxmap.h} +0 -0
- /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
- /data/vendor/libgit2/src/{libgit2.h → libgit2/libgit2.h} +0 -0
- /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
- /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
- /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
- /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
- /data/vendor/libgit2/src/{offmap.c → libgit2/offmap.c} +0 -0
- /data/vendor/libgit2/src/{offmap.h → libgit2/offmap.h} +0 -0
- /data/vendor/libgit2/src/{oidarray.c → libgit2/oidarray.c} +0 -0
- /data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +0 -0
- /data/vendor/libgit2/src/{oidmap.h → libgit2/oidmap.h} +0 -0
- /data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +0 -0
- /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
- /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
- /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
- /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
- /data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +0 -0
- /data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +0 -0
- /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
- /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
- /data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.h +0 -0
- /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmacros.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xtypes.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.h +0 -0
- /data/vendor/libgit2/src/{alloc.c → util/alloc.c} +0 -0
- /data/vendor/libgit2/src/{alloc.h → util/alloc.h} +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.c +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.c +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.c +0 -0
- /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
- /data/vendor/libgit2/src/{integer.h → util/integer.h} +0 -0
- /data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
- /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
- /data/vendor/libgit2/src/{strmap.c → util/strmap.c} +0 -0
- /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
- /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
- /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
- /data/vendor/libgit2/src/{vector.c → util/vector.c} +0 -0
- /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/error.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
|
@@ -1,433 +1,191 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
IF(DEBUG_POOL)
|
|
5
|
-
SET(GIT_DEBUG_POOL 1)
|
|
6
|
-
ENDIF()
|
|
7
|
-
ADD_FEATURE_INFO(debugpool GIT_DEBUG_POOL "debug pool allocator")
|
|
8
|
-
|
|
9
|
-
IF(DEBUG_STRICT_ALLOC)
|
|
10
|
-
SET(GIT_DEBUG_STRICT_ALLOC 1)
|
|
11
|
-
ENDIF()
|
|
12
|
-
ADD_FEATURE_INFO(debugalloc GIT_DEBUG_STRICT_ALLOC "debug strict allocators")
|
|
13
|
-
|
|
14
|
-
IF(DEBUG_STRICT_OPEN)
|
|
15
|
-
SET(GIT_DEBUG_STRICT_OPEN 1)
|
|
16
|
-
ENDIF()
|
|
17
|
-
ADD_FEATURE_INFO(debugopen GIT_DEBUG_STRICT_OPEN "path validation in open")
|
|
18
|
-
|
|
19
|
-
INCLUDE(PkgBuildConfig)
|
|
20
|
-
INCLUDE(SanitizeBool)
|
|
21
|
-
|
|
22
|
-
# This variable will contain the libraries we need to put into
|
|
23
|
-
# libgit2.pc's Requires.private. That is, what we're linking to or
|
|
24
|
-
# what someone who's statically linking us needs to link to.
|
|
25
|
-
SET(LIBGIT2_PC_REQUIRES "")
|
|
26
|
-
# This will be set later if we use the system's http-parser library or
|
|
27
|
-
# use iconv (OSX) and will be written to the Libs.private field in the
|
|
28
|
-
# pc file.
|
|
29
|
-
SET(LIBGIT2_PC_LIBS "")
|
|
30
|
-
|
|
31
|
-
SET(LIBGIT2_INCLUDES
|
|
32
|
-
"${CMAKE_CURRENT_BINARY_DIR}"
|
|
33
|
-
"${libgit2_SOURCE_DIR}/src"
|
|
34
|
-
"${libgit2_SOURCE_DIR}/include")
|
|
35
|
-
SET(LIBGIT2_SYSTEM_INCLUDES "")
|
|
36
|
-
SET(LIBGIT2_LIBS "")
|
|
37
|
-
|
|
38
|
-
enable_warnings(missing-declarations)
|
|
39
|
-
|
|
40
|
-
# Enable tracing
|
|
41
|
-
IF(ENABLE_TRACE)
|
|
42
|
-
SET(GIT_TRACE 1)
|
|
43
|
-
ENDIF()
|
|
44
|
-
ADD_FEATURE_INFO(tracing GIT_TRACE "tracing support")
|
|
45
|
-
|
|
46
|
-
IF (HAVE_FUTIMENS)
|
|
47
|
-
SET(GIT_USE_FUTIMENS 1)
|
|
48
|
-
ENDIF ()
|
|
49
|
-
ADD_FEATURE_INFO(futimens GIT_USE_FUTIMENS "futimens support")
|
|
50
|
-
|
|
51
|
-
CHECK_PROTOTYPE_DEFINITION(qsort_r
|
|
52
|
-
"void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, int (*compar)(void *, const void *, const void *))"
|
|
53
|
-
"" "stdlib.h" HAVE_QSORT_R_BSD)
|
|
54
|
-
IF (HAVE_QSORT_R_BSD)
|
|
55
|
-
target_compile_definitions(git2internal PRIVATE HAVE_QSORT_R_BSD)
|
|
56
|
-
ENDIF()
|
|
1
|
+
# The main libgit2 source tree: this CMakeLists.txt identifies platform
|
|
2
|
+
# support and includes the subprojects that make up core libgit2 support.
|
|
57
3
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
CHECK_FUNCTION_EXISTS(qsort_s HAVE_QSORT_S)
|
|
66
|
-
IF (HAVE_QSORT_S)
|
|
67
|
-
target_compile_definitions(git2internal PRIVATE HAVE_QSORT_S)
|
|
68
|
-
ENDIF ()
|
|
69
|
-
|
|
70
|
-
# Find required dependencies
|
|
71
|
-
|
|
72
|
-
IF(WIN32)
|
|
73
|
-
LIST(APPEND LIBGIT2_LIBS ws2_32)
|
|
74
|
-
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
|
|
75
|
-
LIST(APPEND LIBGIT2_LIBS socket nsl)
|
|
76
|
-
LIST(APPEND LIBGIT2_PC_LIBS "-lsocket" "-lnsl")
|
|
77
|
-
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Haiku")
|
|
78
|
-
LIST(APPEND LIBGIT2_LIBS network)
|
|
79
|
-
LIST(APPEND LIBGIT2_PC_LIBS "-lnetwork")
|
|
80
|
-
ENDIF()
|
|
81
|
-
|
|
82
|
-
CHECK_LIBRARY_EXISTS(rt clock_gettime "time.h" NEED_LIBRT)
|
|
83
|
-
IF(NEED_LIBRT)
|
|
84
|
-
LIST(APPEND LIBGIT2_LIBS rt)
|
|
85
|
-
LIST(APPEND LIBGIT2_PC_LIBS "-lrt")
|
|
86
|
-
ENDIF()
|
|
87
|
-
|
|
88
|
-
IF(THREADSAFE)
|
|
89
|
-
LIST(APPEND LIBGIT2_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
|
90
|
-
LIST(APPEND LIBGIT2_PC_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
|
91
|
-
ENDIF()
|
|
92
|
-
ADD_FEATURE_INFO(threadsafe THREADSAFE "threadsafe support")
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if(WIN32 AND EMBED_SSH_PATH)
|
|
96
|
-
file(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c")
|
|
97
|
-
list(SORT SRC_SSH)
|
|
98
|
-
target_sources(git2internal PRIVATE ${SRC_SSH})
|
|
99
|
-
|
|
100
|
-
list(APPEND LIBGIT2_SYSTEM_INCLUDES "${EMBED_SSH_PATH}/include")
|
|
101
|
-
file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
|
|
102
|
-
set(GIT_SSH 1)
|
|
4
|
+
#
|
|
5
|
+
# Optional build configuration settings
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
if(DEPRECATE_HARD)
|
|
9
|
+
add_definitions(-DGIT_DEPRECATE_HARD)
|
|
103
10
|
endif()
|
|
104
11
|
|
|
105
|
-
|
|
106
|
-
|
|
12
|
+
if(USE_LEAK_CHECKER STREQUAL "valgrind")
|
|
13
|
+
add_definitions(-DVALGRIND)
|
|
14
|
+
endif()
|
|
107
15
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/winhttp" "${libgit2_BINARY_DIR}/deps/winhttp")
|
|
112
|
-
LIST(APPEND LIBGIT2_LIBS winhttp)
|
|
113
|
-
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/winhttp")
|
|
114
|
-
ELSE()
|
|
115
|
-
LIST(APPEND LIBGIT2_LIBS "winhttp")
|
|
116
|
-
LIST(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
|
|
117
|
-
ENDIF ()
|
|
16
|
+
#
|
|
17
|
+
# Optional debugging functionality
|
|
18
|
+
#
|
|
118
19
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
20
|
+
if(DEBUG_POOL)
|
|
21
|
+
set(GIT_DEBUG_POOL 1)
|
|
22
|
+
endif()
|
|
23
|
+
add_feature_info(debugpool GIT_DEBUG_POOL "debug pool allocator")
|
|
24
|
+
|
|
25
|
+
if(DEBUG_STRICT_ALLOC)
|
|
26
|
+
set(GIT_DEBUG_STRICT_ALLOC 1)
|
|
27
|
+
endif()
|
|
28
|
+
add_feature_info(debugalloc GIT_DEBUG_STRICT_ALLOC "debug strict allocators")
|
|
122
29
|
|
|
30
|
+
if(DEBUG_STRICT_OPEN)
|
|
31
|
+
set(GIT_DEBUG_STRICT_OPEN 1)
|
|
32
|
+
endif()
|
|
33
|
+
add_feature_info(debugopen GIT_DEBUG_STRICT_OPEN "path validation in open")
|
|
34
|
+
|
|
35
|
+
#
|
|
36
|
+
# Optional feature enablement
|
|
37
|
+
#
|
|
38
|
+
|
|
39
|
+
include(SelectGSSAPI)
|
|
123
40
|
include(SelectHTTPSBackend)
|
|
124
41
|
include(SelectHashes)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
SET(GIT_REGEX_REGCOMP 1)
|
|
168
|
-
ELSEIF(REGEX_BACKEND STREQUAL "builtin")
|
|
169
|
-
ADD_FEATURE_INFO(regex ON "using bundled PCRE")
|
|
170
|
-
SET(GIT_REGEX_BUILTIN 1)
|
|
171
|
-
|
|
172
|
-
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/pcre" "${libgit2_BINARY_DIR}/deps/pcre")
|
|
173
|
-
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/pcre")
|
|
174
|
-
LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:pcre>)
|
|
175
|
-
ELSE()
|
|
176
|
-
MESSAGE(FATAL_ERROR "The REGEX_BACKEND option provided is not supported")
|
|
177
|
-
ENDIF()
|
|
178
|
-
|
|
179
|
-
# Optional external dependency: http-parser
|
|
180
|
-
IF(USE_HTTP_PARSER STREQUAL "system")
|
|
181
|
-
FIND_PACKAGE(HTTP_Parser)
|
|
182
|
-
|
|
183
|
-
IF (HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
|
|
184
|
-
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
|
|
185
|
-
LIST(APPEND LIBGIT2_LIBS ${HTTP_PARSER_LIBRARIES})
|
|
186
|
-
LIST(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
|
|
187
|
-
ADD_FEATURE_INFO(http-parser ON "http-parser support (system)")
|
|
188
|
-
ELSE()
|
|
189
|
-
MESSAGE(FATAL_ERROR "http-parser support was requested but not found")
|
|
190
|
-
ENDIF()
|
|
191
|
-
ELSE()
|
|
192
|
-
MESSAGE(STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources.")
|
|
193
|
-
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/http-parser" "${libgit2_BINARY_DIR}/deps/http-parser")
|
|
194
|
-
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/http-parser")
|
|
195
|
-
LIST(APPEND LIBGIT2_OBJECTS "$<TARGET_OBJECTS:http-parser>")
|
|
196
|
-
ADD_FEATURE_INFO(http-parser ON "http-parser support (bundled)")
|
|
197
|
-
ENDIF()
|
|
198
|
-
|
|
199
|
-
# Optional external dependency: zlib
|
|
200
|
-
SanitizeBool(USE_BUNDLED_ZLIB)
|
|
201
|
-
IF(USE_BUNDLED_ZLIB STREQUAL ON)
|
|
202
|
-
SET(USE_BUNDLED_ZLIB "Bundled")
|
|
203
|
-
ENDIF()
|
|
204
|
-
|
|
205
|
-
IF(USE_BUNDLED_ZLIB STREQUAL "OFF")
|
|
206
|
-
FIND_PACKAGE(ZLIB)
|
|
207
|
-
IF(ZLIB_FOUND)
|
|
208
|
-
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ZLIB_INCLUDE_DIRS})
|
|
209
|
-
LIST(APPEND LIBGIT2_LIBS ${ZLIB_LIBRARIES})
|
|
210
|
-
IF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
211
|
-
LIST(APPEND LIBGIT2_PC_LIBS "-lz")
|
|
212
|
-
ELSE()
|
|
213
|
-
LIST(APPEND LIBGIT2_PC_REQUIRES "zlib")
|
|
214
|
-
ENDIF()
|
|
215
|
-
ADD_FEATURE_INFO(zlib ON "using system zlib")
|
|
216
|
-
ELSE()
|
|
217
|
-
MESSAGE(STATUS "zlib was not found; using bundled 3rd-party sources." )
|
|
218
|
-
ENDIF()
|
|
219
|
-
ENDIF()
|
|
220
|
-
IF(USE_BUNDLED_ZLIB STREQUAL "Chromium")
|
|
221
|
-
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/chromium-zlib" "${libgit2_BINARY_DIR}/deps/chromium-zlib")
|
|
222
|
-
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/chromium-zlib")
|
|
223
|
-
LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:chromium_zlib>)
|
|
224
|
-
ADD_FEATURE_INFO(zlib ON "using (Chromium) bundled zlib")
|
|
225
|
-
ELSEIF(USE_BUNDLED_ZLIB OR NOT ZLIB_FOUND)
|
|
226
|
-
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/zlib" "${libgit2_BINARY_DIR}/deps/zlib")
|
|
227
|
-
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/zlib")
|
|
228
|
-
LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:zlib>)
|
|
229
|
-
ADD_FEATURE_INFO(zlib ON "using bundled zlib")
|
|
230
|
-
ENDIF()
|
|
231
|
-
|
|
232
|
-
# Optional external dependency: libssh2
|
|
233
|
-
IF (USE_SSH)
|
|
234
|
-
FIND_PKGLIBRARIES(LIBSSH2 libssh2)
|
|
235
|
-
IF (NOT LIBSSH2_FOUND)
|
|
236
|
-
FIND_PACKAGE(LibSSH2)
|
|
237
|
-
SET(LIBSSH2_INCLUDE_DIRS ${LIBSSH2_INCLUDE_DIR})
|
|
238
|
-
GET_FILENAME_COMPONENT(LIBSSH2_LIBRARY_DIRS "${LIBSSH2_LIBRARY}" DIRECTORY)
|
|
239
|
-
SET(LIBSSH2_LIBRARIES ${LIBSSH2_LIBRARY})
|
|
240
|
-
SET(LIBSSH2_LDFLAGS "-lssh2")
|
|
241
|
-
ENDIF()
|
|
242
|
-
ENDIF()
|
|
243
|
-
IF (LIBSSH2_FOUND)
|
|
244
|
-
SET(GIT_SSH 1)
|
|
245
|
-
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${LIBSSH2_INCLUDE_DIRS})
|
|
246
|
-
LIST(APPEND LIBGIT2_LIBS ${LIBSSH2_LIBRARIES})
|
|
247
|
-
LIST(APPEND LIBGIT2_PC_LIBS ${LIBSSH2_LDFLAGS})
|
|
248
|
-
|
|
249
|
-
CHECK_LIBRARY_EXISTS("${LIBSSH2_LIBRARIES}" libssh2_userauth_publickey_frommemory "${LIBSSH2_LIBRARY_DIRS}" HAVE_LIBSSH2_MEMORY_CREDENTIALS)
|
|
250
|
-
IF (HAVE_LIBSSH2_MEMORY_CREDENTIALS)
|
|
251
|
-
SET(GIT_SSH_MEMORY_CREDENTIALS 1)
|
|
252
|
-
ENDIF()
|
|
253
|
-
ELSE()
|
|
254
|
-
MESSAGE(STATUS "LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.")
|
|
255
|
-
ENDIF()
|
|
256
|
-
ADD_FEATURE_INFO(SSH GIT_SSH "SSH transport support")
|
|
257
|
-
|
|
258
|
-
# Optional external dependency: ntlmclient
|
|
259
|
-
IF (USE_NTLMCLIENT)
|
|
260
|
-
SET(GIT_NTLM 1)
|
|
261
|
-
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/ntlmclient" "${libgit2_BINARY_DIR}/deps/ntlmclient")
|
|
262
|
-
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/ntlmclient")
|
|
263
|
-
LIST(APPEND LIBGIT2_OBJECTS "$<TARGET_OBJECTS:ntlmclient>")
|
|
264
|
-
ENDIF()
|
|
265
|
-
ADD_FEATURE_INFO(ntlmclient GIT_NTLM "NTLM authentication support for Unix")
|
|
266
|
-
|
|
267
|
-
# Optional external dependency: GSSAPI
|
|
268
|
-
|
|
269
|
-
INCLUDE(SelectGSSAPI)
|
|
270
|
-
|
|
271
|
-
# Optional external dependency: iconv
|
|
272
|
-
IF (USE_ICONV)
|
|
273
|
-
FIND_PACKAGE(Iconv)
|
|
274
|
-
ENDIF()
|
|
275
|
-
IF (ICONV_FOUND)
|
|
276
|
-
SET(GIT_USE_ICONV 1)
|
|
277
|
-
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ICONV_INCLUDE_DIR})
|
|
278
|
-
LIST(APPEND LIBGIT2_LIBS ${ICONV_LIBRARIES})
|
|
279
|
-
LIST(APPEND LIBGIT2_PC_LIBS ${ICONV_LIBRARIES})
|
|
280
|
-
ENDIF()
|
|
281
|
-
ADD_FEATURE_INFO(iconv GIT_USE_ICONV "iconv encoding conversion support")
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
IF (THREADSAFE)
|
|
285
|
-
IF (NOT WIN32)
|
|
286
|
-
FIND_PACKAGE(Threads REQUIRED)
|
|
287
|
-
ENDIF()
|
|
288
|
-
|
|
289
|
-
SET(GIT_THREADS 1)
|
|
290
|
-
ENDIF()
|
|
291
|
-
|
|
292
|
-
IF (USE_NSEC)
|
|
293
|
-
SET(GIT_USE_NSEC 1)
|
|
294
|
-
ENDIF()
|
|
295
|
-
|
|
296
|
-
IF (HAVE_STRUCT_STAT_ST_MTIM)
|
|
297
|
-
SET(GIT_USE_STAT_MTIM 1)
|
|
298
|
-
ELSEIF (HAVE_STRUCT_STAT_ST_MTIMESPEC)
|
|
299
|
-
SET(GIT_USE_STAT_MTIMESPEC 1)
|
|
300
|
-
ELSEIF (HAVE_STRUCT_STAT_ST_MTIME_NSEC)
|
|
301
|
-
SET(GIT_USE_STAT_MTIME_NSEC 1)
|
|
302
|
-
ENDIF()
|
|
303
|
-
|
|
304
|
-
target_compile_definitions(git2internal PRIVATE _FILE_OFFSET_BITS=64)
|
|
305
|
-
|
|
306
|
-
# Collect sourcefiles
|
|
307
|
-
file(GLOB SRC_H
|
|
308
|
-
"${libgit2_SOURCE_DIR}/include/git2.h"
|
|
309
|
-
"${libgit2_SOURCE_DIR}/include/git2/*.h"
|
|
310
|
-
"${libgit2_SOURCE_DIR}/include/git2/sys/*.h")
|
|
311
|
-
list(SORT SRC_H)
|
|
312
|
-
target_sources(git2internal PRIVATE ${SRC_H})
|
|
313
|
-
|
|
314
|
-
# On Windows use specific platform sources
|
|
315
|
-
if(WIN32 AND NOT CYGWIN)
|
|
316
|
-
SET(WIN_RC "win32/git2.rc")
|
|
317
|
-
|
|
318
|
-
file(GLOB SRC_OS win32/*.c win32/*.h)
|
|
319
|
-
list(SORT SRC_OS)
|
|
320
|
-
target_sources(git2internal PRIVATE ${SRC_OS})
|
|
321
|
-
elseif(AMIGA)
|
|
322
|
-
target_compile_definitions(git2internal PRIVATE NO_ADDRINFO NO_READDIR_R NO_MMAP)
|
|
42
|
+
include(SelectHTTPParser)
|
|
43
|
+
include(SelectRegex)
|
|
44
|
+
include(SelectSSH)
|
|
45
|
+
include(SelectWinHTTP)
|
|
46
|
+
include(SelectZlib)
|
|
47
|
+
|
|
48
|
+
#
|
|
49
|
+
# Platform support
|
|
50
|
+
#
|
|
51
|
+
|
|
52
|
+
# futimes/futimens
|
|
53
|
+
|
|
54
|
+
if(HAVE_FUTIMENS)
|
|
55
|
+
set(GIT_USE_FUTIMENS 1)
|
|
56
|
+
endif ()
|
|
57
|
+
add_feature_info(futimens GIT_USE_FUTIMENS "futimens support")
|
|
58
|
+
|
|
59
|
+
# qsort
|
|
60
|
+
|
|
61
|
+
check_prototype_definition(qsort_r
|
|
62
|
+
"void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, int (*compar)(void *, const void *, const void *))"
|
|
63
|
+
"" "stdlib.h" GIT_QSORT_R_BSD)
|
|
64
|
+
|
|
65
|
+
check_prototype_definition(qsort_r
|
|
66
|
+
"void qsort_r(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *arg)"
|
|
67
|
+
"" "stdlib.h" GIT_QSORT_R_GNU)
|
|
68
|
+
|
|
69
|
+
check_function_exists(qsort_s GIT_QSORT_S)
|
|
70
|
+
|
|
71
|
+
# random / entropy data
|
|
72
|
+
|
|
73
|
+
check_function_exists(getentropy GIT_RAND_GETENTROPY)
|
|
74
|
+
check_function_exists(getloadavg GIT_RAND_GETLOADAVG)
|
|
75
|
+
|
|
76
|
+
# determine architecture of the machine
|
|
77
|
+
|
|
78
|
+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
79
|
+
set(GIT_ARCH_64 1)
|
|
80
|
+
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
|
81
|
+
set(GIT_ARCH_32 1)
|
|
82
|
+
elseif(CMAKE_SIZEOF_VOID_P)
|
|
83
|
+
message(FATAL_ERROR "Unsupported architecture (pointer size is ${CMAKE_SIZEOF_VOID_P} bytes)")
|
|
323
84
|
else()
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
85
|
+
message(FATAL_ERROR "Unsupported architecture (CMAKE_SIZEOF_VOID_P is unset)")
|
|
86
|
+
endif()
|
|
87
|
+
|
|
88
|
+
# nanosecond mtime/ctime support
|
|
89
|
+
|
|
90
|
+
if(USE_NSEC)
|
|
91
|
+
set(GIT_USE_NSEC 1)
|
|
327
92
|
endif()
|
|
328
93
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
#
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
SET(LIBGIT2_SYSTEM_INCLUDES ${LIBGIT2_SYSTEM_INCLUDES} PARENT_SCOPE)
|
|
375
|
-
SET(LIBGIT2_LIBS ${LIBGIT2_LIBS} PARENT_SCOPE)
|
|
376
|
-
|
|
377
|
-
IF(XCODE_VERSION)
|
|
378
|
-
# This is required for Xcode to actually link the libgit2 library
|
|
379
|
-
# when using only object libraries.
|
|
380
|
-
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.c "")
|
|
381
|
-
LIST(APPEND LIBGIT2_OBJECTS ${CMAKE_CURRENT_BINARY_DIR}/dummy.c)
|
|
382
|
-
ENDIF()
|
|
383
|
-
|
|
384
|
-
# Compile and link libgit2
|
|
385
|
-
ADD_LIBRARY(git2 ${WIN_RC} ${LIBGIT2_OBJECTS})
|
|
386
|
-
TARGET_LINK_LIBRARIES(git2 ${LIBGIT2_LIBS})
|
|
387
|
-
|
|
388
|
-
SET_TARGET_PROPERTIES(git2 PROPERTIES C_STANDARD 90)
|
|
389
|
-
SET_TARGET_PROPERTIES(git2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
|
|
390
|
-
SET_TARGET_PROPERTIES(git2 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
|
|
391
|
-
SET_TARGET_PROPERTIES(git2 PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
|
|
392
|
-
|
|
393
|
-
# Workaround for Cmake bug #0011240 (see http://public.kitware.com/Bug/view.php?id=11240)
|
|
394
|
-
# Win64+MSVC+static libs = linker error
|
|
395
|
-
IF(MSVC AND GIT_ARCH_64 AND NOT BUILD_SHARED_LIBS)
|
|
396
|
-
SET_TARGET_PROPERTIES(git2 PROPERTIES STATIC_LIBRARY_FLAGS "/MACHINE:x64")
|
|
397
|
-
ENDIF()
|
|
398
|
-
|
|
399
|
-
IDE_SPLIT_SOURCES(git2)
|
|
400
|
-
|
|
401
|
-
if(SONAME)
|
|
402
|
-
set_target_properties(git2 PROPERTIES VERSION ${libgit2_VERSION})
|
|
403
|
-
set_target_properties(git2 PROPERTIES SOVERSION "${libgit2_VERSION_MAJOR}.${libgit2_VERSION_MINOR}")
|
|
404
|
-
if(LIBGIT2_FILENAME)
|
|
405
|
-
target_compile_definitions(git2 PRIVATE LIBGIT2_FILENAME=\"${LIBGIT2_FILENAME}\")
|
|
406
|
-
set_target_properties(git2 PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME})
|
|
407
|
-
elseif(DEFINED LIBGIT2_PREFIX)
|
|
408
|
-
set_target_properties(git2 PROPERTIES PREFIX "${LIBGIT2_PREFIX}")
|
|
94
|
+
# high-resolution stat support
|
|
95
|
+
|
|
96
|
+
if(HAVE_STRUCT_STAT_ST_MTIM)
|
|
97
|
+
set(GIT_USE_STAT_MTIM 1)
|
|
98
|
+
elseif(HAVE_STRUCT_STAT_ST_MTIMESPEC)
|
|
99
|
+
set(GIT_USE_STAT_MTIMESPEC 1)
|
|
100
|
+
elseif(HAVE_STRUCT_STAT_ST_MTIME_NSEC)
|
|
101
|
+
set(GIT_USE_STAT_MTIME_NSEC 1)
|
|
102
|
+
endif()
|
|
103
|
+
|
|
104
|
+
# realtime support
|
|
105
|
+
|
|
106
|
+
check_library_exists(rt clock_gettime "time.h" NEED_LIBRT)
|
|
107
|
+
if(NEED_LIBRT)
|
|
108
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS rt)
|
|
109
|
+
list(APPEND LIBGIT2_PC_LIBS "-lrt")
|
|
110
|
+
endif()
|
|
111
|
+
|
|
112
|
+
# platform libraries
|
|
113
|
+
|
|
114
|
+
if(WIN32)
|
|
115
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ws2_32)
|
|
116
|
+
endif()
|
|
117
|
+
|
|
118
|
+
if(CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
|
|
119
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS socket nsl)
|
|
120
|
+
list(APPEND LIBGIT2_PC_LIBS "-lsocket" "-lnsl")
|
|
121
|
+
endif()
|
|
122
|
+
|
|
123
|
+
if(CMAKE_SYSTEM_NAME MATCHES "Haiku")
|
|
124
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS gnu network)
|
|
125
|
+
list(APPEND LIBGIT2_PC_LIBS "-lgnu -lnetwork")
|
|
126
|
+
endif()
|
|
127
|
+
|
|
128
|
+
if(AMIGA)
|
|
129
|
+
add_definitions(-DNO_ADDRINFO -DNO_READDIR_R -DNO_MMAP)
|
|
130
|
+
endif()
|
|
131
|
+
|
|
132
|
+
# threads
|
|
133
|
+
|
|
134
|
+
if(USE_THREADS)
|
|
135
|
+
if(NOT WIN32)
|
|
136
|
+
find_package(Threads REQUIRED)
|
|
137
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
|
138
|
+
list(APPEND LIBGIT2_PC_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
|
409
139
|
endif()
|
|
140
|
+
|
|
141
|
+
set(GIT_THREADS 1)
|
|
142
|
+
endif()
|
|
143
|
+
add_feature_info(threadsafe USE_THREADS "threadsafe support")
|
|
144
|
+
|
|
145
|
+
#
|
|
146
|
+
# Optional bundled features
|
|
147
|
+
#
|
|
148
|
+
|
|
149
|
+
# ntlmclient
|
|
150
|
+
if(USE_NTLMCLIENT)
|
|
151
|
+
set(GIT_NTLM 1)
|
|
152
|
+
add_subdirectory("${PROJECT_SOURCE_DIR}/deps/ntlmclient" "${PROJECT_BINARY_DIR}/deps/ntlmclient")
|
|
153
|
+
list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/ntlmclient")
|
|
154
|
+
list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:ntlmclient>")
|
|
155
|
+
endif()
|
|
156
|
+
add_feature_info(ntlmclient GIT_NTLM "NTLM authentication support for Unix")
|
|
157
|
+
|
|
158
|
+
#
|
|
159
|
+
# Optional external dependencies
|
|
160
|
+
|
|
161
|
+
# iconv
|
|
162
|
+
if(USE_ICONV)
|
|
163
|
+
find_package(Iconv)
|
|
164
|
+
endif()
|
|
165
|
+
if(ICONV_FOUND)
|
|
166
|
+
set(GIT_USE_ICONV 1)
|
|
167
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES ${ICONV_INCLUDE_DIR})
|
|
168
|
+
list(APPEND LIBGIT2_SYSTEM_LIBS ${ICONV_LIBRARIES})
|
|
169
|
+
list(APPEND LIBGIT2_PC_LIBS ${ICONV_LIBRARIES})
|
|
170
|
+
endif()
|
|
171
|
+
add_feature_info(iconv GIT_USE_ICONV "iconv encoding conversion support")
|
|
172
|
+
|
|
173
|
+
#
|
|
174
|
+
# Include child projects
|
|
175
|
+
#
|
|
176
|
+
|
|
177
|
+
add_subdirectory(libgit2)
|
|
178
|
+
add_subdirectory(util)
|
|
179
|
+
|
|
180
|
+
if(BUILD_CLI)
|
|
181
|
+
add_subdirectory(cli)
|
|
410
182
|
endif()
|
|
411
183
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
)
|
|
419
|
-
|
|
420
|
-
IF (MSVC_IDE)
|
|
421
|
-
# Precompiled headers
|
|
422
|
-
SET_TARGET_PROPERTIES(git2 PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h")
|
|
423
|
-
SET_SOURCE_FILES_PROPERTIES(win32/precompiled.c COMPILE_FLAGS "/Ycprecompiled.h")
|
|
424
|
-
ENDIF ()
|
|
425
|
-
|
|
426
|
-
# Install
|
|
427
|
-
INSTALL(TARGETS git2
|
|
428
|
-
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
429
|
-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
430
|
-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
431
|
-
)
|
|
432
|
-
INSTALL(DIRECTORY ${libgit2_SOURCE_DIR}/include/git2 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
433
|
-
INSTALL(FILES ${libgit2_SOURCE_DIR}/include/git2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
184
|
+
# re-export these to the root so that peer projects (tests, fuzzers,
|
|
185
|
+
# examples) can use them
|
|
186
|
+
set(LIBGIT2_INCLUDES ${LIBGIT2_INCLUDES} PARENT_SCOPE)
|
|
187
|
+
set(LIBGIT2_OBJECTS ${LIBGIT2_OBJECTS} PARENT_SCOPE)
|
|
188
|
+
set(LIBGIT2_DEPENDENCY_INCLUDES ${LIBGIT2_DEPENDENCY_INCLUDES} PARENT_SCOPE)
|
|
189
|
+
set(LIBGIT2_DEPENDENCY_OBJECTS ${LIBGIT2_DEPENDENCY_OBJECTS} PARENT_SCOPE)
|
|
190
|
+
set(LIBGIT2_SYSTEM_INCLUDES ${LIBGIT2_SYSTEM_INCLUDES} PARENT_SCOPE)
|
|
191
|
+
set(LIBGIT2_SYSTEM_LIBS ${LIBGIT2_SYSTEM_LIBS} PARENT_SCOPE)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# libgit2 sources
|
|
2
|
+
|
|
3
|
+
This is the source that makes up the core of libgit2 and its related
|
|
4
|
+
projects.
|
|
5
|
+
|
|
6
|
+
* `cli`
|
|
7
|
+
A git-compatible command-line interface that uses libgit2.
|
|
8
|
+
* `libgit2`
|
|
9
|
+
This is the libgit2 project, a cross-platform, linkable library
|
|
10
|
+
implementation of Git that you can use in your application.
|
|
11
|
+
* `util`
|
|
12
|
+
A shared utility library for these projects.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
set(CLI_INCLUDES
|
|
2
|
+
"${libgit2_BINARY_DIR}/src/util"
|
|
3
|
+
"${libgit2_BINARY_DIR}/include"
|
|
4
|
+
"${libgit2_BINARY_DIR}/include/git2"
|
|
5
|
+
"${libgit2_SOURCE_DIR}/src/util"
|
|
6
|
+
"${libgit2_SOURCE_DIR}/src/cli"
|
|
7
|
+
"${libgit2_SOURCE_DIR}/include"
|
|
8
|
+
"${LIBGIT2_DEPENDENCY_INCLUDES}")
|
|
9
|
+
|
|
10
|
+
if(WIN32 AND NOT CYGWIN)
|
|
11
|
+
file(GLOB CLI_SRC_OS win32/*.c)
|
|
12
|
+
list(SORT CLI_SRC_OS)
|
|
13
|
+
else()
|
|
14
|
+
file(GLOB CLI_SRC_OS unix/*.c)
|
|
15
|
+
list(SORT CLI_SRC_OS)
|
|
16
|
+
endif()
|
|
17
|
+
|
|
18
|
+
file(GLOB CLI_SRC_C *.c *.h)
|
|
19
|
+
list(SORT CLI_SRC_C)
|
|
20
|
+
|
|
21
|
+
#
|
|
22
|
+
# The CLI currently needs to be statically linked against libgit2 because
|
|
23
|
+
# the utility library uses libgit2's thread-local error buffers. TODO:
|
|
24
|
+
# remove this dependency and allow us to dynamically link against libgit2.
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
if(BUILD_CLI STREQUAL "dynamic")
|
|
28
|
+
set(CLI_LIBGIT2_LIBRARY libgit2package)
|
|
29
|
+
else()
|
|
30
|
+
set(CLI_LIBGIT2_OBJECTS $<TARGET_OBJECTS:libgit2>)
|
|
31
|
+
endif()
|
|
32
|
+
|
|
33
|
+
#
|
|
34
|
+
# Compile and link the CLI
|
|
35
|
+
#
|
|
36
|
+
|
|
37
|
+
add_executable(git2_cli ${CLI_SRC_C} ${CLI_SRC_OS} ${CLI_OBJECTS}
|
|
38
|
+
$<TARGET_OBJECTS:util>
|
|
39
|
+
${CLI_LIBGIT2_OBJECTS}
|
|
40
|
+
${LIBGIT2_DEPENDENCY_OBJECTS})
|
|
41
|
+
target_link_libraries(git2_cli ${CLI_LIBGIT2_LIBRARY} ${LIBGIT2_SYSTEM_LIBS})
|
|
42
|
+
|
|
43
|
+
set_target_properties(git2_cli PROPERTIES C_STANDARD 90)
|
|
44
|
+
set_target_properties(git2_cli PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
|
|
45
|
+
set_target_properties(git2_cli PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME})
|
|
46
|
+
|
|
47
|
+
ide_split_sources(git2_cli)
|
|
48
|
+
|
|
49
|
+
target_include_directories(git2_cli PRIVATE ${CLI_INCLUDES})
|
|
50
|
+
|
|
51
|
+
if(MSVC_IDE)
|
|
52
|
+
# Precompiled headers
|
|
53
|
+
set_target_properties(git2_cli PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h")
|
|
54
|
+
set_source_files_properties(win32/precompiled.c COMPILE_FLAGS "/Ycprecompiled.h")
|
|
55
|
+
endif()
|
|
56
|
+
|
|
57
|
+
install(TARGETS git2_cli RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|