mirror of
https://github.com/curl/curl.git
synced 2026-04-12 00:11:42 +08:00
By passing to clang-tidy the C compiler with `--target` and sysroot
options, if any.
Fixing (GHA/windows, linux-mingw, CM clang-tidy):
```
lib/curl_setup.h:841:10: error: 'io.h' file not found [clang-diagnostic-error]
841 | #include <io.h>
| ^~~~~~
Found compiler error(s).
FAILED: [code=1] tests/server/CMakeFiles/servers-clang-tidy bld/tests/server/CMakeFiles/servers-clang-tidy
cd tests/server && /usr/bin/clang-tidy --config-file=.clang-tidy.yml
--warnings-as-errors=* --checks=-clang-diagnostic-unused-function first.c getpart.c util.c dnsd.c [...]
-- <-D-options> <-I-options> <cflags>
```
For reference, this is CMake's built-in clang-tidy invocation:
```
/usr/local/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;--config-file=.clang-tidy.yml;
--warnings-as-errors=*;--extra-arg-before=--driver-mode=gcc" --source=lib/curl_fopen.c
-- /usr/bin/clang --target=x86_64-w64-mingw32 <-D-options> <-I-options> <cflags>
```
Also:
- bump cmakelint `--max-statements`. Needs 59 after this patch.
- use undocumented CMake variables:
- `CMAKE_C_COMPILE_OPTIONS_TARGET` for `--target=`
- `CMAKE_C_COMPILE_OPTIONS_SYSROOT` for `--sysroot=`
Cherry-picked from #20631
Closes #20640
|
||
|---|---|---|
| .. | ||
| .checksrc | ||
| cd2cd | ||
| cd2nroff | ||
| cdall | ||
| checksrc-all.pl | ||
| checksrc.pl | ||
| ciconfig.pl | ||
| cijobs.pl | ||
| cmakelint.sh | ||
| CMakeLists.txt | ||
| completion.pl | ||
| contributors.sh | ||
| contrithanks.sh | ||
| coverage.sh | ||
| delta | ||
| dmaketgz | ||
| extract-unit-protos | ||
| firefox-db2pem.sh | ||
| installcheck.sh | ||
| Makefile.am | ||
| maketgz | ||
| managen | ||
| mdlinkcheck | ||
| mk-ca-bundle.pl | ||
| mk-unity.pl | ||
| nroff2cd | ||
| perlcheck.sh | ||
| pythonlint.sh | ||
| randdisable | ||
| release-notes.pl | ||
| release-tools.sh | ||
| schemetable.c | ||
| singleuse.pl | ||
| spacecheck.pl | ||
| top-complexity | ||
| verify-release | ||
| wcurl | ||