aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2009-08-16 05:16:43 +0000
committerOscar Fuentes <ofv@wanadoo.es>2009-08-16 05:16:43 +0000
commitb78829ee38d9939e3a19a151665dd6768f5e53c7 (patch)
treea78e4ad4ca1cc728cd77189f5bae66ea8575188c
parent9b60e04b65b519afa02bb7f9185f8497d38963d0 (diff)
CMake: Revert r79144. It reverted a change necessary for correct
parallel builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79177 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--CMakeLists.txt2
-rwxr-xr-xcmake/modules/AddLLVM.cmake7
2 files changed, 9 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 068ef963af..32dcae79f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -266,6 +266,7 @@ set(LLVM_ENUM_ASM_PRINTERS "")
set(LLVM_ENUM_ASM_PARSERS "")
foreach(t ${LLVM_TARGETS_TO_BUILD})
message(STATUS "Targeting ${t}")
+ set(CURRENT_LLVM_TARGET ${t})
add_subdirectory(lib/Target/${t})
add_subdirectory(lib/Target/${t}/TargetInfo)
if( EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Target/${t}/AsmPrinter/CMakeLists.txt )
@@ -278,6 +279,7 @@ foreach(t ${LLVM_TARGETS_TO_BUILD})
set(LLVM_ENUM_ASM_PARSERS
"${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
endif( EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Target/${t}/AsmParser/CMakeLists.txt )
+ set(CURRENT_LLVM_TARGET)
endforeach(t)
# Produce llvm/Config/AsmPrinters.def
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index 0d263f8365..5971603260 100755
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -12,6 +12,13 @@ macro(add_llvm_library name)
install(TARGETS ${name}
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+ # The LLVM Target library shall be built before its sublibraries
+ # (asmprinter, etc) because those may use tablegenned files which
+ # generation is triggered by the main LLVM target library. Necessary
+ # for parallel builds:
+ if( CURRENT_LLVM_TARGET )
+ add_dependencies(${name} LLVM${CURRENT_LLVM_TARGET})
+ endif()
endmacro(add_llvm_library name)