curl/CMake
Viktor Szakats 1db9af2b9e
cmake: tweaks around debug mode and hidden symbols
- emit warning for `ENABLE_DEBUG` builds.

- add words to clarify that `ENABLE_DEBUG` is meant for developing curl
  itself.

- add comment saying `CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON`
  CMake option may export extra, non-curl symbols.
  Ref: https://github.com/microsoft/vcpkg/issues/41761
  Unexplained exports seen also in curl CI:
  ```
  [ 742] _tcschr
  [ 743] _tcsncmp
  [ 744] _tcsncpy
  [ 745] _tcspbrk
  ```
  https://ci.appveyor.com/project/curlorg/curl/builds/50864041/job/lolledrg4h7hu6e4?fullLog=true#L2160
  CMake extracts these symbols from `.obj` files:
  https://gitlab.kitware.com/cmake/cmake/-/issues/22092#note_943718
  I have not found any new MSVC option that helps fixing this without
  decorating all functions in-source or maintaining a manual list of
  internal function names used for tests:
  https://learn.microsoft.com/cpp/build/reference/wholearchive-include-all-library-object-files

Closes #15414
2024-10-27 14:26:45 +01:00
..
Platforms cmake: tidy-ups and rebase fixups 2024-10-12 22:33:29 +02:00
cmake_uninstall.cmake.in
CMakeConfigurableFile.in
curl-config.cmake.in
CurlSymbolHiding.cmake cmake: tweaks around debug mode and hidden symbols 2024-10-27 14:26:45 +01:00
CurlTests.c cmake: apply WIN32_LEAN_AND_MEAN to all feature checks 2024-10-11 17:57:03 +02:00
FindBearSSL.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindBrotli.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindCares.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindGSS.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindLibgsasl.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindLibidn2.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindLibpsl.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindLibssh2.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindLibssh.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindLibuv.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindMbedTLS.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindMSH3.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindNettle.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindNGHTTP2.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindNGHTTP3.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindNGTCP2.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindQuiche.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindRustls.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindWolfSSH.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindWolfSSL.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindZstd.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
Macros.cmake cmake: use list(APPEND) on CURL_INCLUDES 2024-10-24 19:16:10 +02:00
OtherTests.cmake cmake: use the BSD variable 2024-10-22 20:20:41 +02:00
PickyWarnings.cmake build: disable warning -Wunreachable-code-break 2024-10-27 14:11:18 +01:00
Utilities.cmake