]>
Commit | Line | Data |
---|---|---|
22a2d3d5 UG |
1 | # Select a hash backend |
2 | ||
3 | INCLUDE(SanitizeBool) | |
4 | ||
5 | # USE_SHA1=CollisionDetection(ON)/HTTPS/Generic/OFF | |
6 | ||
7 | SanitizeBool(USE_SHA1) | |
8 | IF(USE_SHA1 STREQUAL ON) | |
9 | SET(USE_SHA1 "CollisionDetection") | |
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 | ||
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 | FILE(GLOB SRC_SHA1 hash/sha1/collisiondetect.* hash/sha1/sha1dc/*) | |
28 | ELSEIF(USE_SHA1 STREQUAL "OpenSSL") | |
29 | # OPENSSL_FOUND should already be set, we're checking USE_HTTPS | |
30 | ||
31 | SET(GIT_SHA1_OPENSSL 1) | |
32 | IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") | |
33 | LIST(APPEND LIBGIT2_PC_LIBS "-lssl") | |
34 | ELSE() | |
35 | LIST(APPEND LIBGIT2_PC_REQUIRES "openssl") | |
36 | ENDIF() | |
37 | FILE(GLOB SRC_SHA1 hash/sha1/openssl.*) | |
38 | ELSEIF(USE_SHA1 STREQUAL "CommonCrypto") | |
39 | SET(GIT_SHA1_COMMON_CRYPTO 1) | |
40 | FILE(GLOB SRC_SHA1 hash/sha1/common_crypto.*) | |
41 | ELSEIF(USE_SHA1 STREQUAL "mbedTLS") | |
42 | SET(GIT_SHA1_MBEDTLS 1) | |
43 | FILE(GLOB SRC_SHA1 hash/sha1/mbedtls.*) | |
44 | LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR}) | |
45 | LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES}) | |
46 | # mbedTLS has no pkgconfig file, hence we can't require it | |
47 | # https://github.com/ARMmbed/mbedtls/issues/228 | |
48 | # For now, pass its link flags as our own | |
49 | LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES}) | |
50 | ELSEIF(USE_SHA1 STREQUAL "Win32") | |
51 | SET(GIT_SHA1_WIN32 1) | |
52 | FILE(GLOB SRC_SHA1 hash/sha1/win32.*) | |
53 | ELSEIF(USE_SHA1 STREQUAL "Generic") | |
54 | FILE(GLOB SRC_SHA1 hash/sha1/generic.*) | |
55 | ELSE() | |
56 | MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}") | |
57 | ENDIF() | |
58 | ||
c25aa7cd | 59 | list(APPEND SRC_SHA1 "hash/sha1.h") |
22a2d3d5 UG |
60 | list(SORT SRC_SHA1) |
61 | ||
62 | ADD_FEATURE_INFO(SHA ON "using ${USE_SHA1}") |