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