diff options
| author | Etienne Samson <samson.etienne@gmail.com> | 2017-09-07 00:41:54 +0200 |
|---|---|---|
| committer | Etienne Samson <samson.etienne@gmail.com> | 2017-10-23 20:04:21 +0200 |
| commit | c9bb68c2aa27c58a699a479baaf1a8d70f8de209 (patch) | |
| tree | 77c955809198df556ec1300a12cb8829a37a67a2 /src | |
| parent | 9980be03c29169265ad45591925e88e4c8b90327 (diff) | |
| download | libgit2-c9bb68c2aa27c58a699a479baaf1a8d70f8de209.tar.gz | |
cmake: move Darwin-specific block around
This allows us to only link against CoreFoundation when using the SecureTransport backend
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e81dfb1b4..3c04f8ae4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -97,11 +97,6 @@ IF(THREADSAFE) ENDIF() ADD_FEATURE_INFO(threadsafe THREADSAFE "threadsafe support") -IF (COREFOUNDATION_FOUND) - LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LIBRARIES}) - LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS}) -ENDIF() - IF (WIN32 AND EMBED_SSH_PATH) FILE(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c") @@ -133,7 +128,7 @@ ELSE () ENDIF () IF (NOT AMIGA AND (USE_HTTPS STREQUAL "OpenSSL" OR USE_HTTPS STREQUAL "ON")) - FIND_PACKAGE(OpenSSL) + FIND_PACKAGE(OpenSSL QUIET) ENDIF () IF (CURL_FOUND) @@ -147,6 +142,11 @@ ELSE () ENDIF() IF (USE_HTTPS) + IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + FIND_PACKAGE(Security) + FIND_PACKAGE(CoreFoundation) + ENDIF() + # Auto-select TLS backend IF (USE_HTTPS STREQUAL ON) IF (SECURITY_FOUND) @@ -168,6 +168,9 @@ IF (USE_HTTPS) # Check that we can find what's required for the selected backend IF (HTTPS_BACKEND STREQUAL "SecureTransport") + IF (NOT COREFOUNDATION_FOUND) + MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found") + ENDIF() IF (NOT SECURITY_FOUND) MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, Security.framework not found") ENDIF() @@ -177,8 +180,8 @@ IF (USE_HTTPS) SET(GIT_SECURE_TRANSPORT 1) LIST(APPEND LIBGIT2_INCLUDES ${SECURITY_INCLUDE_DIR}) - LIST(APPEND LIBGIT2_LIBS ${SECURITY_LIBRARIES}) - LIST(APPEND LIBGIT2_PC_LIBS ${SECURITY_LDFLAGS}) + LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LIBRARIES} ${SECURITY_LIBRARIES}) + LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS}) ELSEIF (HTTPS_BACKEND STREQUAL "OpenSSL") IF (NOT OPENSSL_FOUND) MESSAGE(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found") @@ -303,7 +306,7 @@ ENDIF() ADD_FEATURE_INFO(SPNEGO GIT_GSSAPI "SPNEGO authentication support") # Optional external dependency: iconv -IF (USE_ICONV) +IF (USE_ICONV OR CMAKE_SYSTEM_NAME MATCHES "Darwin") FIND_PACKAGE(Iconv) ENDIF() IF (ICONV_FOUND) |
