xref: /openbsd-src/gnu/llvm/clang/lib/Basic/CMakeLists.txt (revision f1dd7b858388b4a23f4f67a4957ec5ff656ebbe8)
1set(LLVM_LINK_COMPONENTS
2  Core
3  MC
4  Support
5  )
6
7find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc)
8find_first_existing_vc_file("${CLANG_SOURCE_DIR}" clang_vc)
9
10# The VC revision include that we want to generate.
11set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc")
12
13set(generate_vcs_version_script "${LLVM_CMAKE_PATH}/GenerateVersionFromVCS.cmake")
14
15if(llvm_vc AND LLVM_APPEND_VC_REV)
16  set(llvm_source_dir ${LLVM_MAIN_SRC_DIR})
17endif()
18if(clang_vc AND LLVM_APPEND_VC_REV)
19  set(clang_source_dir ${CLANG_SOURCE_DIR})
20endif()
21
22# Create custom target to generate the VC revision include.
23add_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.
32set_source_files_properties("${version_inc}"
33  PROPERTIES GENERATED TRUE
34             HEADER_FILE_ONLY TRUE)
35
36set_property(SOURCE Version.cpp APPEND PROPERTY
37             COMPILE_DEFINITIONS "HAVE_VCS_VERSION_INC")
38
39add_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  ExpressionTraits.cpp
49  FileManager.cpp
50  FileSystemStatCache.cpp
51  FixedPoint.cpp
52  IdentifierTable.cpp
53  LangOptions.cpp
54  LangStandards.cpp
55  Module.cpp
56  ObjCRuntime.cpp
57  OpenMPKinds.cpp
58  OperatorPrecedence.cpp
59  SanitizerBlacklist.cpp
60  SanitizerSpecialCaseList.cpp
61  Sanitizers.cpp
62  SourceLocation.cpp
63  SourceManager.cpp
64  Stack.cpp
65  TargetInfo.cpp
66  Targets.cpp
67  Targets/AArch64.cpp
68  Targets/AMDGPU.cpp
69  Targets/ARC.cpp
70  Targets/ARM.cpp
71  Targets/AVR.cpp
72  Targets/BPF.cpp
73  Targets/Hexagon.cpp
74  Targets/Lanai.cpp
75  Targets/Le64.cpp
76  Targets/MSP430.cpp
77  Targets/Mips.cpp
78  Targets/NVPTX.cpp
79  Targets/OSTargets.cpp
80  Targets/PNaCl.cpp
81  Targets/PPC.cpp
82  Targets/RISCV.cpp
83  Targets/SPIR.cpp
84  Targets/Sparc.cpp
85  Targets/SystemZ.cpp
86  Targets/TCE.cpp
87  Targets/VE.cpp
88  Targets/WebAssembly.cpp
89  Targets/X86.cpp
90  Targets/XCore.cpp
91  TokenKinds.cpp
92  TypeTraits.cpp
93  Version.cpp
94  Warnings.cpp
95  XRayInstr.cpp
96  XRayLists.cpp
97  ${version_inc}
98
99  DEPENDS
100  omp_gen
101  )
102
103