[llvm] r359042 - [CMake] Use add_dependencies in add_llvm_install_targets
Alex Langford via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 23 14:59:07 PDT 2019
Author: xiaobai
Date: Tue Apr 23 14:59:07 2019
New Revision: 359042
URL: http://llvm.org/viewvc/llvm-project?rev=359042&view=rev
Log:
[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
Modified:
llvm/trunk/cmake/modules/AddLLVM.cmake
Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=359042&r1=359041&r2=359042&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
+++ llvm/trunk/cmake/modules/AddLLVM.cmake Tue Apr 23 14:59:07 2019
@@ -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)
More information about the llvm-commits
mailing list