blob: adfc6ee326b5ab4ad74b81c6649fb01c10a41c1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
set(LLVM_LINK_COMPONENTS
Support
TargetParser
FrontendOpenMP
)
find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc)
find_first_existing_vc_file("${CLANG_SOURCE_DIR}" clang_vc)
# The VC revision include that we want to generate.
set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc")
set(generate_vcs_version_script "${LLVM_CMAKE_DIR}/GenerateVersionFromVCS.cmake")
if(llvm_vc AND LLVM_APPEND_VC_REV)
set(llvm_source_dir ${LLVM_MAIN_SRC_DIR})
endif()
if (LLVM_VC_REPOSITORY AND LLVM_VC_REVISION)
set(llvm_source_dir ${LLVM_SOURCE_DIR})
set(llvm_vc_repository ${LLVM_VC_REPOSITORY})
set(llvm_vc_revision ${LLVM_VC_REVISION})
endif()
if(clang_vc AND LLVM_APPEND_VC_REV)
set(clang_source_dir ${CLANG_SOURCE_DIR})
endif()
if (CLANG_VC_REPOSITORY AND CLANG_VC_REVISION)
set(clang_source_dir ${CLANG_SOURCE_DIR})
set(clang_vc_repository ${CLANG_VC_REPOSITORY})
set(clang_vc_revision ${CLANG_VC_REVISION})
endif()
# Create custom target to generate the VC revision include.
add_custom_command(OUTPUT "${version_inc}"
DEPENDS "${llvm_vc}" "${clang_vc}" "${generate_vcs_version_script}"
COMMAND ${CMAKE_COMMAND} "-DNAMES=\"LLVM;CLANG\""
"-DLLVM_SOURCE_DIR=${llvm_source_dir}"
"-DCLANG_SOURCE_DIR=${clang_source_dir}"
"-DCLANG_VC_REPOSITORY=${clang_vc_repository}"
"-DCLANG_VC_REVISION=${clang_vc_revision}"
"-DHEADER_FILE=${version_inc}"
"-DLLVM_VC_REPOSITORY=${llvm_vc_repository}"
"-DLLVM_VC_REVISION=${llvm_vc_revision}"
"-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION}"
"-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY}"
-P "${generate_vcs_version_script}")
# Mark the generated header as being generated.
set_source_files_properties("${version_inc}"
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE)
if(CLANG_VENDOR)
set_source_files_properties(Version.cpp
PROPERTIES COMPILE_DEFINITIONS "CLANG_VENDOR=\"${CLANG_VENDOR} \"")
endif()
add_clang_library(clangBasic
ASTSourceDescriptor.cpp
Attributes.cpp
Builtins.cpp
CLWarnings.cpp
CharInfo.cpp
CodeGenOptions.cpp
Cuda.cpp
DarwinSDKInfo.cpp
Diagnostic.cpp
DiagnosticIDs.cpp
DiagnosticOptions.cpp
ExpressionTraits.cpp
FileEntry.cpp
FileManager.cpp
FileSystemStatCache.cpp
IdentifierTable.cpp
LangOptions.cpp
LangStandards.cpp
MakeSupport.cpp
Module.cpp
ObjCRuntime.cpp
OffloadArch.cpp
OpenCLOptions.cpp
OpenMPKinds.cpp
OperatorPrecedence.cpp
ParsedAttrInfo.cpp
ProfileList.cpp
NoSanitizeList.cpp
SanitizerSpecialCaseList.cpp
Sanitizers.cpp
Sarif.cpp
SimpleTypoCorrection.cpp
SourceLocation.cpp
SourceManager.cpp
SourceMgrAdapter.cpp
Stack.cpp
StackExhaustionHandler.cpp
TargetID.cpp
TargetInfo.cpp
Targets.cpp
Targets/AArch64.cpp
Targets/AMDGPU.cpp
Targets/ARC.cpp
Targets/ARM.cpp
Targets/AVR.cpp
Targets/BPF.cpp
Targets/CSKY.cpp
Targets/DirectX.cpp
Targets/Hexagon.cpp
Targets/Lanai.cpp
Targets/LoongArch.cpp
Targets/M68k.cpp
Targets/MSP430.cpp
Targets/Mips.cpp
Targets/NVPTX.cpp
Targets/OSTargets.cpp
Targets/PPC.cpp
Targets/RISCV.cpp
Targets/SPIR.cpp
Targets/Sparc.cpp
Targets/SystemZ.cpp
Targets/TCE.cpp
Targets/VE.cpp
Targets/WebAssembly.cpp
Targets/X86.cpp
Targets/XCore.cpp
Targets/Xtensa.cpp
TokenKinds.cpp
TypeTraits.cpp
Version.cpp
Warnings.cpp
XRayInstr.cpp
XRayLists.cpp
${version_inc}
DEPENDS
omp_gen
ClangDriverOptions
# These generated headers are included transitively.
target_parser_gen
)
target_link_libraries(clangBasic
PRIVATE
${LLVM_ATOMIC_LIB}
)
|