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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158888 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ARCMigrate/CMakeLists.txt b/lib/ARCMigrate/CMakeLists.txt
index fcb7f72..6527e0f 100644
--- a/lib/ARCMigrate/CMakeLists.txt
+++ b/lib/ARCMigrate/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend clangRewrite)
-
add_clang_library(clangARCMigrate
ARCMT.cpp
ARCMTActions.cpp
@@ -27,3 +25,11 @@
ClangAttrList
ClangDeclNodes
ClangStmtNodes)
+
+target_link_libraries(clangARCMigrate
+ clangBasic
+ clangAST
+ clangParse
+ clangFrontend
+ clangRewrite
+ )
diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt
index 6780944..d860536 100644
--- a/lib/AST/CMakeLists.txt
+++ b/lib/AST/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_LINK_COMPONENTS support)
-set(LLVM_USED_LIBS clangBasic clangLex)
-
add_clang_library(clangAST
APValue.cpp
ASTConsumer.cpp
@@ -54,5 +52,17 @@
VTTBuilder.cpp
)
-add_dependencies(clangAST ClangARMNeon ClangAttrClasses ClangAttrList
- ClangAttrImpl ClangDiagnosticAST ClangDeclNodes ClangStmtNodes)
+add_dependencies(clangAST
+ ClangARMNeon
+ ClangAttrClasses
+ ClangAttrList
+ ClangAttrImpl
+ ClangDiagnosticAST
+ ClangDeclNodes
+ ClangStmtNodes
+ )
+
+target_link_libraries(clangAST
+ clangBasic
+ clangLex
+ )
diff --git a/lib/Analysis/CMakeLists.txt b/lib/Analysis/CMakeLists.txt
index ca2392b..0a22792 100644
--- a/lib/Analysis/CMakeLists.txt
+++ b/lib/Analysis/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS clangBasic clangAST)
-
add_clang_library(clangAnalysis
AnalysisDeclContext.cpp
CallGraph.cpp
@@ -20,5 +18,15 @@
UninitializedValues.cpp
)
-add_dependencies(clangAnalysis ClangAttrClasses ClangAttrList
- ClangDiagnosticAnalysis ClangDeclNodes ClangStmtNodes)
+add_dependencies(clangAnalysis
+ ClangAttrClasses
+ ClangAttrList
+ ClangDiagnosticAnalysis
+ ClangDeclNodes
+ ClangStmtNodes
+ )
+
+target_link_libraries(clangAnalysis
+ clangBasic
+ clangAST
+ )
diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt
index ff661fd..0169539 100644
--- a/lib/Basic/CMakeLists.txt
+++ b/lib/Basic/CMakeLists.txt
@@ -32,18 +32,18 @@
PROPERTIES COMPILE_DEFINITIONS "SVN_REVISION=\"${CLANG_WC_REVISION}\"")
endif()
-add_dependencies(clangBasic
- ClangARMNeon
- ClangAttrList
- ClangDiagnosticAnalysis
- ClangDiagnosticAST
- ClangDiagnosticCommon
- ClangDiagnosticDriver
- ClangDiagnosticFrontend
- ClangDiagnosticGroups
- ClangDiagnosticLex
- ClangDiagnosticParse
- ClangDiagnosticSema
- ClangDiagnosticSerialization
- ClangDiagnosticIndexName)
-
+add_dependencies(clangBasic
+ ClangARMNeon
+ ClangAttrList
+ ClangDiagnosticAnalysis
+ ClangDiagnosticAST
+ ClangDiagnosticCommon
+ ClangDiagnosticDriver
+ ClangDiagnosticFrontend
+ ClangDiagnosticGroups
+ ClangDiagnosticLex
+ ClangDiagnosticParse
+ ClangDiagnosticSema
+ ClangDiagnosticSerialization
+ ClangDiagnosticIndexName
+ )
diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt
index 7b1dbce..b659436 100644
--- a/lib/CodeGen/CMakeLists.txt
+++ b/lib/CodeGen/CMakeLists.txt
@@ -8,8 +8,6 @@
vectorize
)
-set(LLVM_USED_LIBS clangBasic clangAST clangFrontend)
-
add_clang_library(clangCodeGen
BackendUtil.cpp
CGBlocks.cpp
@@ -52,5 +50,15 @@
TargetInfo.cpp
)
-add_dependencies(clangCodeGen ClangAttrClasses ClangAttrList ClangDeclNodes
- ClangStmtNodes)
+add_dependencies(clangCodeGen
+ ClangAttrClasses
+ ClangAttrList
+ ClangDeclNodes
+ ClangStmtNodes
+ )
+
+target_link_libraries(clangCodeGen
+ clangBasic
+ clangAST
+ clangFrontend
+ )
diff --git a/lib/Driver/CMakeLists.txt b/lib/Driver/CMakeLists.txt
index a16b2ce..d4d8848 100644
--- a/lib/Driver/CMakeLists.txt
+++ b/lib/Driver/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS clangBasic)
-
add_clang_library(clangDriver
Action.cpp
Arg.cpp
@@ -20,6 +18,13 @@
Types.cpp
)
+add_dependencies(clangDriver
+ ClangAttrList
+ ClangDiagnosticDriver
+ ClangDriverOptions
+ ClangCC1AsOptions
+ )
-add_dependencies(clangDriver ClangAttrList ClangDiagnosticDriver
- ClangDriverOptions ClangCC1AsOptions)
+target_link_libraries(clangDriver
+ clangBasic
+ )
diff --git a/lib/Edit/CMakeLists.txt b/lib/Edit/CMakeLists.txt
index c87478c..2bb63a7 100644
--- a/lib/Edit/CMakeLists.txt
+++ b/lib/Edit/CMakeLists.txt
@@ -1,7 +1,11 @@
-set(LLVM_USED_LIBS clangBasic clangAST clangLex)
-
add_clang_library(clangEdit
Commit.cpp
EditedSource.cpp
RewriteObjCFoundationAPI.cpp
)
+
+target_link_libraries(clangEdit
+ clangBasic
+ clangAST
+ clangLex
+ )
diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt
index 6f61290..ff658e0 100644
--- a/lib/Frontend/CMakeLists.txt
+++ b/lib/Frontend/CMakeLists.txt
@@ -1,14 +1,3 @@
-set( LLVM_USED_LIBS
- clangAST
- clangBasic
- clangDriver
- clangEdit
- clangLex
- clangParse
- clangSema
- clangSerialization
- )
-
add_clang_library(clangFrontend
ASTConsumers.cpp
ASTMerge.cpp
@@ -41,7 +30,6 @@
Warnings.cpp
)
-
add_dependencies(clangFrontend
ClangAttrClasses
ClangAttrList
@@ -50,4 +38,16 @@
ClangDiagnosticSema
ClangDriverOptions
ClangDeclNodes
- ClangStmtNodes)
+ ClangStmtNodes
+ )
+
+target_link_libraries(clangFrontend
+ clangAST
+ clangBasic
+ clangDriver
+ clangEdit
+ clangLex
+ clangParse
+ clangSema
+ clangSerialization
+ )
diff --git a/lib/FrontendTool/CMakeLists.txt b/lib/FrontendTool/CMakeLists.txt
index b0060e9..47cdf17 100644
--- a/lib/FrontendTool/CMakeLists.txt
+++ b/lib/FrontendTool/CMakeLists.txt
@@ -1,10 +1,18 @@
-set(LLVM_USED_LIBS clangDriver clangFrontend clangRewrite clangCodeGen
- clangStaticAnalyzerFrontend clangStaticAnalyzerCheckers clangStaticAnalyzerCore
- clangARCMigrate)
-
add_clang_library(clangFrontendTool
ExecuteCompilerInvocation.cpp
)
add_dependencies(clangFrontendTool
- ClangDiagnosticFrontend)
+ ClangDiagnosticFrontend
+ )
+
+target_link_libraries(clangFrontendTool
+ clangDriver
+ clangFrontend
+ clangRewrite
+ clangCodeGen
+ clangStaticAnalyzerFrontend
+ clangStaticAnalyzerCheckers
+ clangStaticAnalyzerCore
+ clangARCMigrate
+ )
diff --git a/lib/Lex/CMakeLists.txt b/lib/Lex/CMakeLists.txt
index 0a2ffdb..7399de1 100644
--- a/lib/Lex/CMakeLists.txt
+++ b/lib/Lex/CMakeLists.txt
@@ -2,8 +2,6 @@
set(LLVM_LINK_COMPONENTS support)
-set(LLVM_USED_LIBS clangBasic)
-
add_clang_library(clangLex
HeaderMap.cpp
HeaderSearch.cpp
@@ -28,4 +26,11 @@
TokenLexer.cpp
)
-add_dependencies(clangLex ClangDiagnosticLex ClangAttrSpellings)
+add_dependencies(clangLex
+ ClangDiagnosticLex
+ ClangAttrSpellings
+ )
+
+target_link_libraries(clangLex
+ clangBasic
+ )
diff --git a/lib/Parse/CMakeLists.txt b/lib/Parse/CMakeLists.txt
index 6c980ce..0a69a7e 100644
--- a/lib/Parse/CMakeLists.txt
+++ b/lib/Parse/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS clangBasic clangAST clangLex clangSema)
-
add_clang_library(clangParse
ParseAST.cpp
ParseCXXInlineMethods.cpp
@@ -16,4 +14,18 @@
Parser.cpp
)
-add_dependencies(clangParse ClangAttrClasses ClangAttrList ClangDeclNodes ClangDiagnosticParse ClangStmtNodes ClangAttrLateParsed)
+add_dependencies(clangParse
+ ClangAttrClasses
+ ClangAttrList
+ ClangDeclNodes
+ ClangDiagnosticParse
+ ClangStmtNodes
+ ClangAttrLateParsed
+ )
+
+target_link_libraries(clangParse
+ clangBasic
+ clangAST
+ clangLex
+ clangSema
+ )
diff --git a/lib/Rewrite/CMakeLists.txt b/lib/Rewrite/CMakeLists.txt
index 091af99..daf9605 100644
--- a/lib/Rewrite/CMakeLists.txt
+++ b/lib/Rewrite/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend)
-
add_clang_library(clangRewrite
DeltaTree.cpp
FixItRewriter.cpp
@@ -20,4 +18,12 @@
ClangAttrClasses
ClangAttrList
ClangDeclNodes
- ClangStmtNodes)
+ ClangStmtNodes
+ )
+
+target_link_libraries(clangRewrite
+ clangBasic
+ clangAST
+ clangParse
+ clangFrontend
+ )
diff --git a/lib/Sema/CMakeLists.txt b/lib/Sema/CMakeLists.txt
index 07734c7..b3ecaef 100644
--- a/lib/Sema/CMakeLists.txt
+++ b/lib/Sema/CMakeLists.txt
@@ -1,11 +1,3 @@
-set(LLVM_USED_LIBS
- clangAST
- clangAnalysis
- clangBasic
- clangEdit
- clangLex
- )
-
add_clang_library(clangSema
AnalysisBasedWarnings.cpp
AttributeList.cpp
@@ -50,9 +42,22 @@
TargetAttributesSema.cpp
)
-add_dependencies(clangSema ClangARMNeon ClangAttrClasses ClangAttrList
- ClangDiagnosticSema ClangDeclNodes ClangStmtNodes
- ClangAttrTemplateInstantiate ClangAttrParsedAttrList
- ClangAttrParsedAttrKinds)
+add_dependencies(clangSema
+ ClangARMNeon
+ ClangAttrClasses
+ ClangAttrList
+ ClangDiagnosticSema
+ ClangDeclNodes
+ ClangStmtNodes
+ ClangAttrTemplateInstantiate
+ ClangAttrParsedAttrList
+ ClangAttrParsedAttrKinds
+ )
-
+target_link_libraries(clangSema
+ clangAST
+ clangAnalysis
+ clangBasic
+ clangEdit
+ clangLex
+ )
diff --git a/lib/Serialization/CMakeLists.txt b/lib/Serialization/CMakeLists.txt
index 04c5382..f5ade70 100644
--- a/lib/Serialization/CMakeLists.txt
+++ b/lib/Serialization/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(LLVM_USED_LIBS clangSema)
-
add_clang_library(clangSerialization
ASTCommon.h
ASTReaderInternals.h
@@ -24,4 +22,9 @@
ClangDiagnosticSema
ClangDiagnosticSerialization
ClangDeclNodes
- ClangStmtNodes)
+ ClangStmtNodes
+ )
+
+target_link_libraries(clangSerialization
+ clangSema
+ )
diff --git a/lib/StaticAnalyzer/Checkers/CMakeLists.txt b/lib/StaticAnalyzer/Checkers/CMakeLists.txt
index 92e3278..f121dd5 100644
--- a/lib/StaticAnalyzer/Checkers/CMakeLists.txt
+++ b/lib/StaticAnalyzer/Checkers/CMakeLists.txt
@@ -3,8 +3,6 @@
SOURCE Checkers.td
TARGET ClangSACheckers)
-set(LLVM_USED_LIBS clangBasic clangAST clangStaticAnalyzerCore)
-
add_clang_library(clangStaticAnalyzerCheckers
AdjustedReturnValueChecker.cpp
AnalyzerStatsChecker.cpp
@@ -79,3 +77,9 @@
ClangStmtNodes
ClangSACheckers
)
+
+target_link_libraries(clangStaticAnalyzerCheckers
+ clangBasic
+ clangAST
+ clangStaticAnalyzerCore
+ )
diff --git a/lib/StaticAnalyzer/Core/CMakeLists.txt b/lib/StaticAnalyzer/Core/CMakeLists.txt
index 23d1dcc..3da9178 100644
--- a/lib/StaticAnalyzer/Core/CMakeLists.txt
+++ b/lib/StaticAnalyzer/Core/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_LINK_COMPONENTS support)
-set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite)
-
add_clang_library(clangStaticAnalyzerCore
AnalysisManager.cpp
APSIntType.cpp
@@ -42,5 +40,17 @@
TextPathDiagnostics.cpp
)
-add_dependencies(clangStaticAnalyzerCore ClangAttrClasses ClangAttrList ClangDeclNodes
- ClangStmtNodes)
+add_dependencies(clangStaticAnalyzerCore
+ ClangAttrClasses
+ ClangAttrList
+ ClangDeclNodes
+ ClangStmtNodes
+ )
+
+target_link_libraries(clangStaticAnalyzerCore
+ clangBasic
+ clangLex
+ clangAST
+ clangFrontend
+ clangRewrite
+ )
diff --git a/lib/StaticAnalyzer/Frontend/CMakeLists.txt b/lib/StaticAnalyzer/Frontend/CMakeLists.txt
index bbcb085..d1f12a6 100644
--- a/lib/StaticAnalyzer/Frontend/CMakeLists.txt
+++ b/lib/StaticAnalyzer/Frontend/CMakeLists.txt
@@ -1,8 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite
- clangStaticAnalyzerCheckers)
-
include_directories( ${CMAKE_CURRENT_BINARY_DIR}/../Checkers )
add_clang_library(clangStaticAnalyzerFrontend
@@ -19,3 +16,12 @@
ClangDeclNodes
ClangStmtNodes
)
+
+target_link_libraries(clangStaticAnalyzerFrontend
+ clangBasic
+ clangLex
+ clangAST
+ clangFrontend
+ clangRewrite
+ clangStaticAnalyzerCheckers
+ )
diff --git a/lib/Tooling/CMakeLists.txt b/lib/Tooling/CMakeLists.txt
index aada617..303013f 100644
--- a/lib/Tooling/CMakeLists.txt
+++ b/lib/Tooling/CMakeLists.txt
@@ -1,5 +1,4 @@
set(LLVM_LINK_COMPONENTS support)
-SET(LLVM_USED_LIBS clangBasic clangFrontend clangAST clangRewrite)
add_clang_library(clangTooling
CompilationDatabase.cpp
@@ -7,3 +6,10 @@
Tooling.cpp
ArgumentsAdjusters.cpp
)
+
+target_link_libraries(clangTooling
+ clangBasic
+ clangFrontend
+ clangAST
+ clangRewrite
+ )