curl-curl/CMake
Viktor Szakats e86542038d
cmake: prefer COMPILE_OPTIONS over CMAKE_C_FLAGS for custom C options
Also:
- pass `-D_GNU_SOURCE` via `COMPILE_DEFINITIONS`.
- make it explicit to pass these C flags to feature checks.
- update `_GNU_SOURCE` comment with `pipe2()`.
- enable `-pedantic-errors` picky option for GCC with CMake <3.23.
- drop redundant condition when stripping existing MSVC `/Wn` options.

CMake passes `CMAKE_C_FLAGS` to targets, feature checks and raw
`try_compile()` calls. With `COMPILE_OPTIONS`, this is limited to
targets, and we must explicitly pass them to feature checks. This
makes the build logic clearer, and offers more control. It also
reduces log noise by omitting these options from linker commands,
and from `CMAKE_C_FLAGS` dumps in feature checks.

Closes #17047
2025-04-14 21:31:39 +02:00
..
cmake_uninstall.cmake.in cmake: replace exec_program() with execute_process() 2025-03-23 00:06:25 +01: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 cmake: quotes, whitespace, use VERSION_GREATER_EQUAL 2025-04-10 01:42:59 +02:00
CurlTests.c core: stop redefining E* macros on Windows, map EACCES, related fixes 2025-03-13 00:03:25 +01:00
FindBearSSL.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindBrotli.cmake build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls) 2025-03-07 13:48:07 +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 build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls) 2025-03-07 13:48:07 +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 build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls) 2025-03-07 13:48:07 +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/FindNGTCP2: simplify multi-pkg-config detection 2025-04-05 23:03:14 +02: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: prefer COMPILE_OPTIONS over CMAKE_C_FLAGS for custom C options 2025-04-14 21:31:39 +02:00
OtherTests.cmake build: fix compiler warnings in feature detections 2025-02-16 02:39:35 +01:00
PickyWarnings.cmake cmake: prefer COMPILE_OPTIONS over CMAKE_C_FLAGS for custom C options 2025-04-14 21:31:39 +02:00
unix-cache.cmake socketpair: support pipe2 where available 2025-04-07 12:35:17 +02:00
Utilities.cmake cmake: add integration tests, run them in CI 2025-02-07 00:15:48 +01:00
win32-cache.cmake cmake: quotes, whitespace, use VERSION_GREATER_EQUAL 2025-04-10 01:42:59 +02:00