step1、安装依赖
所有时 | Terminal + Shell + GNU CoreUtils |
下载时 | cURL |
解压时 | tar + gzip |
编译时 | cmake、ninja、gcc / GCC | Clang / LLVM |
运行时 | glibc ( libc.so 、ld-linux-x86-64.so ) |
step2、使用curl命令下载libgit2
源码包 ()
curl -LO https://github.com/libgit2/libgit2/releases/download/v1.0.1/libgit2-1.0.1.tar.gz
step3、使用tar解压libgit2
源码包
tar vxf libgit2-1.0.1.tar.gz
step4、进入libgit2-1.0.1
目录
cd libgit2-1.0.1
step5、查看libgit2-1.0.1
目录中的内容
step6、使用cmake命令配置编译参数
cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量 | 类型 | 默认值 | 说明 |
---|---|---|---|
BUILD_CLAR | BOOL | ON | 是否编译单元测试代码 |
BUILD_FUZZERS | BOOL | OFF | 是否编译模糊测试代码 |
BUILD_EXAMPLES | BOOL | OFF | 是否编译示例代码 |
BUILD_SHARED_LIBS | BOOL | ON | 是否生成动态库 |
ENABLE_WERROR | BOOL | OFF | 是否指定C编译器 的-werror 参数 |
ENABLE_TRACE | BOOL | ON | |
DEPRECATE_HARD | BOOL | OFF | 是否包含被标记为deprecated 的代码 |
PROFILE | BOOL | OFF | 是否进行性能分析 |
SONAME | BOOL | ON | 是否给so|dylib 带上版本号 |
TAGS | BOOL | OFF | 是否生成tags |
THREADSAFE | BOOL | ON | 是否支持线程安全 |
REGEX_BACKEND | STRING | 是否哪个 正则表达式库 regcomp_l | pcre2 | pcre | regcomp | builtin | |
ZLIB_INCLUDE_DIR | PATH | 指定zlib的头文件 所在目录 | |
ZLIB_LIBRARY | FILEPATH | 设置libz.{a | so | dylib}的路径 | |
USE_ICONV | BOOL | ON | 是否使用libiconv |
ICONV_INCLUDE_DIR | PATH | 设置libiconv的头文件 所在目录 | |
OPENSSL_INCLUDE_DIR | PATH | 指定OpenSSL的头文件 所在目录 | |
OPENSSL_SSL_LIBRARY | FILEPATH | 设置libssl.{a | so | dylib}的路径 | |
OPENSSL_CRYPTO_LIBRARY | FILEPATH | 设置libcrypto.{a | so | dylib}的路径 | |
MBEDTLS_INCLUDE_DIR | PATH | 指定mbedTLS的头文件 所在目录 | |
MBEDTLS_LIBRARY | FILEPATH | 设置libmbedtls.{a | so | dylib}的路径 | |
MBEDCRYPTO_LIBRARY | FILEPATH | 设置libmbedcrypto.{a | so | dylib}的路径 | |
MBEDX509_LIBRARY | FILEPATH | 设置libmbedx509.{a | so | dylib}的路径 | |
PCRE_INCLUDE_DIR | PATH | 指定pcre的头文件 所在目录 | |
PCRE_LIBRARY | FILEPATH | 设置libpcre.{a | so | dylib}的路径 | |
PCRE_POSIX_LIBRARY | FILEPATH | 设置libpcre-posix.{a | so | dylib}的路径 | |
PCRE2_INCLUDE_DIR | PATH | 指定pcre2的头文件 所在目录 | |
PCRE2_LIBRARY | FILEPATH | 设置libpcre2.{a | so | dylib}的路径 | |
PCRE2_POSIX_LIBRARY | FILEPATH | 设置libpcre2-posix.{a | so | dylib}的路径 | |
USE_HTTPS | BOOL | ON | 是否支持HTTPS |
USE_NTLMCLIENT | BOOL | ON | 是否支持NTLM |
USE_SHA1 | BOOL | ON | 是否支持SHA-1 |
USE_SSH | BOOL | ON | 是否使用libssh2 |
USE_GSSAPI | BOOL | OFF | 是否使用libgss |
示例:
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-G Ninja \
-Wno-dev \
-S . \
-B build.d
step7、使用cmake命令进行编译
cmake --build build.d
step8、使用cmake命令进行安装
cmake --install build.d