Only build lldb-tblgen if it's not a current target

Summary:
When doing standalone builds, you could potentially be building against
an llvm which also built lldb. If this were the case, you'd be
attempting to build this target twice.

Reviewers: xiaobai

Subscribers: mgorny

Differential Revision: https://reviews.llvm.org/D64847

llvm-svn: 366394
This commit is contained in:
Nathan Lanza 2019-07-18 01:26:53 +00:00
parent 9cdd2152b9
commit bd3e74c73d
1 changed files with 13 additions and 7 deletions

View File

@ -1,8 +1,14 @@
set(LLVM_LINK_COMPONENTS Support)
add_tablegen(lldb-tblgen LLDB
LLDBOptionDefEmitter.cpp
LLDBTableGen.cpp
)
set_target_properties(lldb-tblgen PROPERTIES FOLDER "LLDB tablegenning")
# tablegen targets get exported via llvm for LLVMConfig.cmake. So standalone
# builds of lldb can potentially import this via LLVMConfig and also attempt to
# build it in tree. So only build it if it doesn't exist.
if (TARGET lldb-tblgen)
set(LLDB_TABLEGEN_EXE $<TARGET_FILE:lldb-tblgen> CACHE STRING "")
else()
set(LLVM_LINK_COMPONENTS Support)
add_tablegen(lldb-tblgen LLDB
LLDBOptionDefEmitter.cpp
LLDBTableGen.cpp
)
set_target_properties(lldb-tblgen PROPERTIES FOLDER "LLDB tablegenning")
endif()