1set(LLVM_LINK_COMPONENTS 2 ${LLVM_TARGETS_TO_BUILD} 3 Object 4 Support 5 ) 6 7add_llvm_tool(llvm-ar 8 llvm-ar.cpp 9 ) 10 11# FIXME: this is duplicated from the clang CMakeLists.txt 12# FIXME: bin/llvm-ranlib is not a valid build target with this setup (pr17024) 13 14if(UNIX) 15 set(LLVM_LINK_OR_COPY create_symlink) 16 set(llvm_ar_binary "llvm-ar${CMAKE_EXECUTABLE_SUFFIX}") 17else() 18 set(LLVM_LINK_OR_COPY copy) 19 set(llvm_ar_binary "${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ar${CMAKE_EXECUTABLE_SUFFIX}") 20endif() 21 22set(llvm_ranlib "${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ranlib${CMAKE_EXECUTABLE_SUFFIX}") 23add_custom_command(TARGET llvm-ar POST_BUILD 24 COMMAND ${CMAKE_COMMAND} -E ${LLVM_LINK_OR_COPY} "${llvm_ar_binary}" "${llvm_ranlib}") 25 26set_property(DIRECTORY APPEND 27 PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${llvm_ranlib}) 28 29# TODO: Support check-local. 30