| 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 | |