#
aafc074f |
| 25-Oct-2024 |
Viktor Szakats |
cmake: clear package version after `pkg-config` detection `pkg_check_modules()` seems to leave `<PACKAGE>_VERSION` defined with an empty value, if the package is not found. When
cmake: clear package version after `pkg-config` detection `pkg_check_modules()` seems to leave `<PACKAGE>_VERSION` defined with an empty value, if the package is not found. When the package is also not found in the fallback branch, `find_package_handle_standard_args()` logs and error message. In this message it includes the bogus empty value as: `(found version "")`: ``` Could NOT find Libssh2 (missing: LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY) (found version "") ``` https://github.com/curl/curl/actions/runs/11509727553/job/32040378958?pr=15408#step:31:99 Clear the version number to avoid the confusion: ``` Could NOT find Libssh2 (missing: LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY) ``` https://github.com/curl/curl/actions/runs/11510022503/job/32041149129?pr=15408#step:31:99 Seen with CMake v3.30.5. Follow-up to 7bab201abe3915a0167c002f9308950cb8a06e4b #15193 Closes #15409
show more ...
|
#
f66af623 |
| 24-Oct-2024 |
Viktor Szakats |
cmake: document `-D` and env build options Extend `INSTALL-CMAKE` document with the list of available options, a short description and default values. The list may not be 100% c
cmake: document `-D` and env build options Extend `INSTALL-CMAKE` document with the list of available options, a short description and default values. The list may not be 100% complete. There are no component boundaries in CMake, so the line is blurry between curl options, CMake options, CMake Find modules options. I included certain CMake options that seemed useful, and/or have dedicated use withing curl's CMake source. But, all CMake built-in options are usable, as documented upstream in CMake. The naming of the options has a heritage and the inconsistencies with it, including a lack of clear namespace. This may be subject to future updates, also after figuring out which name has special meaning within CMake and/or CMake projects out of unwritten convention or something more tangible. CMake allows to initialize any internal variable via `-D`. This may be useful to pre-initialize/override feature check results. The list doesn't contain these, and they remain officially undocumented. Also: - make adjustments to keep the spellchecker happy. - retrofit description changes to the cmake sources. - stop documenting deprecated `Find*` variables. Reported-by: Daniel Stenberg Fixes https://github.com/curl/curl/discussions/14885 Closes #15388
show more ...
|
#
432f2fd9 |
| 16-Aug-2024 |
Viktor Szakats |
cmake: sync up version detection in Find modules - use the same pattern across all Find modules: - verify if the version header exists before reading it. - use a single regex per
cmake: sync up version detection in Find modules - use the same pattern across all Find modules: - verify if the version header exists before reading it. - use a single regex per lookup. - sync regexes between Find modules. - use generic temporary variable names. - improve readability. - make it simpler to transition to new CMake syntax in the future: ```cmake file(STRINGS "${CARES_INCLUDE_DIR}/ares_version.h" _version_str REGEX "<...>") unset(_version_str) set(CARES_VERSION "${CMAKE_MATCH_1}") ``` Ref: https://cmake.org/cmake/help/latest/policy/CMP0159.html#policy:CMP0159 - fix zstd version detection to be CMake 3.7 compatible. Required 3.9 before this patch, for the `CMAKE_MATCH_<n>` feature. Follow-up to c5d506e9bbf0669d7605d1d00865ae7e229b2409 #12200 Follow-up to 4e2f3641f80e233738147d82218317f331369c50 #14548 Closes #14572
show more ...
|
#
0d8fdd1c |
| 15-Aug-2024 |
Viktor Szakats |
cmake: add wolfSSH support Enable with CMake option `-DCURL_USE_WOLFSSH=ON`. Customize with `-DWOLFSSH_INCLUDE_DIR=<path-to-wolfssh>/include`, `-DWOLFSSH_LIBRARY=<path-to-wolfssh>/li
cmake: add wolfSSH support Enable with CMake option `-DCURL_USE_WOLFSSH=ON`. Customize with `-DWOLFSSH_INCLUDE_DIR=<path-to-wolfssh>/include`, `-DWOLFSSH_LIBRARY=<path-to-wolfssh>/lib/libwolfssh.a`. It requires the wolfSSL TLS backend. Closes #14568
show more ...
|