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)
llvm-svn: 223309

llvm/tools/llvm-ar/CMakeLists.txt

index 5193def..c12d0ce 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)