diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2020-03-06 17:13:48 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-06 17:13:48 +0000 |
commit | e23b8b446522f17eb3329b62201aae7674f06e13 (patch) | |
tree | 97234375772a514401f74db1455c72eb20d2f27c /cmake | |
parent | 8eb1fc36b65a69ca67795cef8ef424a86ae4af68 (diff) | |
parent | d8e71cb2b25183a1c6f9b68e31d014ce43160e5a (diff) | |
download | libgit2-e23b8b446522f17eb3329b62201aae7674f06e13.tar.gz |
Merge pull request #5422 from pks-t/pks/cmake-booleans
CMake booleans
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/SanitizeBool.cmake | 20 | ||||
-rw-r--r-- | cmake/Modules/SelectGSSAPI.cmake | 3 | ||||
-rw-r--r-- | cmake/Modules/SelectHTTPSBackend.cmake | 3 | ||||
-rw-r--r-- | cmake/Modules/SelectHashes.cmake | 3 |
4 files changed, 29 insertions, 0 deletions
diff --git a/cmake/Modules/SanitizeBool.cmake b/cmake/Modules/SanitizeBool.cmake new file mode 100644 index 000000000..b5b99a690 --- /dev/null +++ b/cmake/Modules/SanitizeBool.cmake @@ -0,0 +1,20 @@ +FUNCTION(SanitizeBool VAR) + STRING(TOLOWER "${${VAR}}" VALUE) + IF(VALUE STREQUAL "on") + SET(${VAR} "ON" PARENT_SCOPE) + ELSEIF(VALUE STREQUAL "yes") + SET(${VAR} "ON" PARENT_SCOPE) + ELSEIF(VALUE STREQUAL "true") + SET(${VAR} "ON" PARENT_SCOPE) + ELSEIF(VALUE STREQUAL "1") + SET(${VAR} "ON" PARENT_SCOPE) + ELSEIF(VALUE STREQUAL "off") + SET(${VAR} "OFF" PARENT_SCOPE) + ELSEIF(VALUE STREQUAL "no") + SET(${VAR} "OFF" PARENT_SCOPE) + ELSEIF(VALUE STREQUAL "false") + SET(${VAR} "OFF" PARENT_SCOPE) + ELSEIF(VALUE STREQUAL "0") + SET(${VAR} "OFF" PARENT_SCOPE) + ENDIF() +ENDFUNCTION() diff --git a/cmake/Modules/SelectGSSAPI.cmake b/cmake/Modules/SelectGSSAPI.cmake index 857c449e7..9b2bb1fc5 100644 --- a/cmake/Modules/SelectGSSAPI.cmake +++ b/cmake/Modules/SelectGSSAPI.cmake @@ -2,12 +2,15 @@ # We try to find any packages our backends might use +INCLUDE(SanitizeBool) + FIND_PACKAGE(GSSAPI) IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") INCLUDE(FindGSSFramework) ENDIF() # Auto-select GSS backend +SanitizeBool(USE_GSSAPI) IF (USE_GSSAPI STREQUAL ON) IF (GSSFRAMEWORK_FOUND) SET(GSS_BACKEND "GSS.framework") diff --git a/cmake/Modules/SelectHTTPSBackend.cmake b/cmake/Modules/SelectHTTPSBackend.cmake index c7f6b8f1d..f9b0b1cdc 100644 --- a/cmake/Modules/SelectHTTPSBackend.cmake +++ b/cmake/Modules/SelectHTTPSBackend.cmake @@ -1,5 +1,7 @@ # Select the backend to use +INCLUDE(SanitizeBool) + # We try to find any packages our backends might use FIND_PACKAGE(OpenSSL) FIND_PACKAGE(mbedTLS) @@ -9,6 +11,7 @@ IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") ENDIF() # Auto-select TLS backend +SanitizeBool(USE_HTTPS) IF (USE_HTTPS STREQUAL ON) IF (SECURITY_FOUND) IF (SECURITY_HAS_SSLCREATECONTEXT) diff --git a/cmake/Modules/SelectHashes.cmake b/cmake/Modules/SelectHashes.cmake index ce28ac23c..a1339c173 100644 --- a/cmake/Modules/SelectHashes.cmake +++ b/cmake/Modules/SelectHashes.cmake @@ -1,7 +1,10 @@ # Select a hash backend +INCLUDE(SanitizeBool) + # USE_SHA1=CollisionDetection(ON)/HTTPS/Generic/OFF +SanitizeBool(USE_SHA1) IF(USE_SHA1 STREQUAL ON OR USE_SHA1 STREQUAL "CollisionDetection") SET(SHA1_BACKEND "CollisionDetection") ELSEIF(USE_SHA1 STREQUAL "HTTPS") |