diff options
| author | Pengxuan Zheng <pzheng@quicinc.com> | 2019-04-11 21:05:15 +0000 | 
|---|---|---|
| committer | Pengxuan Zheng <pzheng@quicinc.com> | 2019-04-11 21:05:15 +0000 | 
| commit | d8ada681df242e8beeca0df5f0b4b699d7d34a13 (patch) | |
| tree | a290cd1b0e321efa7b678b5c7513faeac1b5c90f | |
| parent | 959ef1685979e96a745ac20f1b34ccd080656cb2 (diff) | |
| download | bcm5719-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.cmake | 3 | 
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()  | 

