cmake: add CURL_USE_GSASL option with detection + CI test

Reviewed-by: Viktor Szakats
Closes #13948
This commit is contained in:
Tal Regev 2024-06-14 08:09:55 +03:00 committed by Daniel Stenberg
parent 8dc4493d54
commit 66bf995d1c
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
3 changed files with 15 additions and 2 deletions

View File

@ -220,8 +220,8 @@ jobs:
- CC: gcc-12
build:
- name: OpenSSL
install: nghttp2 openssl
generate: -DOPENSSL_ROOT_DIR=$(brew --prefix)/opt/openssl -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9
install: nghttp2 openssl gsasl
generate: -DOPENSSL_ROOT_DIR=$(brew --prefix)/opt/openssl -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCURL_USE_GSASL=ON
- name: LibreSSL
install: nghttp2 libressl
generate: -DOPENSSL_ROOT_DIR=$(brew --prefix)/opt/libressl -DCURL_DISABLE_LDAP=ON -DCURL_DISABLE_LDAPS=ON -DBUILD_EXAMPLES=ON

View File

@ -980,6 +980,15 @@ if(NOT USE_LIBSSH2 AND CURL_USE_LIBSSH)
endif()
endif()
option(CURL_USE_GSASL "Use GSASL implementation" OFF)
mark_as_advanced(CURL_USE_GSASL)
if(CURL_USE_GSASL)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GSASL REQUIRED libgsasl)
list(APPEND CURL_LIBS ${GSASL_LINK_LIBRARIES})
set(USE_GSASL ON)
endif()
option(CURL_USE_GSSAPI "Use GSSAPI implementation (right now only Heimdal is supported with CMake build)" OFF)
mark_as_advanced(CURL_USE_GSSAPI)
@ -1644,6 +1653,7 @@ if(NOT CURL_DISABLE_INSTALL)
_add_if("UnixSockets" USE_UNIX_SOCKETS)
_add_if("libz" HAVE_LIBZ)
_add_if("brotli" HAVE_BROTLI)
_add_if("gsasl" USE_GSASL)
_add_if("zstd" HAVE_ZSTD)
_add_if("AsynchDNS" USE_ARES OR USE_THREADS_POSIX OR USE_THREADS_WIN32)
_add_if("IDN" HAVE_LIBIDN2 OR USE_WIN32_IDN OR USE_APPLE_IDN)

View File

@ -719,6 +719,9 @@ ${SIZEOF_TIME_T_CODE}
/* if librtmp/rtmpdump is in use */
#cmakedefine USE_LIBRTMP 1
/* if GSASL is in use */
#cmakedefine USE_GSASL 1
/* Define to 1 if you don't want the OpenSSL configuration to be loaded
automatically */
#cmakedefine CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG 1