curl/CMake
Viktor Szakats 6ab1fa423b
cmake: fix/add missing feature detections for Windows/MS-DOS
Almost all feature detection results are pre-filled on Windows
for performance, so none of the issues fixed here affected builds.

For good measure, this patch add missing detections and fixes others
to make sure they work even when omitting the pre-fill.

It also fixes detecting IPv6 for MS-DOS.

- fix `HAVE_STRUCT_TIMEVAL` detection for MSVC.
  Follow-up to c1bc090d65 #12495
- add `HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID` detection for Windows.
- fix `HAVE_STRDUP` detection for MSVC.
- fix `HAVE_SNPRINTF` detection for Windows.
  Regression from 8e34505776 #15164
- fix `HAVE_IOCTLSOCKET` detection for non-UWP MSVC.
- exclude `if_nametoindex` detection for Windows.
  Although it exists on Windows, detection, usage and availability is
  complicated, and curl doesn't use it on this platform.
  Regression from 8e34505776 #15164
- move IPv6 detections so that pre-filling and MS-DOS Watt-32
  configuration applies to them. This fixes
  `HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID` detection with MS-DOS.
  Ref: https://github.com/curl/curl/actions/runs/13260511764/job/37015877585#step:7:306
  Follow-up to a3585c9576 #15543

Also:
- add debug option to test without pre-filling.
- replace `NOT LESS` with `GREATER_EQUAL`

Closes #16278
2025-02-11 14:15:40 +01:00
..
cmake_uninstall.cmake.in cmake: more small tidy-ups and fixes 2024-08-08 13:48:28 +02:00
CMakeConfigurableFile.in copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl-config.cmake.in cmake: drop CURL_USE_PKGCONFIG from curl-config.cmake.in 2025-01-25 15:21:17 +01:00
CurlSymbolHiding.cmake Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
CurlTests.c cmake: fix/add missing feature detections for Windows/MS-DOS 2025-02-11 14:15:40 +01:00
FindBearSSL.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindBrotli.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindCares.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindGSS.cmake cmake: drop redundant opening/closing .* from MATCH expressions 2024-12-20 11:38:59 +01:00
FindLDAP.cmake cmake/FindLDAP: avoid framework locations for libs too (Apple) 2025-01-02 12:55:50 +01:00
FindLibgsasl.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibidn2.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibpsl.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibrtmp.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibssh2.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibssh.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibuv.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindMbedTLS.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindMSH3.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNettle.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindNGHTTP2.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNGHTTP3.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNGTCP2.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindQuiche.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindRustls.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindWolfSSH.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindWolfSSL.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindZstd.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
Macros.cmake cmake: initialize variables where missing 2025-02-06 23:32:37 +01:00
OtherTests.cmake cmake: fix/add missing feature detections for Windows/MS-DOS 2025-02-11 14:15:40 +01:00
PickyWarnings.cmake cmake: tidy up string append and list prepend syntax 2025-02-06 23:25:40 +01:00
Utilities.cmake cmake: add integration tests, run them in CI 2025-02-07 00:15:48 +01:00
win32-cache.cmake cmake: fix/add missing feature detections for Windows/MS-DOS 2025-02-11 14:15:40 +01:00