From 232467eb1c0dab9156cd8c4af56aad3959cbee4b Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Tue, 29 Nov 2022 13:39:10 -0500 Subject: clang-tidy: add _CLANG_TIDY_EXPORT_FIXES_DIR property Fixes: #21362 --- Help/prop_tgt/LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Help/prop_tgt/LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst (limited to 'Help/prop_tgt/LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst') diff --git a/Help/prop_tgt/LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst b/Help/prop_tgt/LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst new file mode 100644 index 0000000000..265fade753 --- /dev/null +++ b/Help/prop_tgt/LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst @@ -0,0 +1,29 @@ +_CLANG_TIDY_EXPORT_FIXES_DIR +---------------------------------- + +.. versionadded:: 3.26 + +This property is implemented only when ```` is ``C``, ``CXX``, ``OBJC`` +or ``OBJCXX``, and only has an effect when :prop_tgt:`_CLANG_TIDY` is +set. + +Specify a directory for the ``clang-tidy`` tool to put ``.yaml`` files +containing its suggested changes in. This can be used for automated mass +refactoring by ``clang-tidy``. Each object file that gets compiled will have a +corresponding ``.yaml`` file in this directory. After the build is completed, +you can run ``clang-apply-replacements`` on this directory to simultaneously +apply all suggested changes to the code base. If this property is not an +absolute directory, it is assumed to be relative to the target's binary +directory. This property should be preferred over adding an ``--export-fixes`` +or ``--fix`` argument directly to the :prop_tgt:`_CLANG_TIDY` property. + +At generate-time, in order to avoid passing stale fixes from old code to +``clang-apply-replacements``, CMake will search the directory for any ``.yaml`` +files that won't be generated by ``clang-tidy`` during the build, and delete +them. In addition, just before running ``clang-tidy`` on a file, CMake will +delete that file's corresponding ``.yaml`` file in case ``clang-tidy`` doesn't +produce any fixes. + +This property is initialized by the value of +the :variable:`CMAKE__CLANG_TIDY_EXPORT_FIXES_DIR` variable if it is set +when a target is created. -- cgit v1.2.1