Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit b0d8671

Browse files
committed
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
1 parent 7d96f61 commit b0d8671

File tree

30 files changed

+295
-177
lines changed

30 files changed

+295
-177
lines changed

CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@ macro(add_clang_library name)
192192
add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
193193
endif( LLVM_COMMON_DEPENDS )
194194

195-
target_link_libraries( ${name} ${LLVM_USED_LIBS} )
196195
llvm_config( ${name} ${LLVM_LINK_COMPONENTS} )
197196
target_link_libraries( ${name} ${LLVM_COMMON_LIBS} )
198197
link_system_libs( ${name} )

examples/PrintFunctionNames/CMakeLists.txt

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
set(MODULE TRUE)
22

3-
set( LLVM_USED_LIBS
4-
clangFrontend
5-
clangAST
6-
)
7-
83
set( LLVM_LINK_COMPONENTS support mc)
94

105
add_clang_library(PrintFunctionNames PrintFunctionNames.cpp)
116

7+
target_link_libraries(PrintFunctionNames
8+
clangFrontend
9+
clangAST
10+
)
11+
1212
set_target_properties(PrintFunctionNames
1313
PROPERTIES
1414
LINKER_LANGUAGE CXX

examples/analyzer-plugin/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
set(MODULE TRUE)
22

3-
set( LLVM_USED_LIBS
4-
clangStaticAnalyzerCore
5-
)
6-
73
set( LLVM_LINK_COMPONENTS support mc)
84

95
add_clang_library(SampleAnalyzerPlugin MainCallChecker.cpp)
106

7+
target_link_libraries(SampleAnalyzerPlugin
8+
clangStaticAnalyzerCore
9+
)
10+
1111
set_target_properties(SampleAnalyzerPlugin
1212
PROPERTIES
1313
LINKER_LANGUAGE CXX
+31-28
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,37 @@
1-
set(LLVM_USED_LIBS
2-
clangFrontend
3-
clangSerialization
4-
clangDriver
5-
clangCodeGen
6-
clangSema
7-
clangStaticAnalyzerFrontend
8-
clangStaticAnalyzerCheckers
9-
clangStaticAnalyzerCore
10-
clangAnalysis
11-
clangRewrite
12-
clangAST
13-
clangParse
14-
clangLex
15-
clangBasic
16-
)
17-
181
set(LLVM_LINK_COMPONENTS
19-
jit
20-
interpreter
21-
nativecodegen
22-
asmparser
23-
bitreader
24-
bitwriter
25-
codegen
26-
ipo
27-
linker
28-
selectiondag
2+
jit
3+
interpreter
4+
nativecodegen
5+
asmparser
6+
bitreader
7+
bitwriter
8+
codegen
9+
ipo
10+
linker
11+
selectiondag
2912
)
3013

3114
add_clang_executable(clang-interpreter
3215
main.cpp
3316
)
34-
add_dependencies(clang-interpreter clang-headers)
17+
18+
add_dependencies(clang-interpreter
19+
clang-headers
20+
)
21+
22+
target_link_libraries(clang-interpreter
23+
clangFrontend
24+
clangSerialization
25+
clangDriver
26+
clangCodeGen
27+
clangSema
28+
clangStaticAnalyzerFrontend
29+
clangStaticAnalyzerCheckers
30+
clangStaticAnalyzerCore
31+
clangAnalysis
32+
clangRewrite
33+
clangAST
34+
clangParse
35+
clangLex
36+
clangBasic
37+
)

lib/ARCMigrate/CMakeLists.txt

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend clangRewrite)
2-
31
add_clang_library(clangARCMigrate
42
ARCMT.cpp
53
ARCMTActions.cpp
@@ -27,3 +25,11 @@ add_dependencies(clangARCMigrate
2725
ClangAttrList
2826
ClangDeclNodes
2927
ClangStmtNodes)
28+
29+
target_link_libraries(clangARCMigrate
30+
clangBasic
31+
clangAST
32+
clangParse
33+
clangFrontend
34+
clangRewrite
35+
)

lib/AST/CMakeLists.txt

+14-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
set(LLVM_LINK_COMPONENTS support)
22

3-
set(LLVM_USED_LIBS clangBasic clangLex)
4-
53
add_clang_library(clangAST
64
APValue.cpp
75
ASTConsumer.cpp
@@ -54,5 +52,17 @@ add_clang_library(clangAST
5452
VTTBuilder.cpp
5553
)
5654

57-
add_dependencies(clangAST ClangARMNeon ClangAttrClasses ClangAttrList
58-
ClangAttrImpl ClangDiagnosticAST ClangDeclNodes ClangStmtNodes)
55+
add_dependencies(clangAST
56+
ClangARMNeon
57+
ClangAttrClasses
58+
ClangAttrList
59+
ClangAttrImpl
60+
ClangDiagnosticAST
61+
ClangDeclNodes
62+
ClangStmtNodes
63+
)
64+
65+
target_link_libraries(clangAST
66+
clangBasic
67+
clangLex
68+
)

lib/Analysis/CMakeLists.txt

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
set(LLVM_USED_LIBS clangBasic clangAST)
2-
31
add_clang_library(clangAnalysis
42
AnalysisDeclContext.cpp
53
CallGraph.cpp
@@ -20,5 +18,15 @@ add_clang_library(clangAnalysis
2018
UninitializedValues.cpp
2119
)
2220

23-
add_dependencies(clangAnalysis ClangAttrClasses ClangAttrList
24-
ClangDiagnosticAnalysis ClangDeclNodes ClangStmtNodes)
21+
add_dependencies(clangAnalysis
22+
ClangAttrClasses
23+
ClangAttrList
24+
ClangDiagnosticAnalysis
25+
ClangDeclNodes
26+
ClangStmtNodes
27+
)
28+
29+
target_link_libraries(clangAnalysis
30+
clangBasic
31+
clangAST
32+
)

lib/Basic/CMakeLists.txt

+15-15
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@ if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn")
3232
PROPERTIES COMPILE_DEFINITIONS "SVN_REVISION=\"${CLANG_WC_REVISION}\"")
3333
endif()
3434

35-
add_dependencies(clangBasic
36-
ClangARMNeon
37-
ClangAttrList
38-
ClangDiagnosticAnalysis
39-
ClangDiagnosticAST
40-
ClangDiagnosticCommon
41-
ClangDiagnosticDriver
42-
ClangDiagnosticFrontend
43-
ClangDiagnosticGroups
44-
ClangDiagnosticLex
45-
ClangDiagnosticParse
46-
ClangDiagnosticSema
47-
ClangDiagnosticSerialization
48-
ClangDiagnosticIndexName)
49-
35+
add_dependencies(clangBasic
36+
ClangARMNeon
37+
ClangAttrList
38+
ClangDiagnosticAnalysis
39+
ClangDiagnosticAST
40+
ClangDiagnosticCommon
41+
ClangDiagnosticDriver
42+
ClangDiagnosticFrontend
43+
ClangDiagnosticGroups
44+
ClangDiagnosticLex
45+
ClangDiagnosticParse
46+
ClangDiagnosticSema
47+
ClangDiagnosticSerialization
48+
ClangDiagnosticIndexName
49+
)

lib/CodeGen/CMakeLists.txt

+12-4
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ set(LLVM_LINK_COMPONENTS
88
vectorize
99
)
1010

11-
set(LLVM_USED_LIBS clangBasic clangAST clangFrontend)
12-
1311
add_clang_library(clangCodeGen
1412
BackendUtil.cpp
1513
CGBlocks.cpp
@@ -52,5 +50,15 @@ add_clang_library(clangCodeGen
5250
TargetInfo.cpp
5351
)
5452

55-
add_dependencies(clangCodeGen ClangAttrClasses ClangAttrList ClangDeclNodes
56-
ClangStmtNodes)
53+
add_dependencies(clangCodeGen
54+
ClangAttrClasses
55+
ClangAttrList
56+
ClangDeclNodes
57+
ClangStmtNodes
58+
)
59+
60+
target_link_libraries(clangCodeGen
61+
clangBasic
62+
clangAST
63+
clangFrontend
64+
)

lib/Driver/CMakeLists.txt

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
set(LLVM_USED_LIBS clangBasic)
2-
31
add_clang_library(clangDriver
42
Action.cpp
53
Arg.cpp
@@ -20,6 +18,13 @@ add_clang_library(clangDriver
2018
Types.cpp
2119
)
2220

21+
add_dependencies(clangDriver
22+
ClangAttrList
23+
ClangDiagnosticDriver
24+
ClangDriverOptions
25+
ClangCC1AsOptions
26+
)
2327

24-
add_dependencies(clangDriver ClangAttrList ClangDiagnosticDriver
25-
ClangDriverOptions ClangCC1AsOptions)
28+
target_link_libraries(clangDriver
29+
clangBasic
30+
)

lib/Edit/CMakeLists.txt

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
set(LLVM_USED_LIBS clangBasic clangAST clangLex)
2-
31
add_clang_library(clangEdit
42
Commit.cpp
53
EditedSource.cpp
64
RewriteObjCFoundationAPI.cpp
75
)
6+
7+
target_link_libraries(clangEdit
8+
clangBasic
9+
clangAST
10+
clangLex
11+
)

lib/Frontend/CMakeLists.txt

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,3 @@
1-
set( LLVM_USED_LIBS
2-
clangAST
3-
clangBasic
4-
clangDriver
5-
clangEdit
6-
clangLex
7-
clangParse
8-
clangSema
9-
clangSerialization
10-
)
11-
121
add_clang_library(clangFrontend
132
ASTConsumers.cpp
143
ASTMerge.cpp
@@ -41,7 +30,6 @@ add_clang_library(clangFrontend
4130
Warnings.cpp
4231
)
4332

44-
4533
add_dependencies(clangFrontend
4634
ClangAttrClasses
4735
ClangAttrList
@@ -50,4 +38,16 @@ add_dependencies(clangFrontend
5038
ClangDiagnosticSema
5139
ClangDriverOptions
5240
ClangDeclNodes
53-
ClangStmtNodes)
41+
ClangStmtNodes
42+
)
43+
44+
target_link_libraries(clangFrontend
45+
clangAST
46+
clangBasic
47+
clangDriver
48+
clangEdit
49+
clangLex
50+
clangParse
51+
clangSema
52+
clangSerialization
53+
)

lib/FrontendTool/CMakeLists.txt

+13-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
1-
set(LLVM_USED_LIBS clangDriver clangFrontend clangRewrite clangCodeGen
2-
clangStaticAnalyzerFrontend clangStaticAnalyzerCheckers clangStaticAnalyzerCore
3-
clangARCMigrate)
4-
51
add_clang_library(clangFrontendTool
62
ExecuteCompilerInvocation.cpp
73
)
84

95
add_dependencies(clangFrontendTool
10-
ClangDiagnosticFrontend)
6+
ClangDiagnosticFrontend
7+
)
8+
9+
target_link_libraries(clangFrontendTool
10+
clangDriver
11+
clangFrontend
12+
clangRewrite
13+
clangCodeGen
14+
clangStaticAnalyzerFrontend
15+
clangStaticAnalyzerCheckers
16+
clangStaticAnalyzerCore
17+
clangARCMigrate
18+
)

lib/Lex/CMakeLists.txt

+8-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
set(LLVM_LINK_COMPONENTS support)
44

5-
set(LLVM_USED_LIBS clangBasic)
6-
75
add_clang_library(clangLex
86
HeaderMap.cpp
97
HeaderSearch.cpp
@@ -28,4 +26,11 @@ add_clang_library(clangLex
2826
TokenLexer.cpp
2927
)
3028

31-
add_dependencies(clangLex ClangDiagnosticLex ClangAttrSpellings)
29+
add_dependencies(clangLex
30+
ClangDiagnosticLex
31+
ClangAttrSpellings
32+
)
33+
34+
target_link_libraries(clangLex
35+
clangBasic
36+
)

lib/Parse/CMakeLists.txt

+15-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
set(LLVM_USED_LIBS clangBasic clangAST clangLex clangSema)
2-
31
add_clang_library(clangParse
42
ParseAST.cpp
53
ParseCXXInlineMethods.cpp
@@ -16,4 +14,18 @@ add_clang_library(clangParse
1614
Parser.cpp
1715
)
1816

19-
add_dependencies(clangParse ClangAttrClasses ClangAttrList ClangDeclNodes ClangDiagnosticParse ClangStmtNodes ClangAttrLateParsed)
17+
add_dependencies(clangParse
18+
ClangAttrClasses
19+
ClangAttrList
20+
ClangDeclNodes
21+
ClangDiagnosticParse
22+
ClangStmtNodes
23+
ClangAttrLateParsed
24+
)
25+
26+
target_link_libraries(clangParse
27+
clangBasic
28+
clangAST
29+
clangLex
30+
clangSema
31+
)

0 commit comments

Comments
 (0)