From: Alex Langford Date: Tue, 23 Apr 2019 21:59:07 +0000 (+0000) Subject: [CMake] Use add_dependencies in add_llvm_install_targets X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0734b610d6b553dd272ac57ad78d710f7f58fb11;p=llvm [CMake] Use add_dependencies in add_llvm_install_targets Summary: The CMake documentation says that the `DEPENDS` field of add_custom_target is for files and output of custom commands. Adding a dependency on a target should be done with `add_dependency`. Differential Revision: https://reviews.llvm.org/D60879 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359042 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index 4287489507f..9d33e184d37 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -603,21 +603,35 @@ function(add_llvm_install_targets target) set(prefix_option -DCMAKE_INSTALL_PREFIX="${ARG_PREFIX}") endif() + set(file_dependencies) + set(target_dependencies) + foreach(dependency ${ARG_DEPENDS}) + if(TARGET ${dependency}) + list(APPEND target_dependencies ${dependency}) + else() + list(APPEND file_dependencies ${dependency}) + endif() + endforeach() + add_custom_target(${target} - DEPENDS ${ARG_DEPENDS} + DEPENDS ${file_dependencies} COMMAND "${CMAKE_COMMAND}" ${component_option} ${prefix_option} -P "${CMAKE_BINARY_DIR}/cmake_install.cmake" USES_TERMINAL) add_custom_target(${target}-stripped - DEPENDS ${ARG_DEPENDS} + DEPENDS ${file_dependencies} COMMAND "${CMAKE_COMMAND}" ${component_option} ${prefix_option} -DCMAKE_INSTALL_DO_STRIP=1 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake" USES_TERMINAL) + if(target_dependencies) + add_dependencies(${target} ${target_dependencies}) + add_dependencies(${target}-stripped ${target_dependencies}) + endif() endfunction() macro(add_llvm_library name)