From 6be6579352b63a809919e16eb13eec16c9a62716 Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Fri, 21 Feb 2014 14:17:29 +0000 Subject: [PATCH] [CMake] llvm_add_library: Add dependencies also to objlibs as workaround of CMake issue 14747. http://www.cmake.org/Bug/view.php?id=14747 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201855 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/AddLLVM.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index a10262b14ef..90c15a9d70e 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -127,6 +127,10 @@ function(add_llvm_symbol_exports target_name export_file) PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${native_export_file}) add_dependencies(${target_name} ${target_name}_exports) + + # Add dependency to *_exports later -- CMake issue 14747 + list(APPEND LLVM_COMMON_DEPENDS ${target_name}_exports) + set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE) endfunction(add_llvm_symbol_exports) function(add_dead_strip target_name) @@ -224,6 +228,9 @@ function(llvm_add_library name) llvm_update_compile_flags(${obj_name}) set(ALL_FILES "$") + # Do add_dependencies(obj) later due to CMake issue 14747. + list(APPEND objlibs ${obj_name}) + set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries") endif() @@ -288,6 +295,12 @@ function(llvm_add_library name) if(LLVM_COMMON_DEPENDS) add_dependencies(${name} ${LLVM_COMMON_DEPENDS}) + # Add dependencies also to objlibs. + # CMake issue 14747 -- add_dependencies() might be ignored to objlib's user. + foreach(objlib ${objlibs}) + message("add_dependencies(${objlib} ${LLVM_COMMON_DEPENDS})") + add_dependencies(${objlib} ${LLVM_COMMON_DEPENDS}) + endforeach() endif() endfunction() -- 2.34.1