[Lldb-commits] [lldb] r366394 - Only build lldb-tblgen if it's not a current target
Nathan Lanza via lldb-commits
lldb-commits at lists.llvm.org
Wed Jul 17 18:26:54 PDT 2019
Author: lanza
Date: Wed Jul 17 18:26:53 2019
New Revision: 366394
URL: http://llvm.org/viewvc/llvm-project?rev=366394&view=rev
Log:
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
Modified:
lldb/trunk/utils/TableGen/CMakeLists.txt
Modified: lldb/trunk/utils/TableGen/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/utils/TableGen/CMakeLists.txt?rev=366394&r1=366393&r2=366394&view=diff
==============================================================================
--- lldb/trunk/utils/TableGen/CMakeLists.txt (original)
+++ lldb/trunk/utils/TableGen/CMakeLists.txt Wed Jul 17 18:26:53 2019
@@ -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()
More information about the lldb-commits
mailing list