cmake: add CURL_PATCHSTAMP configuration variable, test in CI

Also:
- INSTALL-CMAKE.md: alpha sort.

Closes #20576
This commit is contained in:
Viktor Szakats 2026-02-12 16:55:53 +01:00
parent 516a0cd382
commit 5edd79aa93
No known key found for this signature in database
4 changed files with 10 additions and 2 deletions

View file

@ -166,7 +166,7 @@ jobs:
- name: 'awslc'
install_packages: libidn2-dev
install_steps: awslc
generate: -DOPENSSL_ROOT_DIR=/home/runner/awslc -DUSE_ECH=ON -DCMAKE_UNITY_BUILD=OFF -DCURL_DROP_UNUSED=ON
generate: -DOPENSSL_ROOT_DIR=/home/runner/awslc -DUSE_ECH=ON -DCMAKE_UNITY_BUILD=OFF -DCURL_DROP_UNUSED=ON -DCURL_PATCHSTAMP=test-patch
- name: 'boringssl'
install_steps: boringssl pytest

View file

@ -149,6 +149,10 @@ else()
set(CURL_OS "\"${CMAKE_SYSTEM_NAME}\"")
endif()
if(CURL_PATCHSTAMP)
set(CURL_PATCHSTAMP "\"${CURL_PATCHSTAMP}\"")
endif()
set(LIB_NAME "libcurl")
set(EXE_NAME "curl")

View file

@ -239,6 +239,7 @@ target_link_libraries(my_target PRIVATE CURL::libcurl)
- `CURL_DEFAULT_SSL_BACKEND`: Override default TLS backend in MultiSSL builds.
Accepted values in order of default priority:
`wolfssl`, `gnutls`, `mbedtls`, `openssl`, `schannel`, `rustls`
- `CURL_DROP_UNUSED`: Drop unused code and data from built binaries. Default: `OFF`
- `CURL_ENABLE_EXPORT_TARGET`: Enable CMake export target. Default: `ON`
- `CURL_HIDDEN_SYMBOLS`: Hide libcurl internal symbols (=hide all symbols that are not officially external). Default: `ON`
- `CURL_LIBCURL_SOVERSION`: Enable libcurl SOVERSION. Default: `ON` for supported platforms
@ -246,7 +247,7 @@ target_link_libraries(my_target PRIVATE CURL::libcurl)
- `CURL_LIBCURL_VERSIONED_SYMBOLS_PREFIX`: Override default versioned symbol prefix. Default: `<TLS-BACKEND>_` or `MULTISSL_`
- `CURL_LINT`: Run lint checks while building. Default: `OFF`
- `CURL_LTO`: Enable compiler Link Time Optimizations. Default: `OFF`
- `CURL_DROP_UNUSED`: Drop unused code and data from built binaries. Default: `OFF`
- `CURL_PATCHSTAMP`: Set security patch string for `curl -V`/`curl --version` output.
- `CURL_STATIC_CRT`: Build libcurl with static CRT with MSVC (`/MT`) (requires UCRT, static libcurl or no curl executable). Default: `OFF`
- `CURL_TARGET_WINDOWS_VERSION`: Minimum target Windows version as hex string.
- `CURL_WERROR`: Turn compiler warnings into errors. Default: `OFF`

View file

@ -330,6 +330,9 @@
/* BoringSSL version */
#cmakedefine CURL_BORINGSSL_VERSION ${CURL_BORINGSSL_VERSION}
/* Patch stamp */
#cmakedefine CURL_PATCHSTAMP ${CURL_PATCHSTAMP}
/* Define to 1 if you have the <ifaddrs.h> header file. */
#cmakedefine HAVE_IFADDRS_H 1