1 | set(LLVM_LINK_COMPONENTS |
2 | Core |
3 | MC |
4 | Support |
5 | ) |
6 | |
7 | find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) |
8 | find_first_existing_vc_file("${CLANG_SOURCE_DIR}" clang_vc) |
9 | |
10 | # The VC revision include that we want to generate. |
11 | set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc") |
12 | |
13 | set(generate_vcs_version_script "${LLVM_CMAKE_PATH}/GenerateVersionFromVCS.cmake") |
14 | |
15 | if(llvm_vc) |
16 | set(llvm_source_dir ${LLVM_MAIN_SRC_DIR}) |
17 | endif() |
18 | if(clang_vc) |
19 | set(clang_source_dir ${CLANG_SOURCE_DIR}) |
20 | endif() |
21 | |
22 | # Create custom target to generate the VC revision include. |
23 | add_custom_command(OUTPUT "${version_inc}" |
24 | DEPENDS "${llvm_vc}" "${clang_vc}" "${generate_vcs_version_script}" |
25 | COMMAND ${CMAKE_COMMAND} "-DNAMES=\"LLVM;CLANG\"" |
26 | "-DLLVM_SOURCE_DIR=${llvm_source_dir}" |
27 | "-DCLANG_SOURCE_DIR=${clang_source_dir}" |
28 | "-DHEADER_FILE=${version_inc}" |
29 | -P "${generate_vcs_version_script}") |
30 | |
31 | # Mark the generated header as being generated. |
32 | set_source_files_properties("${version_inc}" |
33 | PROPERTIES GENERATED TRUE |
34 | HEADER_FILE_ONLY TRUE) |
35 | |
36 | set_property(SOURCE Version.cpp APPEND PROPERTY |
37 | COMPILE_DEFINITIONS "HAVE_VCS_VERSION_INC") |
38 | |
39 | add_clang_library(clangBasic |
40 | Attributes.cpp |
41 | Builtins.cpp |
42 | CharInfo.cpp |
43 | CodeGenOptions.cpp |
44 | Cuda.cpp |
45 | Diagnostic.cpp |
46 | DiagnosticIDs.cpp |
47 | DiagnosticOptions.cpp |
48 | FileManager.cpp |
49 | FileSystemStatCache.cpp |
50 | FixedPoint.cpp |
51 | IdentifierTable.cpp |
52 | LangOptions.cpp |
53 | Module.cpp |
54 | ObjCRuntime.cpp |
55 | OpenMPKinds.cpp |
56 | OperatorPrecedence.cpp |
57 | SanitizerBlacklist.cpp |
58 | SanitizerSpecialCaseList.cpp |
59 | Sanitizers.cpp |
60 | SourceLocation.cpp |
61 | SourceManager.cpp |
62 | TargetInfo.cpp |
63 | Targets.cpp |
64 | Targets/AArch64.cpp |
65 | Targets/AMDGPU.cpp |
66 | Targets/ARC.cpp |
67 | Targets/ARM.cpp |
68 | Targets/AVR.cpp |
69 | Targets/BPF.cpp |
70 | Targets/Hexagon.cpp |
71 | Targets/Lanai.cpp |
72 | Targets/Le64.cpp |
73 | Targets/MSP430.cpp |
74 | Targets/Mips.cpp |
75 | Targets/NVPTX.cpp |
76 | Targets/OSTargets.cpp |
77 | Targets/PNaCl.cpp |
78 | Targets/PPC.cpp |
79 | Targets/RISCV.cpp |
80 | Targets/SPIR.cpp |
81 | Targets/Sparc.cpp |
82 | Targets/SystemZ.cpp |
83 | Targets/TCE.cpp |
84 | Targets/WebAssembly.cpp |
85 | Targets/X86.cpp |
86 | Targets/XCore.cpp |
87 | TokenKinds.cpp |
88 | Version.cpp |
89 | Warnings.cpp |
90 | XRayInstr.cpp |
91 | XRayLists.cpp |
92 | ${version_inc} |
93 | ) |
94 | |
95 | |