xref: /llvm-project/lld/Common/CMakeLists.txt (revision 247b7d068497de085b7fd66c6531034afa9709f0)
104661e10SRui Ueyamafind_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc)
204661e10SRui Ueyamafind_first_existing_vc_file("${LLD_SOURCE_DIR}" lld_vc)
304661e10SRui Ueyama
404661e10SRui Ueyamaset(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc")
5a2c319fdSAlfonso Gregoryset(generate_vcs_version_script "${LLVM_CMAKE_DIR}/GenerateVersionFromVCS.cmake")
604661e10SRui Ueyama
7fb5fafb2SNico Weberif(lld_vc AND LLVM_APPEND_VC_REV)
804661e10SRui Ueyama  set(lld_source_dir ${LLD_SOURCE_DIR})
904661e10SRui Ueyamaendif()
1004661e10SRui Ueyama
1104661e10SRui Ueyamaadd_custom_command(OUTPUT "${version_inc}"
1204661e10SRui Ueyama  DEPENDS "${lld_vc}" "${generate_vcs_version_script}"
1304661e10SRui Ueyama  COMMAND ${CMAKE_COMMAND} "-DNAMES=LLD"
14fb5fafb2SNico Weber  "-DLLD_SOURCE_DIR=${lld_source_dir}"
1504661e10SRui Ueyama  "-DHEADER_FILE=${version_inc}"
16*247b7d06SDavid Truby  "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION}"
17*247b7d06SDavid Truby  "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY}"
1804661e10SRui Ueyama  -P "${generate_vcs_version_script}")
1904661e10SRui Ueyama
2004661e10SRui Ueyama# Mark the generated header as being generated.
2104661e10SRui Ueyamaset_source_files_properties("${version_inc}"
2204661e10SRui Ueyama  PROPERTIES GENERATED TRUE
2304661e10SRui Ueyama  HEADER_FILE_ONLY TRUE)
2404661e10SRui Ueyama
253f851704SRui Ueyamaadd_lld_library(lldCommon
263e03944fSRui Ueyama  Args.cpp
2783d59e05SAlexandre Ganea  CommonLinkerContext.cpp
286f2e92c1SAlexandre Ganea  DriverDispatcher.cpp
29908b7809SMartin Storsjo  DWARF.cpp
30b8a59c8aSBob Haarman  ErrorHandler.cpp
317fd99fc4SRui Ueyama  Filesystem.cpp
322017d52bSRui Ueyama  Memory.cpp
333f851704SRui Ueyama  Reproduce.cpp
3453fe4691SRui Ueyama  Strings.cpp
353f851704SRui Ueyama  TargetOptionsCommandFlags.cpp
36727f153bSZachary Turner  Timer.cpp
3704661e10SRui Ueyama  VCSVersion.inc
383f851704SRui Ueyama  Version.cpp
393f851704SRui Ueyama
403f851704SRui Ueyama  ADDITIONAL_HEADER_DIRS
413f851704SRui Ueyama  ${LLD_INCLUDE_DIR}/lld/Common
423f851704SRui Ueyama
433f851704SRui Ueyama  LINK_COMPONENTS
44a37b587fSRui Ueyama  Codegen
45ab163a8eSRui Ueyama  Core
46908b7809SMartin Storsjo  DebugInfoDWARF
472d614cedSMartin Storsjo  Demangle
4833b31a7cSRui Ueyama  MC
493f851704SRui Ueyama  Option
503f851704SRui Ueyama  Support
51a37b587fSRui Ueyama  Target
52f09cf34dSArchibald Elliott  TargetParser
5360ee7e30SNAKAMURA Takumi
54c95c2be0SAlexander Richardson  LINK_LIBS
55f0b451c7SSam James  ${LLVM_PTHREAD_LIB}
56f0b451c7SSam James  ${LLVM_ATOMIC_LIB}
57c95c2be0SAlexander Richardson
5860ee7e30SNAKAMURA Takumi  DEPENDS
5953880b8cSMichele Scandale  intrinsics_gen
603f851704SRui Ueyama  )
61