Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
git2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
git2
Commits
3fcb1d83
Commit
3fcb1d83
authored
Oct 23, 2013
by
Vicent Martí
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1905 from libgit2/cmn/list-deps
Be explicit about dependencies
parents
9a5f2118
2baee9f8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
2 deletions
+28
-2
CMakeLists.txt
+14
-0
README.md
+11
-0
libgit2.pc.in
+3
-2
No files found.
CMakeLists.txt
View file @
3fcb1d83
...
...
@@ -50,6 +50,15 @@ IF(MSVC)
OPTION
(
STATIC_CRT
"Link the static CRT libraries"
ON
)
ENDIF
()
# This variable will contain the libraries we need to put into
# libgit2.pc's Requires.private. That is, what we're linking to or
# what someone who's statically linking us needs to link to.
SET
(
LIBGIT2_PC_REQUIRES
""
)
# This will be set later if we use the system's http-parser library or
# use iconv (OSX) and will be written to the Libs.private field in the
# pc file.
SET
(
LIBGIT2_PC_LIBS
""
)
# Installation paths
#
SET
(
BIN_INSTALL_DIR bin CACHE PATH
"Where to install binaries to."
)
...
...
@@ -68,6 +77,7 @@ FUNCTION(TARGET_OS_LIBRARIES target)
IF
(
USE_ICONV
)
TARGET_LINK_LIBRARIES
(
${
target
}
iconv
)
ADD_DEFINITIONS
(
-DGIT_USE_ICONV
)
SET
(
LIBGIT2_PC_LIBS
"
${
LIBGIT2_PC_LIBS
}
-liconv"
)
ENDIF
()
IF
(
THREADSAFE
)
...
...
@@ -119,6 +129,7 @@ ELSE ()
IF
(
HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2
)
INCLUDE_DIRECTORIES
(
${
HTTP_PARSER_INCLUDE_DIRS
}
)
LINK_LIBRARIES
(
${
HTTP_PARSER_LIBRARIES
}
)
SET
(
LIBGIT2_PC_LIBS
"
${
LIBGIT2_PC_LIBS
}
-lhttp_parser"
)
ELSE
()
MESSAGE
(
"http-parser was not found or is too old; using bundled 3rd-party sources."
)
INCLUDE_DIRECTORIES
(
deps/http-parser
)
...
...
@@ -132,6 +143,7 @@ IF (WIN32 AND NOT MINGW AND NOT SHA1_TYPE STREQUAL "builtin")
FILE
(
GLOB SRC_SHA1 src/hash/hash_win32.c
)
ELSEIF
(
OPENSSL_FOUND AND NOT SHA1_TYPE STREQUAL
"builtin"
)
ADD_DEFINITIONS
(
-DOPENSSL_SHA1
)
SET
(
LIBGIT2_PC_REQUIRES
"
${
LIBGIT2_PC_REQUIRES
}
openssl"
)
ELSE
()
FILE
(
GLOB SRC_SHA1 src/hash/hash_generic.c
)
ENDIF
()
...
...
@@ -154,6 +166,7 @@ FIND_PACKAGE(ZLIB QUIET)
IF
(
ZLIB_FOUND
)
INCLUDE_DIRECTORIES
(
${
ZLIB_INCLUDE_DIRS
}
)
LINK_LIBRARIES
(
${
ZLIB_LIBRARIES
}
)
SET
(
LIBGIT2_PC_REQUIRES
"
${
LIBGIT2_PC_REQUIRES
}
zlib"
)
# Fake the message CMake would have shown
MESSAGE
(
"-- Found zlib:
${
ZLIB_LIBRARY
}
"
)
ELSE
()
...
...
@@ -169,6 +182,7 @@ ENDIF()
IF
(
LIBSSH2_FOUND
)
ADD_DEFINITIONS
(
-DGIT_SSH
)
INCLUDE_DIRECTORIES
(
${
LIBSSH2_INCLUDE_DIR
}
)
SET
(
LIBGIT2_PC_REQUIRES
"
${
LIBGIT2_PC_REQUIRES
}
libssh2"
)
SET
(
SSH_LIBRARIES
${
LIBSSH2_LIBRARIES
}
)
ENDIF
()
...
...
README.md
View file @
3fcb1d83
...
...
@@ -43,6 +43,17 @@ and also powering Microsoft's Visual Studio tools for Git. The library provides
*
descriptive and detailed error messages
*
...and more (over 175 different API calls)
Optional dependencies
=====================
While the library provides git functionality without the need for
dependencies, it can make use of a few libraries to add to it:
-
pthreads (non-Windows) to enable threadsafe access as well as multi-threaded pack generation
-
OpenSSL (non-Windows) to talk over HTTPS and provide the SHA-1 functions
-
LibSSH2 to enable the ssh transport
-
iconv (OSX) to handle the HFS+ path encoding peculiarities
Building libgit2 - Using CMake
==============================
...
...
libgit2.pc.in
View file @
3fcb1d83
...
...
@@ -4,6 +4,7 @@ includedir=@CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@
Name: libgit2
Description: The git library, take 2
Version: @LIBGIT2_VERSION_STRING@
Requires: libcrypto
Libs: -L${libdir} -lgit2 -lz -lcrypto
Requires.private: @LIBGIT2_PC_REQUIRES@
Libs.private: @LIBGIT2_PC_LIBS@
Libs: -L${libdir} -lgit2
Cflags: -I${includedir}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment