xref: /netbsd-src/external/apache2/llvm/dist/clang/lib/Basic/CMakeLists.txt (revision e038c9c4676b0f19b1b7dd08a940c6ed64a6d5ae)
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  Diagnostic.cpp
46  DiagnosticIDs.cpp
47  DiagnosticOptions.cpp
48  ExpressionTraits.cpp
49  FileEntry.cpp
50  FileManager.cpp
51  FileSystemStatCache.cpp
52  IdentifierTable.cpp
53  LangOptions.cpp
54  LangStandards.cpp
55  Module.cpp
56  ObjCRuntime.cpp
57  OpenCLOptions.cpp
58  OpenMPKinds.cpp
59  OperatorPrecedence.cpp
60  ProfileList.cpp
61  NoSanitizeList.cpp
62  SanitizerSpecialCaseList.cpp
63  Sanitizers.cpp
64  SourceLocation.cpp
65  SourceManager.cpp
66  Stack.cpp
67  TargetID.cpp
68  TargetInfo.cpp
69  Targets.cpp
70  Targets/AArch64.cpp
71  Targets/AMDGPU.cpp
72  Targets/ARC.cpp
73  Targets/ARM.cpp
74  Targets/AVR.cpp
75  Targets/BPF.cpp
76  Targets/Hexagon.cpp
77  Targets/Lanai.cpp
78  Targets/Le64.cpp
79  Targets/M68k.cpp
80  Targets/MSP430.cpp
81  Targets/Mips.cpp
82  Targets/NVPTX.cpp
83  Targets/OSTargets.cpp
84  Targets/PNaCl.cpp
85  Targets/PPC.cpp
86  Targets/RISCV.cpp
87  Targets/SPIR.cpp
88  Targets/Sparc.cpp
89  Targets/SystemZ.cpp
90  Targets/TCE.cpp
91  Targets/VE.cpp
92  Targets/WebAssembly.cpp
93  Targets/X86.cpp
94  Targets/XCore.cpp
95  TokenKinds.cpp
96  TypeTraits.cpp
97  Version.cpp
98  Warnings.cpp
99  XRayInstr.cpp
100  XRayLists.cpp
101  ${version_inc}
102
103  DEPENDS
104  omp_gen
105  )
106
107