Remove a goofy CMake hack and use the standard CMake facilities to
express library-level dependencies within Clang.

This is no more verbose really, and plays nicer with the rest of the
CMake facilities. It should also have no change in functionality.

llvm-svn: 158888
diff --git a/clang/tools/arcmt-test/CMakeLists.txt b/clang/tools/arcmt-test/CMakeLists.txt
index a0029b4..3528495 100644
--- a/clang/tools/arcmt-test/CMakeLists.txt
+++ b/clang/tools/arcmt-test/CMakeLists.txt
@@ -1,9 +1,3 @@
-set(LLVM_USED_LIBS
-  clangARCMigrate
-  clangEdit
-  clangRewrite
-  )
-
 set( LLVM_LINK_COMPONENTS
   support
   mc
@@ -12,3 +6,9 @@
 add_clang_executable(arcmt-test
   arcmt-test.cpp
   )
+
+target_link_libraries(arcmt-test
+  clangARCMigrate
+  clangEdit
+  clangRewrite
+  )
diff --git a/clang/tools/c-arcmt-test/CMakeLists.txt b/clang/tools/c-arcmt-test/CMakeLists.txt
index 351f4ad..1e72261 100644
--- a/clang/tools/c-arcmt-test/CMakeLists.txt
+++ b/clang/tools/c-arcmt-test/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS libclang)
-
 set( LLVM_LINK_COMPONENTS
   support
   mc
@@ -9,6 +7,10 @@
   c-arcmt-test.c
   )
 
+target_link_libraries(c-arcmt-test
+  libclang
+  )
+
 set_target_properties(c-arcmt-test
   PROPERTIES
   LINKER_LANGUAGE CXX)
diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt
index c44b34b..743268c 100644
--- a/clang/tools/c-index-test/CMakeLists.txt
+++ b/clang/tools/c-index-test/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS libclang)
-
 set( LLVM_LINK_COMPONENTS
   support
   mc
@@ -9,6 +7,10 @@
   c-index-test.c
   )
 
+target_link_libraries(c-index-test
+  libclang
+  )
+
 set_target_properties(c-index-test
   PROPERTIES
   LINKER_LANGUAGE CXX)
diff --git a/clang/tools/clang-check/CMakeLists.txt b/clang/tools/clang-check/CMakeLists.txt
index 851d6cd..9db8f1a 100644
--- a/clang/tools/clang-check/CMakeLists.txt
+++ b/clang/tools/clang-check/CMakeLists.txt
@@ -1,5 +1,8 @@
-set(LLVM_USED_LIBS clangTooling clangBasic)
-
 add_clang_executable(clang-check
   ClangCheck.cpp
   )
+
+target_link_libraries(clang-check
+  clangTooling
+  clangBasic
+  )
diff --git a/clang/tools/diagtool/CMakeLists.txt b/clang/tools/diagtool/CMakeLists.txt
index d2ad735..6e2ae2d 100644
--- a/clang/tools/diagtool/CMakeLists.txt
+++ b/clang/tools/diagtool/CMakeLists.txt
@@ -2,13 +2,6 @@
   support
   )
 
-set( LLVM_USED_LIBS
-  clangBasic
-  clangLex
-  clangSema
-  clangFrontend
-  )
-
 add_clang_executable(diagtool
   diagtool_main.cpp
   DiagTool.cpp
@@ -21,6 +14,13 @@
   ClangDiagnosticIndexName
   )
 
+target_link_libraries(diagtool
+  clangBasic
+  clangLex
+  clangSema
+  clangFrontend
+  )
+
 if(UNIX)
   set(CLANGXX_LINK_OR_COPY create_symlink)
 else()
diff --git a/clang/tools/driver/CMakeLists.txt b/clang/tools/driver/CMakeLists.txt
index ae49ac1..be4b909 100644
--- a/clang/tools/driver/CMakeLists.txt
+++ b/clang/tools/driver/CMakeLists.txt
@@ -1,4 +1,22 @@
-set( LLVM_USED_LIBS
+set( LLVM_LINK_COMPONENTS
+  ${LLVM_TARGETS_TO_BUILD}
+  asmparser
+  bitreader
+  bitwriter
+  codegen
+  instrumentation
+  ipo
+  linker
+  selectiondag
+  )
+
+add_clang_executable(clang
+  driver.cpp
+  cc1_main.cpp
+  cc1as_main.cpp
+  )
+
+target_link_libraries(clang
   clangFrontendTool
   clangAST
   clangAnalysis
@@ -19,24 +37,6 @@
   clangStaticAnalyzerCore
   )
 
-set( LLVM_LINK_COMPONENTS
-  ${LLVM_TARGETS_TO_BUILD}
-  asmparser
-  bitreader
-  bitwriter
-  codegen
-  instrumentation
-  ipo
-  linker
-  selectiondag
-  )
-
-add_clang_executable(clang
-  driver.cpp
-  cc1_main.cpp
-  cc1as_main.cpp
-  )
-
 set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION})
 
 if(UNIX)
diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt
index 293dfa3..a1090fb 100644
--- a/clang/tools/libclang/CMakeLists.txt
+++ b/clang/tools/libclang/CMakeLists.txt
@@ -1,15 +1,3 @@
-set(LLVM_USED_LIBS
-  clangARCMigrate
-  clangRewrite
-  clangFrontend
-  clangDriver
-  clangSerialization
-  clangSema
-  clangEdit
-  clangAST
-  clangLex
-  clangBasic)
-
 set( LLVM_LINK_COMPONENTS
   support
   mc
@@ -49,9 +37,23 @@
   ../../include/clang-c/Index.h
   )
 
+set(LIBRARIES
+  clangARCMigrate
+  clangRewrite
+  clangFrontend
+  clangDriver
+  clangSerialization
+  clangSema
+  clangEdit
+  clangAST
+  clangLex
+  clangBasic
+  )
+
 if( LLVM_ENABLE_PIC )
   set(SHARED_LIBRARY TRUE)
   add_clang_library(libclang ${SOURCES})
+  target_link_libraries(libclang ${LIBRARIES})
 
   if(WIN32)
     set_target_properties(libclang
@@ -84,6 +86,7 @@
 
 if( NOT BUILD_SHARED_LIBS AND NOT WIN32 )
   add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES})
+  target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES})
 
   set_target_properties(${LIBCLANG_STATIC_TARGET_NAME}
     PROPERTIES