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