17330f729Sjoergset(LLVM_LINK_COMPONENTS 27330f729Sjoerg Support 37330f729Sjoerg ) 47330f729Sjoerg 57330f729Sjoergfind_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) 67330f729Sjoergfind_first_existing_vc_file("${CLANG_SOURCE_DIR}" clang_vc) 77330f729Sjoerg 87330f729Sjoerg# The VC revision include that we want to generate. 97330f729Sjoergset(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc") 107330f729Sjoerg 117330f729Sjoergset(generate_vcs_version_script "${LLVM_CMAKE_PATH}/GenerateVersionFromVCS.cmake") 127330f729Sjoerg 13*e038c9c4Sjoergif(llvm_vc AND LLVM_APPEND_VC_REV) 147330f729Sjoerg set(llvm_source_dir ${LLVM_MAIN_SRC_DIR}) 157330f729Sjoergendif() 16*e038c9c4Sjoergif(clang_vc AND LLVM_APPEND_VC_REV) 177330f729Sjoerg set(clang_source_dir ${CLANG_SOURCE_DIR}) 187330f729Sjoergendif() 197330f729Sjoerg 207330f729Sjoerg# Create custom target to generate the VC revision include. 217330f729Sjoergadd_custom_command(OUTPUT "${version_inc}" 227330f729Sjoerg DEPENDS "${llvm_vc}" "${clang_vc}" "${generate_vcs_version_script}" 237330f729Sjoerg COMMAND ${CMAKE_COMMAND} "-DNAMES=\"LLVM;CLANG\"" 247330f729Sjoerg "-DLLVM_SOURCE_DIR=${llvm_source_dir}" 257330f729Sjoerg "-DCLANG_SOURCE_DIR=${clang_source_dir}" 267330f729Sjoerg "-DHEADER_FILE=${version_inc}" 277330f729Sjoerg -P "${generate_vcs_version_script}") 287330f729Sjoerg 297330f729Sjoerg# Mark the generated header as being generated. 307330f729Sjoergset_source_files_properties("${version_inc}" 317330f729Sjoerg PROPERTIES GENERATED TRUE 327330f729Sjoerg HEADER_FILE_ONLY TRUE) 337330f729Sjoerg 34*e038c9c4Sjoergif(CLANG_VENDOR) 35*e038c9c4Sjoerg set_source_files_properties(Version.cpp 36*e038c9c4Sjoerg PROPERTIES COMPILE_DEFINITIONS "CLANG_VENDOR=\"${CLANG_VENDOR} \"") 37*e038c9c4Sjoergendif() 387330f729Sjoerg 397330f729Sjoergadd_clang_library(clangBasic 407330f729Sjoerg Attributes.cpp 417330f729Sjoerg Builtins.cpp 427330f729Sjoerg CharInfo.cpp 437330f729Sjoerg CodeGenOptions.cpp 447330f729Sjoerg Cuda.cpp 457330f729Sjoerg Diagnostic.cpp 467330f729Sjoerg DiagnosticIDs.cpp 477330f729Sjoerg DiagnosticOptions.cpp 48*e038c9c4Sjoerg ExpressionTraits.cpp 49*e038c9c4Sjoerg FileEntry.cpp 507330f729Sjoerg FileManager.cpp 517330f729Sjoerg FileSystemStatCache.cpp 527330f729Sjoerg IdentifierTable.cpp 537330f729Sjoerg LangOptions.cpp 547330f729Sjoerg LangStandards.cpp 557330f729Sjoerg Module.cpp 567330f729Sjoerg ObjCRuntime.cpp 57*e038c9c4Sjoerg OpenCLOptions.cpp 587330f729Sjoerg OpenMPKinds.cpp 597330f729Sjoerg OperatorPrecedence.cpp 60*e038c9c4Sjoerg ProfileList.cpp 61*e038c9c4Sjoerg NoSanitizeList.cpp 627330f729Sjoerg SanitizerSpecialCaseList.cpp 637330f729Sjoerg Sanitizers.cpp 647330f729Sjoerg SourceLocation.cpp 657330f729Sjoerg SourceManager.cpp 667330f729Sjoerg Stack.cpp 67*e038c9c4Sjoerg TargetID.cpp 687330f729Sjoerg TargetInfo.cpp 697330f729Sjoerg Targets.cpp 707330f729Sjoerg Targets/AArch64.cpp 717330f729Sjoerg Targets/AMDGPU.cpp 727330f729Sjoerg Targets/ARC.cpp 737330f729Sjoerg Targets/ARM.cpp 747330f729Sjoerg Targets/AVR.cpp 757330f729Sjoerg Targets/BPF.cpp 767330f729Sjoerg Targets/Hexagon.cpp 777330f729Sjoerg Targets/Lanai.cpp 787330f729Sjoerg Targets/Le64.cpp 79*e038c9c4Sjoerg Targets/M68k.cpp 807330f729Sjoerg Targets/MSP430.cpp 817330f729Sjoerg Targets/Mips.cpp 827330f729Sjoerg Targets/NVPTX.cpp 837330f729Sjoerg Targets/OSTargets.cpp 847330f729Sjoerg Targets/PNaCl.cpp 857330f729Sjoerg Targets/PPC.cpp 867330f729Sjoerg Targets/RISCV.cpp 877330f729Sjoerg Targets/SPIR.cpp 887330f729Sjoerg Targets/Sparc.cpp 897330f729Sjoerg Targets/SystemZ.cpp 907330f729Sjoerg Targets/TCE.cpp 91*e038c9c4Sjoerg Targets/VE.cpp 927330f729Sjoerg Targets/WebAssembly.cpp 937330f729Sjoerg Targets/X86.cpp 947330f729Sjoerg Targets/XCore.cpp 957330f729Sjoerg TokenKinds.cpp 96*e038c9c4Sjoerg TypeTraits.cpp 977330f729Sjoerg Version.cpp 987330f729Sjoerg Warnings.cpp 997330f729Sjoerg XRayInstr.cpp 1007330f729Sjoerg XRayLists.cpp 1017330f729Sjoerg ${version_inc} 102*e038c9c4Sjoerg 103*e038c9c4Sjoerg DEPENDS 104*e038c9c4Sjoerg omp_gen 1057330f729Sjoerg ) 1067330f729Sjoerg 107