xref: /netbsd-src/external/apache2/llvm/dist/clang/lib/Basic/CMakeLists.txt (revision e038c9c4676b0f19b1b7dd08a940c6ed64a6d5ae)
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