Make llvm-ar a real build target and install it.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 3 Dec 2014 23:17:24 +0000 (23:17 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 3 Dec 2014 23:17:24 +0000 (23:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223309 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-ar/CMakeLists.txt

index 5193def2aad57fa195462848d87becf03628d118..c12d0cedaf79580f224fcfc77c665b73c778915a 100644 (file)
@@ -9,22 +9,17 @@ add_llvm_tool(llvm-ar
   llvm-ar.cpp
   )
 
-# FIXME: this is duplicated from the clang CMakeLists.txt
-# FIXME: bin/llvm-ranlib is not a valid build target with this setup (pr17024)
-
 if(UNIX)
   set(LLVM_LINK_OR_COPY create_symlink)
-  set(llvm_ar_binary "llvm-ar${CMAKE_EXECUTABLE_SUFFIX}")
 else()
   set(LLVM_LINK_OR_COPY copy)
-  set(llvm_ar_binary "${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ar${CMAKE_EXECUTABLE_SUFFIX}")
 endif()
 
+set(llvm_ar_binary "llvm-ar${CMAKE_EXECUTABLE_SUFFIX}")
 set(llvm_ranlib "${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ranlib${CMAKE_EXECUTABLE_SUFFIX}")
-add_custom_command(TARGET llvm-ar POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E ${LLVM_LINK_OR_COPY} "${llvm_ar_binary}" "${llvm_ranlib}")
 
-set_property(DIRECTORY APPEND
-  PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${llvm_ranlib})
+add_custom_command(OUTPUT ${llvm_ranlib}
+                   COMMAND ${CMAKE_COMMAND} -E ${LLVM_LINK_OR_COPY} "${llvm_ar_binary}" "${llvm_ranlib}")
 
-# TODO: Support check-local.
+add_custom_target(llvm_ranlib_build ALL DEPENDS ${llvm_ranlib})
+install(FILES "${llvm_ranlib}" DESTINATION bin)