Преглед изворни кода

VERIFY_INTERFACE_HEADER_SETS: Suppress clang-tidy include checks

`clang-tidy-17` adds include checks similar to IWYU.  Suppress them in
generated code.
ClausKlein пре 1 година
родитељ
комит
eb66549c7c

+ 4 - 2
Source/cmGeneratorTarget.cxx

@@ -9194,8 +9194,10 @@ std::string cmGeneratorTarget::GenerateHeaderSetVerificationFile(
   // consider the headerFile as part of the entire language
   // unit within include-what-you-use and as a result allows
   // one to get IWYU advice for headers.
-  fout << "#include <" << headerFilename
-       << "> /* IWYU pragma: associated */\n";
+  // Also suppress clang-tidy include checks in generated code.
+  fout
+    << "/* NOLINTNEXTLINE(misc-header-include-cycle,misc-include-cleaner) */\n"
+    << "#include <" << headerFilename << "> /* IWYU pragma: associated */\n";
   fout.close();
 
   return filename;

+ 1 - 1
Tests/RunCMake/VerifyHeaderSets/VerifyHeaderSets-check.cmake

@@ -9,7 +9,7 @@ function(check_file target filename)
   if(filename MATCHES "^(.*)(\\.[a-z]+)$")
     set(header_filename "${CMAKE_MATCH_1}")
   endif()
-  set(expected_contents "#include <${header_filename}> /* IWYU pragma: associated */\n")
+  set(expected_contents "/* NOLINTNEXTLINE(misc-header-include-cycle,misc-include-cleaner) */\n#include <${header_filename}> /* IWYU pragma: associated */\n")
   file(READ "${full_filename}" actual_contents)
 
   if(NOT actual_contents STREQUAL expected_contents)