<div dir="ltr">Yes, I think we should cherry pick this one.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 26, 2017 at 10:26 AM, Hans Wennborg <span dir="ltr"><<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This should probably be merged to the release branch. It came up in<br>
rc1 testing: <a href="http://lists.llvm.org/pipermail/llvm-dev/2017-January/109440.html" rel="noreferrer" target="_blank">http://lists.llvm.org/<wbr>pipermail/llvm-dev/2017-<wbr>January/109440.html</a><br>
<br>
Rui, what do you think?<br>
<div class="HOEnZb"><div class="h5"><br>
On Tue, Jan 24, 2017 at 2:41 AM, Pavel Labath via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Author: labath<br>
> Date: Tue Jan 24 04:41:02 2017<br>
> New Revision: 292909<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=292909&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=292909&view=rev</a><br>
> Log:<br>
> [lld][cmake] Fix BUILD_SHARED_LIBS installation<br>
><br>
> Summary:<br>
> This fixes a regression caused by D28397, which switched lld from using<br>
> add_llvm_library to llvm_add_library. The latter does not automatically set up<br>
> install rules for libraries, as it's expected the project will set them up<br>
> manually based on its own needs.<br>
><br>
> This adds the install rules to add_lld_library for lld. They were inspired by<br>
> the similar add_clang_library macro in clang.<br>
><br>
> Reviewers: ruiu, beanz, davidlt, EricWF, dtzWill<br>
><br>
> Subscribers: mgorny, llvm-commits<br>
><br>
> Differential Revision: <a href="https://reviews.llvm.org/D29007" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D29007</a><br>
><br>
> Modified:<br>
>     lld/trunk/cmake/modules/<wbr>AddLLD.cmake<br>
><br>
> Modified: lld/trunk/cmake/modules/<wbr>AddLLD.cmake<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/cmake/modules/AddLLD.cmake?rev=292909&r1=292908&r2=292909&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/lld/trunk/cmake/<wbr>modules/AddLLD.cmake?rev=<wbr>292909&r1=292908&r2=292909&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- lld/trunk/cmake/modules/<wbr>AddLLD.cmake (original)<br>
> +++ lld/trunk/cmake/modules/<wbr>AddLLD.cmake Tue Jan 24 04:41:02 2017<br>
> @@ -1,6 +1,38 @@<br>
>  macro(add_lld_library name)<br>
> -  llvm_add_library(${name} ${ARGN})<br>
> +  cmake_parse_arguments(ARG<br>
> +    "SHARED"<br>
> +    ""<br>
> +    ""<br>
> +    ${ARGN})<br>
> +  if(ARG_SHARED)<br>
> +    set(ARG_ENABLE_SHARED SHARED)<br>
> +  endif()<br>
> +  llvm_add_library(${name} ${ARG_ENABLE_SHARED} ${ARG_UNPARSED_ARGUMENTS})<br>
>    set_target_properties(${name} PROPERTIES FOLDER "lld libraries")<br>
> +<br>
> +  if (LLD_BUILD_TOOLS)<br>
> +    if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR<br>
> +        NOT LLVM_DISTRIBUTION_COMPONENTS)<br>
> +      set(export_to_lldtargets EXPORT lldTargets)<br>
> +      set_property(GLOBAL PROPERTY LLD_HAS_EXPORTS True)<br>
> +    endif()<br>
> +<br>
> +    install(TARGETS ${name}<br>
> +      COMPONENT ${name}<br>
> +      ${export_to_lldtargets}<br>
> +      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}<br>
> +      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}<br>
> +      RUNTIME DESTINATION bin)<br>
> +<br>
> +    if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)<br>
> +      add_custom_target(install-${<wbr>name}<br>
> +        DEPENDS ${name}<br>
> +        COMMAND "${CMAKE_COMMAND}"<br>
> +          -DCMAKE_INSTALL_COMPONENT=${<wbr>name}<br>
> +          -P "${CMAKE_BINARY_DIR}/cmake_<wbr>install.cmake")<br>
> +    endif()<br>
> +    set_property(GLOBAL APPEND PROPERTY LLD_EXPORTS ${name})<br>
> +  endif()<br>
>  endmacro(add_lld_library)<br>
><br>
>  macro(add_lld_executable name)<br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>