Re-land "Fix MSVC dependency issue between Clang-tablegen and LLVM-tablegen"
authorAlexandre Ganea <alexandre.ganea@ubisoft.com>
Wed, 19 Dec 2018 19:42:21 +0000 (19:42 +0000)
committerAlexandre Ganea <alexandre.ganea@ubisoft.com>
Wed, 19 Dec 2018 19:42:21 +0000 (19:42 +0000)
(was reverted by mistake)

llvm-svn: 349672

llvm/cmake/modules/TableGen.cmake

index ee1840d..3c84ae7 100644 (file)
@@ -146,6 +146,12 @@ macro(add_tablegen target project)
       llvm_ExternalProject_BuildCmd(tblgen_build_cmd ${target}
                                     ${LLVM_NATIVE_BUILD}
                                     CONFIGURATION Release)
+      # 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)
+        add_dependencies(${project}-tablegen-host LLVM-tablegen-host)
+      endif()
       add_custom_command(OUTPUT ${${project}_TABLEGEN_EXE}
         COMMAND ${tblgen_build_cmd}
         DEPENDS CONFIGURE_LLVM_NATIVE ${target}