Skip to content

Commit 28969b4

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. llvm-svn: 158888
1 parent c7b0bdf commit 28969b4

File tree

30 files changed

+295
-177
lines changed

30 files changed

+295
-177
lines changed

clang/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
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} )

clang/examples/PrintFunctionNames/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
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

clang/examples/analyzer-plugin/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
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
Lines changed: 31 additions & 28 deletions
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+
)

clang/lib/ARCMigrate/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
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+
)

clang/lib/AST/CMakeLists.txt

Lines changed: 14 additions & 4 deletions
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+
)

clang/lib/Analysis/CMakeLists.txt

Lines changed: 12 additions & 4 deletions
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+
)

clang/lib/Basic/CMakeLists.txt

Lines changed: 15 additions & 15 deletions
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+
)

clang/lib/CodeGen/CMakeLists.txt

Lines changed: 12 additions & 4 deletions
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+
)

clang/lib/Driver/CMakeLists.txt

Lines changed: 9 additions & 4 deletions
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+
)

0 commit comments

Comments
 (0)