mirror of
https://github.com/godotengine/godot-git-plugin.git
synced 2026-01-01 01:48:28 +03:00
This seems to only be used with the OpenSSL backend (which we plan to drop). libgit2 already use builtin ZLIB, I'm not even sure we if it would be used in libssh2 (we only use libssh2 to provide git ssh access, and git already compress objects.
70 lines
2.0 KiB
Python
70 lines
2.0 KiB
Python
import os
|
|
|
|
|
|
def build_library(env, deps):
|
|
config = {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo" if env["debug_symbols"] else "Release",
|
|
"OPENSSL_USE_STATIC_LIBS": 1,
|
|
"OPENSSL_INCLUDE_DIR": env["SSL_INCLUDE"],
|
|
"OPENSSL_SSL_LIBRARY": env["SSL_LIBRARY"],
|
|
"OPENSSL_CRYPTO_LIBRARY": env["SSL_CRYPTO_LIBRARY"],
|
|
"OPENSSL_ROOT_DIR": env["SSL_INSTALL"],
|
|
"BUILD_TESTS": 0,
|
|
"BUILD_CLI": 0,
|
|
"BUILD_EXAMPLES": 0,
|
|
"BUILD_FUZZERS": 0,
|
|
"USE_SSH": 1,
|
|
"USE_HTTPS": 1,
|
|
"USE_SHA1": 1,
|
|
"USE_BUNDLED_ZLIB": 1,
|
|
"USE_HTTP_PARSER": "builtin",
|
|
"REGEX_BACKEND": "builtin",
|
|
"USE_HTTPS": "OpenSSL",
|
|
"USE_SHA1": "OpenSSL",
|
|
"BUILD_SHARED_LIBS": 0,
|
|
"LINK_WITH_STATIC_LIBRARIES": 1,
|
|
"LIBSSH2_INCLUDE_DIR": env.Dir("#thirdparty/ssh2/libssh2/include").abspath,
|
|
"LIBSSH2_LIBRARY": deps[-1],
|
|
"USE_WINHTTP": 0,
|
|
"STATIC_CRT": env.get("use_static_cpp", True),
|
|
"CMAKE_DISABLE_FIND_PACKAGE_ZLIB": 1,
|
|
"CMAKE_DISABLE_FIND_PACKAGE_OPENSSL": 1,
|
|
}
|
|
|
|
if env["platform"] != "windows":
|
|
config["CMAKE_C_FLAGS"] = "-fPIC"
|
|
else:
|
|
config["OPENSSL_ROOT_DIR"] = env["SSL_BUILD"]
|
|
|
|
is_msvc = env.get("is_msvc", False)
|
|
lib_ext = ".lib" if is_msvc else ".a"
|
|
lib_prefix = "" if is_msvc else "lib"
|
|
libs = ["{}git2{}".format(lib_prefix, lib_ext)]
|
|
|
|
source = env.Dir("#thirdparty/git2/libgit2").abspath
|
|
target = env.Dir("#bin/thirdparty/libgit2").abspath
|
|
|
|
git2 = env.CMakeBuild(
|
|
"#bin/thirdparty/git2/",
|
|
"#thirdparty/git2/libgit2",
|
|
cmake_options=config,
|
|
cmake_outputs=libs,
|
|
cmake_targets=[],
|
|
dependencies=deps,
|
|
)
|
|
|
|
env.Append(CPPPATH=["#thirdparty/git2/libgit2/include"])
|
|
env.Prepend(LIBS=git2[1:])
|
|
if env["platform"] == "windows":
|
|
env.PrependUnique(LIBS=["secur32"])
|
|
|
|
return git2
|
|
|
|
|
|
def exists(env):
|
|
return "CMake" in env
|
|
|
|
|
|
def generate(env):
|
|
env.AddMethod(build_library, "BuildGIT2")
|