summaryrefslogtreecommitdiffstats
path: root/Utilities/IWYU
Commit message (Collapse)AuthorAgeFilesLines
* Revert use of libuv for process execution for 3.28Brad King2024-01-241-4/+0
| | | | | | | | | | | | | | Wide use of CMake 3.28.{1,0[-rcN]} has uncovered some hangs and crashes in libuv SIGCHLD handling on some platforms, particularly in virtualization environments on macOS hosts. Although the bug does not seem to be in CMake, we can restore stability in the CMake 3.28 release series for users of such platforms by reverting our new uses of libuv for process execution. Revert implementation changes merged by commit 4771544386 (Merge topic 'replace-cmsysprocess-with-cmuvprocesschain', 2023-09-06, v3.28.0-rc1~138), but keep test suite updates. Issue: #25414, #25500, #25562, #25589
* Source: Fix mysterious new IWYU warningsKyle Edwards2023-08-291-0/+4
|
* IWYU: Update for Debian 12 CI jobBrad King2023-07-281-63/+11
| | | | | | `include-what-you-use` diagnostics, in practice, are specific to the environment's compiler and standard library. Update includes to satisfy IWYU for our CI job under Debian 12.
* ctest: Optionally terminate tests with a custom signal on timeoutBrad King2023-06-021-0/+1
| | | | | | | | CTest normally terminates test processes on timeout using `SIGKILL`. Offer tests a chance to exit gracefully, on platforms supporting POSIX signals, by setting `TIMEOUT_SIGNAL_{NAME,GRACE_PERIOD}` properties. Fixes: #17288
* IWYU: Add mapping for bits/chrono.h to chronoBrad King2023-05-311-0/+1
|
* cmake: Add debuggerGlen Chung2023-05-301-0/+2
| | | | | | | | | | | | | | | | - Depends on cppdap and jsoncpp. - Add --debugger argument to enable the Debugger. - Add --debugger-pipe argument for DAP traffics over named pipes. - Support breakpoints by filenames and line numbers. - Support exception breakpoints. - Call stack shows filenames and line numbers. - Show Cache Variables. - Show the state of currently defined targets, tests and directories with their properties. - Add cmakeVersion to DAP initialize response. - Include unit tests. Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
* iwyu: ignore `std::remove_reference` requirementsBen Boeckel2023-05-161-0/+1
| | | | This removes some includes from some existing files.
* IWYU: Add mapping for 'std::remove_reference<Defer &>::type'Brad King2023-04-051-0/+1
| | | | | | | IWYU sometimes thinks that `cmCMakeLanguageCommand.cxx` mentions this type and suggests including `<type_traits>` for it. The type is only used internally by standard library functions. Work around the problem by mapping the offending name to a file that we always include.
* Merge topic 'ccg-index-type'Brad King2023-02-011-0/+1
|\ | | | | | | | | | | | | | | | | | | 91a26ce041 cmComputeComponentGraph: use `size_t` for component indices 65c0a64dc5 cmComputeComponentGraph: use a name for "invalid component" 50abdaab93 IWYU: exclude `__decay_and_strip<int>` as well Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8128
| * IWYU: exclude `__decay_and_strip<int>` as wellBen Boeckel2023-01-271-0/+1
| |
* | Merge topic 'update-curl'Brad King2023-01-311-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8443dfa946 curl: Work around missing OpenSSL symbol on machine with LCC 1.23 f9f5957884 Merge branch 'upstream-curl' into update-curl dac458ddbf curl 2022-12-21 (c12fb3dd) 39dcf9469d curl: Update script to get curl 7.87.0 b2fe717a49 file: Avoid using deprecated curl progress callback 1cd38de47f ctest: Drop unnecessary use of deprecated CURLOPT_PUT Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8131
| * | file: Avoid using deprecated curl progress callbackBrad King2023-01-271-0/+1
| |/
* | CMake: add an option to run IWYU in verbose modeBen Boeckel2023-01-271-1/+1
|/ | | | | This helps to diagnose places where IWYU asks to include headers for internal stdlib details.
* cmArgumentParser: Simplify internal method signaturesBrad King2022-07-201-1/+1
| | | | | Record `Parse` parameters during construction of the internal instance instead of passing them to every method.
* zlib: Mangle symbols to avoid conflict with external transitive dependenciesBrad King2022-06-111-0/+1
| | | | | | Mangling was dropped by commit fc22ac115e (zlib: Drop old sources to make room for a fresh import, 2022-05-26). Restore it for the new import of upstream zlib.
* zlib: Drop old sources to make room for a fresh importBrad King2022-05-261-1/+0
|
* cmConstStack: Factor out of cmListFileBacktraceBrad King2022-04-021-0/+3
| | | | | | | This presents value semantics for a stack of constant values. Internally it shares ownership to avoid copies. Previously this was implemented by `cmListFileBacktrace` explicitly, but the approach can be re-used for other kinds of stacks.
* IWYU: Map jsoncpp internal header to its public headerBrad King2021-09-101-0/+1
|
* ctest: Add support for writing test results in JUnit XML formatZack Galbreath2021-04-261-0/+1
| | | | Addresses #18654
* CMakePresets.json: Add the ability to conditionally disable presetsKyle Edwards2021-03-221-0/+1
|
* IWYU: Map <*> headers to <cm/*> headersKyle Edwards2020-10-081-1/+6
| | | | | For headers which exclusively contain things that were not present in C++11.
* Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-50/+9
| | | | Fixes: #20666
* IWYU: add a mapping for other `__decay_and_strip` instancesBen Boeckel2020-04-291-0/+2
|
* IWYU: add some mappings found with a newer IWYU buildBen Boeckel2020-04-291-0/+2
|
* cmFileLockPool: enhance items managementMarc Chevrier2019-11-141-0/+2
|
* Refactor: Modernize `foreach` code and fix some bugsAlex Turbov2019-11-061-0/+1
| | | | | | - fix the typo in `foreach` documentation - fix broken `foreach(... IN ITEMS ... LISTS ...)` - add tests of `foreach` for existed functionality and fixes
* cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+0
| | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* Precompile headers: Add methods to generate PCH sourcesCristian Adam2019-08-281-0/+2
| | | | Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Introduce memory management helper: cm_memory.hxxMarc Chevrier2019-07-141-0/+2
|
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-2/+9
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* Introduce cmArgumentParserRegina Pfeifer2019-04-041-0/+1
|
* libuv: Update CMake-internal buildsystemBrad King2019-01-171-2/+2
|
* IWYU: Update CMake code for IWYU built with Clang 6Brad King2019-01-151-0/+3
| | | | | IWYU now correctly requires `<utility>` for `std::move`. It also requires a container header when used via a range-based for loop.
* Merge topic 'fileapi'Brad King2018-12-131-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9c6f08276 Help: Add release note for fileapi feature 4b6b2a571c fileapi: extend codemodel v2 with directory details eb8c7676a4 fileapi: extend codemodel v2 with a project model 42f0125ceb fileapi: Add test for cmakeFiles v1 6615408193 fileapi: add cmakeFiles v1 3f6ee75a66 fileapi: Add test for cache v2 7489e95b8e fileapi: add cache v2 ea0a060168 fileapi: Add test for codemodel v2 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2706
| * fileapi: add codemodel v2Brad King2018-12-121-0/+2
| | | | | | | | | | | | Start with v2 to distinguish it from server-mode v1. Issue: #18398
* | CTest: Remove submit method 'xmlrpc'Regina Pfeifer2018-11-281-3/+0
|/
* IWYU: Fix workaround mapping for std::hashBrad King2018-08-071-1/+1
| | | | | | | | | It is provided by `functional`, not `utility`. Fix the mapping added by commit 276d3c7afe (IWYU: Add workaround mapping for std::hash, 2018-07-31). Also generalize the workaround from commit v3.12.0-rc1~39^2~1 (IWYU: Define a macro to tell code it is preprocessing for iwyu, 2018-05-25) to allow local builds to configure specific flags. This is needed because iwyu behaves differently in different environments.
* IWYU: Add workaround mapping for std::hashBrad King2018-07-311-0/+3
| | | | | When using GCC 8's standard library IWYU thinks that `<system_error>` must be included to get `std::hash`. Add a mapping for `<utility>`.
* IWYU: Add more workaround mappings for internal bitsBrad King2018-01-221-0/+3
| | | | | | | | | Extend our hack section of mappings to work around IWYU incorrectly requiring: * bits/stdint-uintn.h for stdint.h * bits/stdint-intn.h for stdint.h * bits/types/mbstate_t.h for wchar.h
* CTest: convert timeouts to std::chrono::durationWouter Klouwen2017-12-041-0/+1
| | | | | | | | | This commit continues the refactoring of CTest to adopt std::chrono. After the last sets of changes that introduced std::chrono::steady_clock and std::chrono::system_clock respectively, it makes sense to have all the timeouts be stored as std::chrono::duration. No functional change intended.
* IWYU: Add mappings for std::enable_if on chrono durationsBrad King2017-11-281-0/+4
| | | | | | | | IWYU incorrectly classifies this internal STL type as not internal, and suggests including `<type_traits>` for it. Work around the problem by mapping the offending names to a file that we always include. See include-what-you-use issue 434.
* IWYU: Add more mappings for std::__decay_and_stripBrad King2017-11-211-0/+2
| | | | | | | | IWYU incorrectly classifies this internal STL type as not internal, and suggests including `<type_traits>` for it. Work around the problem by mapping the offending names to a file that we always include. See include-what-you-use issue 434.
* Retire std::auto_ptr and its macro CM_AUTO_PTRMatthias Maennich2017-09-251-6/+0
| | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Use C++11 unordered containersDaniel Pfeifer2017-08-221-20/+0
|
* server: Refactor to make the event loop owned by server objectJustin Berger2017-07-111-0/+1
|
* IWYU: update mapping for gcc 7.1Daniel Pfeifer2017-05-301-0/+1
|
* IWYU: add mapping for std::__decay_and_stripDaniel Pfeifer2017-05-241-0/+13
|
* IWYU: map system symbols to libuvDaniel Pfeifer2017-05-051-0/+5
|
* IWYU: add mapping for cm::auto_ptrDaniel Pfeifer2017-05-051-0/+6
|
* Add include-what-you-use mappingDaniel Pfeifer2017-04-131-0/+136