xref: /llvm-project/clang-tools-extra/clang-tidy/misc/CMakeLists.txt (revision 1f2c08b33b848dfdfeecdc7cee3644591407e219)
1set(LLVM_LINK_COMPONENTS
2  FrontendOpenMP
3  Support
4  )
5
6setup_host_tool(clang-tidy-confusable-chars-gen CLANG_TIDY_CONFUSABLE_CHARS_GEN clang_tidy_confusable_chars_gen clang_tidy_confusable_chars_gen_target)
7
8add_subdirectory(ConfusableTable)
9
10include_directories(BEFORE "${CMAKE_CURRENT_SOURCE_DIR}/../../include-cleaner/include")
11
12add_custom_command(
13    OUTPUT Confusables.inc
14    COMMAND ${clang_tidy_confusable_chars_gen} ${CMAKE_CURRENT_SOURCE_DIR}/ConfusableTable/confusables.txt ${CMAKE_CURRENT_BINARY_DIR}/Confusables.inc
15    DEPENDS ${clang_tidy_confusable_chars_gen_target} ConfusableTable/confusables.txt)
16
17add_custom_target(genconfusable DEPENDS Confusables.inc)
18set_target_properties(genconfusable PROPERTIES FOLDER "Clang Tools Extra/Sourcegenning")
19
20add_clang_library(clangTidyMiscModule STATIC
21  ConstCorrectnessCheck.cpp
22  CoroutineHostileRAIICheck.cpp
23  DefinitionsInHeadersCheck.cpp
24  ConfusableIdentifierCheck.cpp
25  HeaderIncludeCycleCheck.cpp
26  IncludeCleanerCheck.cpp
27  MiscTidyModule.cpp
28  MisleadingBidirectional.cpp
29  MisleadingIdentifier.cpp
30  MisplacedConstCheck.cpp
31  NewDeleteOverloadsCheck.cpp
32  NoRecursionCheck.cpp
33  NonCopyableObjects.cpp
34  NonPrivateMemberVariablesInClassesCheck.cpp
35  RedundantExpressionCheck.cpp
36  StaticAssertCheck.cpp
37  ThrowByValueCatchByReferenceCheck.cpp
38  UnconventionalAssignOperatorCheck.cpp
39  UniqueptrResetReleaseCheck.cpp
40  UnusedAliasDeclsCheck.cpp
41  UnusedParametersCheck.cpp
42  UnusedUsingDeclsCheck.cpp
43  UseAnonymousNamespaceCheck.cpp
44  UseInternalLinkageCheck.cpp
45
46  LINK_LIBS
47  clangTidy
48  clangTidyUtils
49
50  DEPENDS
51  omp_gen
52  genconfusable
53  ClangDriverOptions
54  )
55
56clang_target_link_libraries(clangTidyMiscModule
57  PRIVATE
58  clangAnalysis
59  clangAST
60  clangASTMatchers
61  clangBasic
62  clangFormat
63  clangLex
64  clangSerialization
65  clangTooling
66  clangToolingInclusions
67  clangToolingInclusionsStdlib
68  )
69target_link_libraries(clangTidyMiscModule
70  PRIVATE
71  clangIncludeCleaner
72  )
73