#
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 ...
|
#
7bab201a |
| 08-Oct-2024 |
Viktor Szakats |
cmake: add native `pkg-config` detection for mbedTLS, MSH3, Quiche, Rustls, wolfSSL Also: - detect and add required system libraries for Rustls on macOS and non-Windows. - add
cmake: add native `pkg-config` detection for mbedTLS, MSH3, Quiche, Rustls, wolfSSL Also: - detect and add required system libraries for Rustls on macOS and non-Windows. - add Linux CMake jobs for the touched dependencies. Caveats: - MSH3 generates a broken `libmsh3.pc`, so needs manual config. Upstream PR: https://github.com/nibanks/msh3/pull/225 - Rustls `.pc` file missing, so needs manual config. An internal change worthy of mention is that we are using the lib path and name information returned by `pkg-config` as-is. Meaning the libname doesn't include the full path, like it's usual with native cmake detection. The path comes separately and needs to be rolled separately. For this we add it to targets via `link_directories()`. We also keep tab of them in `CURL_LIBDIRS` and use that in `libcurl.pc`. Feature checks also need to receive these paths. CMake doesn't offer a `CMAKE_REQUIRED_*` variable for this purpose, only a `CMAKE_REQUIRED_LINK_OPTIONS` accepting raw linker flags. Add a macro to convert a list of paths to linker options to solve it. wolfSSL requires this for now. Closes #15193
show more ...
|
#
211cbcb4 |
| 19-Aug-2024 |
Viktor Szakats |
cmake: rename Find modules - `FindCARES` -> `FindCares` - `FindLibPSL` -> `FindLibpsl` - `FindLibSSH2` -> `FindLibssh2` - `FindQUICHE` -> `FindQuiche` - `Findrustls` ->
cmake: rename Find modules - `FindCARES` -> `FindCares` - `FindLibPSL` -> `FindLibpsl` - `FindLibSSH2` -> `FindLibssh2` - `FindQUICHE` -> `FindQuiche` - `Findrustls` -> `FindRustls` Our convention for naming Find modules (the part after the `Find` prefix, also called as 'package name') is: Always start with uppercase. Follow with lowercase, unless there is a clear preference for a stylized name. E.g. the project itself uses it that way with a matching `<Name>Config.cmake` file, or we use it that way elsewhere, or the name is an acronym. Ref: #14580 Closes #14601
show more ...
|