aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2011-01-03 20:01:32 +0000
committerOscar Fuentes <ofv@wanadoo.es>2011-01-03 20:01:32 +0000
commit5b30f0a7ebc60dd1aa63c237157ea658454f4270 (patch)
tree6e2fc9c3ee0c56fef0fc643bfbb4389a0b64335b
parent30f4a559d71b2382e3c74be2b9bfd9dd575d960a (diff)
downloadexternal_llvm-5b30f0a7ebc60dd1aa63c237157ea658454f4270.zip
external_llvm-5b30f0a7ebc60dd1aa63c237157ea658454f4270.tar.gz
external_llvm-5b30f0a7ebc60dd1aa63c237157ea658454f4270.tar.bz2
TableGen.cmake: sometimes the .td file is not in the current directory
(clang/include/clang/Basic/StmtNodes.td, for instance, is tablegenned from clang/include/clang/AST/CMakeLists.txt) so it is not contained on the list of all .td files on the current source directory which is used as the DEPENDS of the custom command. We must add the .td file to the DEPENDS list of the custom command. Otherwise some .inc files are not regenerated when the corresponding .td file changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122768 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--cmake/modules/TableGen.cmake5
1 files changed, 4 insertions, 1 deletions
diff --git a/cmake/modules/TableGen.cmake b/cmake/modules/TableGen.cmake
index e61a342..c1a11b3 100644
--- a/cmake/modules/TableGen.cmake
+++ b/cmake/modules/TableGen.cmake
@@ -18,7 +18,10 @@ macro(tablegen ofn)
-I ${LLVM_MAIN_SRC_DIR}/lib/Target -I ${LLVM_MAIN_INCLUDE_DIR}
${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
-o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
- DEPENDS tblgen ${local_tds} ${global_tds}
+ # The file in LLVM_TARGET_DEFINITIONS may be not in the current
+ # directory and local_tds may not contain it, so we must
+ # explicitly list it here:
+ DEPENDS tblgen ${local_tds} ${global_tds} ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
COMMENT "Building ${ofn}..."
)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}