summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPengxuan Zheng <pzheng@quicinc.com>2019-04-11 21:05:15 +0000
committerPengxuan Zheng <pzheng@quicinc.com>2019-04-11 21:05:15 +0000
commitd8ada681df242e8beeca0df5f0b4b699d7d34a13 (patch)
treea290cd1b0e321efa7b678b5c7513faeac1b5c90f
parent959ef1685979e96a745ac20f1b34ccd080656cb2 (diff)
downloadbcm5719-llvm-d8ada681df242e8beeca0df5f0b4b699d7d34a13.tar.gz
bcm5719-llvm-d8ada681df242e8beeca0df5f0b4b699d7d34a13.zip
[cmake] Fix dependency issue in TableGen
Summary: There is a bug in add_tablegen which causes cmake to fail with the following error message if LLVM_TABLEGEN is set. CMake Error at cmake/modules/TableGen.cmake:147 (add_dependencies): The dependency target "LLVM-tablegen-host" of target "CLANG-tablegen-host" does not exist. Call Stack (most recent call first): tools/clang/utils/TableGen/CMakeLists.txt:3 (add_tablegen) The issue happens because setting LLVM_TABLEGEN causes cmake to skip generating the LLVM-tablegen-host target. As a result, a non-existent target was added for CLANG-tablegen-host causing cmake to fail. In order to fix this issue, this patch adds a guard to check the validity of the dependency target before adding it as a dependency. Reviewers: aganea, smeenai Reviewed By: aganea Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60576 llvm-svn: 358226
-rw-r--r--llvm/cmake/modules/TableGen.cmake3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
index 5d921818fcf..5a9ccbbbdf1 100644
--- a/llvm/cmake/modules/TableGen.cmake
+++ b/llvm/cmake/modules/TableGen.cmake
@@ -143,7 +143,8 @@ macro(add_tablegen target project)
# Create an artificial dependency between tablegen projects, because they
# compile the same dependencies, thus using the same build folders.
# FIXME: A proper fix requires sequentially chaining tablegens.
- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host)
+ if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND
+ TARGET LLVM-tablegen-host)
add_dependencies(${project}-tablegen-host LLVM-tablegen-host)
endif()
endif()
OpenPOWER on IntegriCloud