diff options
| author | Etienne Samson <samson.etienne@gmail.com> | 2017-09-06 22:01:50 +0000 |
|---|---|---|
| committer | Etienne Samson <samson.etienne@gmail.com> | 2017-10-23 20:02:35 +0200 |
| commit | 99d6ebb33375369f8a033938fab984f89832ba82 (patch) | |
| tree | c0c061b1425a24f8e4a86f361c62fdceb327ef23 | |
| parent | 152f3766eed6ad26e62eb614de22c9f5a50110b5 (diff) | |
| download | libgit2-99d6ebb33375369f8a033938fab984f89832ba82.tar.gz | |
cmake: make our macOS helpers more CMake-y
| -rw-r--r-- | cmake/Modules/FindCoreFoundation.cmake | 31 | ||||
| -rw-r--r-- | cmake/Modules/FindSecurity.cmake | 33 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 22 |
3 files changed, 58 insertions, 28 deletions
diff --git a/cmake/Modules/FindCoreFoundation.cmake b/cmake/Modules/FindCoreFoundation.cmake index ef88694ee..e86ccbf03 100644 --- a/cmake/Modules/FindCoreFoundation.cmake +++ b/cmake/Modules/FindCoreFoundation.cmake @@ -1,9 +1,26 @@ -IF (COREFOUNDATION_INCLUDE_DIR AND COREFOUNDATION_DIRS) +# Find CoreFoundation.framework +# This will define : +# +# COREFOUNDATION_FOUND +# COREFOUNDATION_LIBRARIES +# COREFOUNDATION_LDFLAGS +# + +FIND_PATH(COREFOUNDATION_INCLUDE_DIR NAMES CoreFoundation.h) +FIND_LIBRARY(COREFOUNDATION_LIBRARIES NAMES CoreFoundation) +IF (COREFOUNDATION_INCLUDE_DIR AND COREFOUNDATION_LIBRARIES) + IF (NOT CoreFoundation_FIND_QUIETLY) + MESSAGE("-- Found CoreFoundation ${COREFOUNDATION_LIBRARIES}") + ENDIF() SET(COREFOUNDATION_FOUND TRUE) -ELSE () - FIND_PATH(COREFOUNDATION_INCLUDE_DIR NAMES CoreFoundation.h) - FIND_LIBRARY(COREFOUNDATION_DIRS NAMES CoreFoundation) - IF (COREFOUNDATION_INCLUDE_DIR AND COREFOUNDATION_DIRS) - SET(COREFOUNDATION_FOUND TRUE) - ENDIF () + SET(COREFOUNDATION_LDFLAGS "-framework CoreFoundation") ENDIF () + +IF (CoreFoundation_FIND_REQUIRED AND NOT COREFOUNDATION_FOUND) + MESSAGE(FATAL "-- CoreFoundation not found") +ENDIF() + +MARK_AS_ADVANCED( + COREFOUNDATION_INCLUDE_DIR + COREFOUNDATION_LIBRARIES +) diff --git a/cmake/Modules/FindSecurity.cmake b/cmake/Modules/FindSecurity.cmake index d6950e566..487f7e500 100644 --- a/cmake/Modules/FindSecurity.cmake +++ b/cmake/Modules/FindSecurity.cmake @@ -1,9 +1,28 @@ -IF (SECURITY_INCLUDE_DIR AND SECURITY_DIRS) +# Find Security.framework +# This will define : +# +# SECURITY_FOUND +# SECURITY_LIBRARIES +# SECURITY_LDFLAGS +# SECURITY_HAS_SSLCREATECONTEXT +# + +FIND_PATH(SECURITY_INCLUDE_DIR NAMES Security/Security.h) +FIND_LIBRARY(SECURITY_LIBRARIES NAMES Security) +IF (SECURITY_INCLUDE_DIR AND SECURITY_LIBRARIES) + IF (NOT Security_FIND_QUIETLY) + MESSAGE("-- Found Security ${SECURITY_LIBRARIES}") + ENDIF() SET(SECURITY_FOUND TRUE) -ELSE () - FIND_PATH(SECURITY_INCLUDE_DIR NAMES Security/Security.h) - FIND_LIBRARY(SECURITY_DIRS NAMES Security) - IF (SECURITY_INCLUDE_DIR AND SECURITY_DIRS) - SET(SECURITY_FOUND TRUE) - ENDIF () + SET(SECURITY_LDFLAGS "-framework Security") + CHECK_LIBRARY_EXISTS("${SECURITY_LIBRARIES}" SSLCreateContext "Security/SecureTransport.h" SECURITY_HAS_SSLCREATECONTEXT) ENDIF () + +IF (Security_FIND_REQUIRED AND NOT SECURITY_FOUND) + MESSAGE(FATAL "-- Security not found") +ENDIF() + +MARK_AS_ADVANCED( + SECURITY_INCLUDE_DIR + SECURITY_LIBRARIES +) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bb5031366..9ea246405 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -95,23 +95,17 @@ IF(THREADSAFE) ENDIF() IF (SECURITY_FOUND) - # OS X 10.7 and older do not have some functions we use, fall back to OpenSSL there - CHECK_LIBRARY_EXISTS("${SECURITY_DIRS}" SSLCreateContext "Security/SecureTransport.h" HAVE_NEWER_SECURITY) - IF (HAVE_NEWER_SECURITY) - MESSAGE("-- Found Security ${SECURITY_DIRS}") - LIST(APPEND LIBGIT2_PC_LIBS "-framework Security") - LIST(APPEND LIBGIT2_LIBS ${SECURITY_DIRS}) - ELSE() - MESSAGE("-- Security framework is too old, falling back to OpenSSL") - SET(SECURITY_FOUND "NO") - SET(USE_OPENSSL "ON") - ENDIF() + IF (SECURITY_HAS_SSLCREATECONTEXT) + LIST(APPEND LIBGIT2_PC_LIBS ${SECURITY_LDFLAGS}) + ELSE() + MESSAGE("-- Security framework is too old, falling back to OpenSSL") + SET(USE_OPENSSL "ON") + ENDIF() ENDIF() IF (COREFOUNDATION_FOUND) - MESSAGE("-- Found CoreFoundation ${COREFOUNDATION_DIRS}") - LIST(APPEND LIBGIT2_PC_LIBS "-framework CoreFoundation") - LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_DIRS}) + LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LIBRARIES}) + LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS}) ENDIF() |
