File link-clang-tools-extra-shared.patch of Package llvm10

diff --git a/clang-tools-extra/clang-apply-replacements/CMakeLists.txt b/clang-tools-extra/clang-apply-replacements/CMakeLists.txt
index 5bfdcb487e1..9950f2ec335 100644
--- a/clang-tools-extra/clang-apply-replacements/CMakeLists.txt
+++ b/clang-tools-extra/clang-apply-replacements/CMakeLists.txt
@@ -4,8 +4,9 @@ set(LLVM_LINK_COMPONENTS
 
 add_clang_library(clangApplyReplacements
   lib/Tooling/ApplyReplacements.cpp
+  )
 
-  LINK_LIBS
+clang_target_link_libraries(clangApplyReplacements INTERFACE
   clangAST
   clangBasic
   clangRewrite
diff --git a/clang-tools-extra/clang-change-namespace/CMakeLists.txt b/clang-tools-extra/clang-change-namespace/CMakeLists.txt
index 178306423eb..599a422476a 100644
--- a/clang-tools-extra/clang-change-namespace/CMakeLists.txt
+++ b/clang-tools-extra/clang-change-namespace/CMakeLists.txt
@@ -4,8 +4,9 @@ set(LLVM_LINK_COMPONENTS
 
 add_clang_library(clangChangeNamespace
   ChangeNamespace.cpp
+  )
 
-  LINK_LIBS
+clang_target_link_libraries(clangChangeNamespace INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
diff --git a/clang-tools-extra/clang-doc/CMakeLists.txt b/clang-tools-extra/clang-doc/CMakeLists.txt
index c301ad5afac..0ad372426e6 100644
--- a/clang-tools-extra/clang-doc/CMakeLists.txt
+++ b/clang-tools-extra/clang-doc/CMakeLists.txt
@@ -14,8 +14,9 @@ add_clang_library(clangDoc
   Representation.cpp
   Serialize.cpp
   YAMLGenerator.cpp
+  )
 
-  LINK_LIBS
+clang_target_link_libraries(clangDoc INTERFACE
   clangAnalysis
   clangAST
   clangASTMatchers
diff --git a/clang-tools-extra/clang-include-fixer/CMakeLists.txt b/clang-tools-extra/clang-include-fixer/CMakeLists.txt
index f27f7403ea6..4a56d7679c2 100644
--- a/clang-tools-extra/clang-include-fixer/CMakeLists.txt
+++ b/clang-tools-extra/clang-include-fixer/CMakeLists.txt
@@ -11,6 +11,9 @@ add_clang_library(clangIncludeFixer
   YamlSymbolIndex.cpp
 
   LINK_LIBS
+  findAllSymbols
+  )
+clang_target_link_libraries(clangIncludeFixer INTERFACE
   clangAST
   clangBasic
   clangFormat
@@ -21,7 +24,6 @@ add_clang_library(clangIncludeFixer
   clangSerialization
   clangTooling
   clangToolingCore
-  findAllSymbols
   )
 
 add_subdirectory(plugin)
diff --git a/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt b/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt
index c5fe19bfdbd..5891adfb913 100644
--- a/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt
+++ b/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt
@@ -11,8 +11,8 @@ add_clang_library(findAllSymbols
   PragmaCommentHandler.cpp
   STLPostfixHeaderMap.cpp
   SymbolInfo.cpp
-
-  LINK_LIBS
+  )
+clang_target_link_libraries(findAllSymbols INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
diff --git a/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt b/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
index df792ea1bbe..6545a866236 100644
--- a/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
+++ b/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
@@ -2,12 +2,14 @@ add_clang_library(clangIncludeFixerPlugin
   IncludeFixerPlugin.cpp
 
   LINK_LIBS
+  clangIncludeFixer
+  ${LLVM_PTHREAD_LIB}
+  )
+clang_target_link_libraries(clangIncludeFixerPlugin INTERFACE
   clangAST
   clangBasic
   clangFrontend
-  clangIncludeFixer
   clangParse
   clangSema
   clangTooling
-  ${LLVM_PTHREAD_LIB}
   )
diff --git a/clang-tools-extra/clang-move/CMakeLists.txt b/clang-tools-extra/clang-move/CMakeLists.txt
index c63127ea325..3dce82b447a 100644
--- a/clang-tools-extra/clang-move/CMakeLists.txt
+++ b/clang-tools-extra/clang-move/CMakeLists.txt
@@ -5,8 +5,9 @@ set(LLVM_LINK_COMPONENTS
 add_clang_library(clangMove
   Move.cpp
   HelperDeclRefGraph.cpp
+  )
 
-  LINK_LIBS
+clang_target_link_libraries(clangMove INTERFACE
   clangAnalysis
   clangAST
   clangASTMatchers
diff --git a/clang-tools-extra/clang-query/CMakeLists.txt b/clang-tools-extra/clang-query/CMakeLists.txt
index d1d68d502e3..e5e4ecf07d7 100644
--- a/clang-tools-extra/clang-query/CMakeLists.txt
+++ b/clang-tools-extra/clang-query/CMakeLists.txt
@@ -6,8 +6,8 @@ set(LLVM_LINK_COMPONENTS
 add_clang_library(clangQuery
   Query.cpp
   QueryParser.cpp
-
-  LINK_LIBS
+  )
+clang_target_link_libraries(clangQuery INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
diff --git a/clang-tools-extra/clang-reorder-fields/CMakeLists.txt b/clang-tools-extra/clang-reorder-fields/CMakeLists.txt
index 9c75d785cc9..8017cbdd377 100644
--- a/clang-tools-extra/clang-reorder-fields/CMakeLists.txt
+++ b/clang-tools-extra/clang-reorder-fields/CMakeLists.txt
@@ -2,8 +2,8 @@ set(LLVM_LINK_COMPONENTS support)
 
 add_clang_library(clangReorderFields
   ReorderFieldsAction.cpp
-
-  LINK_LIBS
+  )
+clang_target_link_libraries(clangReorderFields INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
diff --git a/clang-tools-extra/clang-tidy/CMakeLists.txt b/clang-tools-extra/clang-tidy/CMakeLists.txt
index 6dadb271771..cf6e00eb2ad 100644
--- a/clang-tools-extra/clang-tidy/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/CMakeLists.txt
@@ -14,8 +14,9 @@ add_clang_library(clangTidy
 
   DEPENDS
   ClangSACheckers
+  )
 
-  LINK_LIBS
+clang_target_link_libraries(clangTidy INTERFACE
   clangAnalysis
   clangAST
   clangASTMatchers
@@ -31,7 +32,7 @@ add_clang_library(clangTidy
   )
 
 if(CLANG_ENABLE_STATIC_ANALYZER)
-  target_link_libraries(clangTidy PRIVATE
+  clang_target_link_libraries(clangTidy PRIVATE
     clangStaticAnalyzerCore
     clangStaticAnalyzerFrontend
   )
diff --git a/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt b/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt
index 3f88da6233f..feeb951e4f3 100644
--- a/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt
@@ -22,11 +22,14 @@ add_clang_library(clangTidyAbseilModule
   UpgradeDurationConversionsCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyAbseilModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/android/CMakeLists.txt b/clang-tools-extra/clang-tidy/android/CMakeLists.txt
index 9d04003d9bb..cdb59411d36 100644
--- a/clang-tools-extra/clang-tidy/android/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/android/CMakeLists.txt
@@ -20,10 +20,13 @@ add_clang_library(clangTidyAndroidModule
   ComparisonInTempFailureRetryCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyAndroidModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clang-tidy/boost/CMakeLists.txt b/clang-tools-extra/clang-tidy/boost/CMakeLists.txt
index 059f6e91eca..1b4201e8057 100644
--- a/clang-tools-extra/clang-tidy/boost/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/boost/CMakeLists.txt
@@ -5,10 +5,13 @@ add_clang_library(clangTidyBoostModule
   UseToStringCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyBoostModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
index 2cb28f4e8f1..e49e2b31c36 100644
--- a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
@@ -52,13 +52,16 @@ add_clang_library(clangTidyBugproneModule
   VirtualNearMissCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyCppCoreGuidelinesModule
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyBugproneModule INTERFACE
   clangAnalysis
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyCppCoreGuidelinesModule
-  clangTidyUtils
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/cert/CMakeLists.txt b/clang-tools-extra/clang-tidy/cert/CMakeLists.txt
index 66ea2a13acd..e8907764b5e 100644
--- a/clang-tools-extra/clang-tidy/cert/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/cert/CMakeLists.txt
@@ -17,10 +17,6 @@ add_clang_library(clangTidyCERTModule
   VariadicFunctionDefCheck.cpp
 
   LINK_LIBS
-  clangAST
-  clangASTMatchers
-  clangBasic
-  clangLex
   clangTidy
   clangTidyBugproneModule
   clangTidyGoogleModule
@@ -29,3 +25,10 @@ add_clang_library(clangTidyCERTModule
   clangTidyReadabilityModule
   clangTidyUtils
   )
+
+clang_target_link_libraries(clangTidyCERTModule INTERFACE
+  clangAST
+  clangASTMatchers
+  clangBasic
+  clangLex
+  )
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt b/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
index 13c15bc9d22..ccb1eb5a80f 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
@@ -23,15 +23,18 @@ add_clang_library(clangTidyCppCoreGuidelinesModule
   SpecialMemberFunctionsCheck.cpp
 
   LINK_LIBS
-  clangAST
-  clangASTMatchers
-  clangBasic
-  clangLex
-  clangSerialization
   clangTidy
   clangTidyMiscModule
   clangTidyModernizeModule
   clangTidyReadabilityModule
   clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyCppCoreGuidelinesModule INTERFACE
+  clangAST
+  clangASTMatchers
+  clangBasic
+  clangLex
+  clangSerialization
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt b/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt
index c650efb2a5f..9950e677ee0 100644
--- a/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt
@@ -4,8 +4,9 @@ add_clang_library(clangTidyDarwinModule
   AvoidSpinlockCheck.cpp
   DarwinTidyModule.cpp
   DispatchOnceNonstaticCheck.cpp
+  )
 
-  LINK_LIBS
+clang_target_link_libraries(clangTidyDarwinModule INTERFACE
   clangAnalysis
   clangAST
   clangASTMatchers
diff --git a/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt b/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt
index 30b319e7e5a..703a8c69a43 100644
--- a/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt
@@ -12,11 +12,14 @@ add_clang_library(clangTidyFuchsiaModule
   VirtualInheritanceCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyGoogleModule
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyFuchsiaModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyGoogleModule
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clang-tidy/google/CMakeLists.txt b/clang-tools-extra/clang-tidy/google/CMakeLists.txt
index 08368932da5..bdab843e23c 100644
--- a/clang-tools-extra/clang-tidy/google/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/google/CMakeLists.txt
@@ -21,11 +21,14 @@ add_clang_library(clangTidyGoogleModule
   UsingNamespaceDirectiveCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyReadabilityModule
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyGoogleModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyReadabilityModule
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt b/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
index 4cf26767f3d..d256d698feb 100644
--- a/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
@@ -8,11 +8,6 @@ add_clang_library(clangTidyHICPPModule
   SignedBitwiseCheck.cpp
 
   LINK_LIBS
-  clangAST
-  clangASTMatchers
-  clangBasic
-  clangLex
-  clangSerialization
   clangTidy
   clangTidyBugproneModule
   clangTidyCppCoreGuidelinesModule
@@ -23,3 +18,11 @@ add_clang_library(clangTidyHICPPModule
   clangTidyReadabilityModule
   clangTidyUtils
   )
+
+clang_target_link_libraries(clangTidyHICPPModule INTERFACE
+  clangAST
+  clangASTMatchers
+  clangBasic
+  clangLex
+  clangSerialization
+  )
diff --git a/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt b/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt
index f0e766d30e4..0d37487ea45 100644
--- a/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt
@@ -3,8 +3,9 @@ set(LLVM_LINK_COMPONENTS support)
 add_clang_library(clangTidyLinuxKernelModule
   LinuxKernelTidyModule.cpp
   MustCheckErrsCheck.cpp
+  )
 
-  LINK_LIBS
+clang_target_link_libraries(clangTidyLinuxKernelModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
diff --git a/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt b/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
index c035596b556..60da3caacf0 100644
--- a/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
@@ -9,12 +9,15 @@ add_clang_library(clangTidyLLVMModule
   TwineLocalCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyReadabilityModule
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyLLVMModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyReadabilityModule
-  clangTidyUtils
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/misc/CMakeLists.txt b/clang-tools-extra/clang-tidy/misc/CMakeLists.txt
index 3fc152148d6..3fd61c454e5 100644
--- a/clang-tools-extra/clang-tidy/misc/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/misc/CMakeLists.txt
@@ -17,13 +17,16 @@ add_clang_library(clangTidyMiscModule
   UnusedUsingDeclsCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyMiscModule INTERFACE
   clangAnalysis
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
   clangSerialization
-  clangTidy
-  clangTidyUtils
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt b/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
index 36193f0a6d1..1b909552322 100644
--- a/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
@@ -36,12 +36,15 @@ add_clang_library(clangTidyModernizeModule
   UseUsingCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyReadabilityModule
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyModernizeModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyReadabilityModule
-  clangTidyUtils
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt b/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt
index 5be7b36550a..09b72452ab2 100644
--- a/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt
@@ -6,13 +6,16 @@ add_clang_library(clangTidyMPIModule
   TypeMismatchCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyMPIModule INTERFACE
   clangAnalysis
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   clangTooling
   clangStaticAnalyzerCheckers
   )
diff --git a/clang-tools-extra/clang-tidy/objc/CMakeLists.txt b/clang-tools-extra/clang-tidy/objc/CMakeLists.txt
index 68dda6530f7..f764fab3cb6 100644
--- a/clang-tools-extra/clang-tidy/objc/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/objc/CMakeLists.txt
@@ -9,10 +9,13 @@ add_clang_library(clangTidyObjCModule
   SuperSelfCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyObjCModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt b/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt
index af95704fd44..989671a185e 100644
--- a/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt
@@ -8,9 +8,12 @@ add_clang_library(clangTidyOpenMPModule
   UseDefaultNoneCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyOpenMPModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
-  clangTidy
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clang-tidy/performance/CMakeLists.txt b/clang-tools-extra/clang-tidy/performance/CMakeLists.txt
index d1f9897b015..bd54aa26f94 100644
--- a/clang-tools-extra/clang-tidy/performance/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/performance/CMakeLists.txt
@@ -18,11 +18,14 @@ add_clang_library(clangTidyPerformanceModule
   UnnecessaryValueParamCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyPerformanceModule INTERFACE
   clangAST
   clangASTMatchers
   clangAnalysis
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt b/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt
index 4adc3f26977..521f731ac10 100644
--- a/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt
@@ -2,12 +2,15 @@ add_clang_library(clangTidyPlugin
   ClangTidyPlugin.cpp
 
   LINK_LIBS
+  clangTidy
+  ${ALL_CLANG_TIDY_CHECKS}
+  )
+
+clang_target_link_libraries(clangTidyPlugin INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangFrontend
   clangSema
-  clangTidy
   clangTooling
-  ${ALL_CLANG_TIDY_CHECKS}
   )
diff --git a/clang-tools-extra/clang-tidy/portability/CMakeLists.txt b/clang-tools-extra/clang-tidy/portability/CMakeLists.txt
index 0420a18a2a6..514e4bd03df 100644
--- a/clang-tools-extra/clang-tidy/portability/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/portability/CMakeLists.txt
@@ -5,11 +5,14 @@ add_clang_library(clangTidyPortabilityModule
   SIMDIntrinsicsCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyPortabilityModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/readability/CMakeLists.txt b/clang-tools-extra/clang-tidy/readability/CMakeLists.txt
index 97144af06ca..dcafd650c83 100644
--- a/clang-tools-extra/clang-tidy/readability/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/readability/CMakeLists.txt
@@ -41,11 +41,14 @@ add_clang_library(clangTidyReadabilityModule
   UppercaseLiteralSuffixCheck.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyReadabilityModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   clangTooling
   )
diff --git a/clang-tools-extra/clang-tidy/utils/CMakeLists.txt b/clang-tools-extra/clang-tidy/utils/CMakeLists.txt
index fc383a318b9..9c28530d48a 100644
--- a/clang-tools-extra/clang-tidy/utils/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/utils/CMakeLists.txt
@@ -18,11 +18,14 @@ add_clang_library(clangTidyUtils
   UsingInserter.cpp
 
   LINK_LIBS
+  clangTidy
+  )
+
+clang_target_link_libraries(clangTidyUtils INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
   clangSema
-  clangTidy
   clangTransformer
   )
diff --git a/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt b/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt
index 7aa7cd3f669..3b7a2ab41d3 100644
--- a/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt
@@ -5,10 +5,13 @@ add_clang_library(clangTidyZirconModule
   ZirconTidyModule.cpp
 
   LINK_LIBS
+  clangTidy
+  clangTidyUtils
+  )
+
+clang_target_link_libraries(clangTidyZirconModule INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
   clangLex
-  clangTidy
-  clangTidyUtils
   )
diff --git a/clang-tools-extra/clangd/CMakeLists.txt b/clang-tools-extra/clangd/CMakeLists.txt
index e3eccb50a49..d0cdfa41d86 100644
--- a/clang-tools-extra/clangd/CMakeLists.txt
+++ b/clang-tools-extra/clangd/CMakeLists.txt
@@ -110,6 +110,13 @@ add_clang_library(clangDaemon
   refactor/Tweak.cpp
 
   LINK_LIBS
+  clangTidy
+  ${LLVM_PTHREAD_LIB}
+  ${CLANGD_ATOMIC_LIB}
+  ${ALL_CLANG_TIDY_CHECKS}
+  )
+
+clang_target_link_libraries(clangDaemon INTERFACE
   clangAST
   clangASTMatchers
   clangBasic
@@ -120,15 +127,11 @@ add_clang_library(clangDaemon
   clangLex
   clangSema
   clangSerialization
-  clangTidy
   clangTooling
   clangToolingCore
   clangToolingInclusions
   clangToolingRefactoring
   clangToolingSyntax
-  ${LLVM_PTHREAD_LIB}
-  ${CLANGD_ATOMIC_LIB}
-  ${ALL_CLANG_TIDY_CHECKS}
   )
 
 add_subdirectory(refactor/tweaks)
diff --git a/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt b/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
index 6f6ef4a2ace..ac287522b33 100644
--- a/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
+++ b/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
@@ -26,9 +26,12 @@ add_clang_library(clangDaemonTweaks OBJECT
   SwapIfBranches.cpp
 
   LINK_LIBS
+  clangDaemon
+  )
+
+clang_target_link_libraries(clangDaemonTweaks INTERFACE
   clangAST
   clangBasic
-  clangDaemon
   clangLex
   clangToolingCore
   clangToolingRefactoring
-- 
2.25.1

openSUSE Build Service is sponsored by