summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Lanza <nathan@lanza.io>2019-07-18 01:26:53 +0000
committerNathan Lanza <nathan@lanza.io>2019-07-18 01:26:53 +0000
commitbd3e74c73d968582d36e4d60e389002540becc8c (patch)
tree07baeea6915cd1ec4592d579d58ba7560592cd94
parent9cdd2152b92703bfac118f7cc0b3eb934b95cdaf (diff)
downloadbcm5719-llvm-bd3e74c73d968582d36e4d60e389002540becc8c.tar.gz
bcm5719-llvm-bd3e74c73d968582d36e4d60e389002540becc8c.zip
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
-rw-r--r--lldb/utils/TableGen/CMakeLists.txt20
1 files changed, 13 insertions, 7 deletions
diff --git a/lldb/utils/TableGen/CMakeLists.txt b/lldb/utils/TableGen/CMakeLists.txt
index 76e819160ea..45a5d366222 100644
--- a/lldb/utils/TableGen/CMakeLists.txt
+++ b/lldb/utils/TableGen/CMakeLists.txt
@@ -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()
OpenPOWER on IntegriCloud