[llvm-commits] [llvm] r143531 - in /llvm/trunk: cmake/modules/TableGen.cmake utils/TableGen/CMakeLists.txt

Chandler Carruth chandlerc at gmail.com
Tue Nov 1 22:03:06 PDT 2011


Author: chandlerc
Date: Wed Nov  2 00:03:06 2011
New Revision: 143531

URL: http://llvm.org/viewvc/llvm-project?rev=143531&view=rev
Log:
The TableGen parts of the CMake build are seriously broken. This fixes
one aspect of them by having them use the (annoying, if not broken)
proper library dependency model for adding the LLVMTableGen library as
a dependency. This could manifest as a link order issue in the presence
of separate LLVM / Clang source builds with CMake and a linker that
really cares about such things.

Also, add the Support dependency to llvm-tblgen itself so that it
doesn't rely on TableGen's transitive Support dependency. A parallel
change for clang-tblgen will be forthcoming.

Modified:
    llvm/trunk/cmake/modules/TableGen.cmake
    llvm/trunk/utils/TableGen/CMakeLists.txt

Modified: llvm/trunk/cmake/modules/TableGen.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/TableGen.cmake?rev=143531&r1=143530&r2=143531&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/TableGen.cmake (original)
+++ llvm/trunk/cmake/modules/TableGen.cmake Wed Nov  2 00:03:06 2011
@@ -76,7 +76,10 @@
 macro(add_tablegen target project)
   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
 
+  set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
+  set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
   add_llvm_utility(${target} ${ARGN})
+  set(LLVM_LINK_COMPONENTS ${target}_OLD_LLVM_LINK_COMPONENTS)
 
   set(${project}_TABLEGEN "${target}" CACHE
       STRING "Native TableGen executable. Saves building one when cross-compiling.")
@@ -110,7 +113,6 @@
     endif()
   endif()
 
-  target_link_libraries(${target} LLVMSupport LLVMTableGen)
   if( MINGW )
     target_link_libraries(${target} imagehlp psapi)
     if(CMAKE_SIZEOF_VOID_P MATCHES "8")

Modified: llvm/trunk/utils/TableGen/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CMakeLists.txt?rev=143531&r1=143530&r2=143531&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CMakeLists.txt (original)
+++ llvm/trunk/utils/TableGen/CMakeLists.txt Wed Nov  2 00:03:06 2011
@@ -1,5 +1,6 @@
 set(LLVM_REQUIRES_EH 1)
 set(LLVM_REQUIRES_RTTI 1)
+set(LLVM_LINK_COMPONENTS Support)
 
 add_tablegen(llvm-tblgen LLVM
   ARMDecoderEmitter.cpp





More information about the llvm-commits mailing list