[llvm] r272200 - [CMake] Support overriding binary install directory

Will Dietz via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 9 10:41:04 PDT 2016


Great, thanks! LGTM! (And my non-clang out-of-tree projects thank you for
your consideration :))

~Will

On Thu, Jun 9, 2016 at 12:32 PM Chris Bieneman <beanz at apple.com> wrote:

> Thinking on the more the fix I put in clang was hacky. The correct fix is
> in LLVM r272279.
>
> -Chris
>
> On Jun 9, 2016, at 9:28 AM, Chris Bieneman via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
> I’ve put a fix into clang in r272275. That should make this work for you.
> Please let me know if it doesn’t work.
>
> Thanks,
> -Chris
>
> On Jun 9, 2016, at 4:05 AM, Will Dietz <wdietz2 at illinois.edu> wrote:
>
> Hi!
>
> This change seems to have broken my ability to build clang out-of-tree,
> for reasons that seem to essentially come down to LLVM_TOOLS_INSTALL_DIR
> not being set, resulting in generation of install_symlink() commands with a
> missing third parameter.
>
> I'd offer a patch but I'm not sure how to best address the issue, any
> ideas?
>
> Looks like many properties are gathered from llvm-config when doing a
> standalone clang build[1], although I think for this we might be able to
> default to 'bin' unless user overrides it.
>
> Anyway hopefully there's an easy answer, thanks for your time :)
>
> ~Will
>
> [1]
> https://github.com/llvm-mirror/clang/blob/1f6336d3adfb5ba2aa784f2e64cfb451d365abf2/CMakeLists.txt#L19
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_llvm-2Dmirror_clang_blob_1f6336d3adfb5ba2aa784f2e64cfb451d365abf2_CMakeLists.txt-23L19&d=CwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=xXEIrBAdbZE_31L02EhdCnl1kUxtVS4j8o9vydj_vKk&m=THSQpI2t6UJV3kHpIOKQxULglc6okovBnOSHmunH7Do&s=-WRu_aUkx4x9BpfNmIdQgWylXXdXFOEL5EkWY-WU0v0&e=>
>
> On Wed, Jun 8, 2016 at 4:26 PM Chris Bieneman via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: cbieneman
>> Date: Wed Jun  8 16:19:26 2016
>> New Revision: 272200
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=272200&view=rev
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D272200-26view-3Drev&d=CwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=xXEIrBAdbZE_31L02EhdCnl1kUxtVS4j8o9vydj_vKk&m=THSQpI2t6UJV3kHpIOKQxULglc6okovBnOSHmunH7Do&s=PdTQYopYJ7Y56O8-7etumQqT0MLPb2WK1bvxZJH9edk&e=>
>> Log:
>> [CMake] Support overriding binary install directory
>>
>> This patch adds a new option LLVM_TOOLS_INSTALL_DIR which allows
>> customizing the location executables and symlinks get installed to. This
>> adds the functionality provided by autoconf's --bindir flag.
>>
>> This patch is based on patches from and collaboration with Tony Kelman,
>> and replaces http://reviews.llvm.org/D20934
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D20934&d=CwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=xXEIrBAdbZE_31L02EhdCnl1kUxtVS4j8o9vydj_vKk&m=THSQpI2t6UJV3kHpIOKQxULglc6okovBnOSHmunH7Do&s=aBkCgO7ZKLFYaE7VmWVPheNsgHAOd2Mpq1AizvBeZRI&e=>
>> .
>>
>> Modified:
>>     llvm/trunk/CMakeLists.txt
>>     llvm/trunk/cmake/modules/AddLLVM.cmake
>>     llvm/trunk/cmake/modules/TableGen.cmake
>>
>> Modified: llvm/trunk/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=272200&r1=272199&r2=272200&view=diff
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_CMakeLists.txt-3Frev-3D272200-26r1-3D272199-26r2-3D272200-26view-3Ddiff&d=CwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=xXEIrBAdbZE_31L02EhdCnl1kUxtVS4j8o9vydj_vKk&m=THSQpI2t6UJV3kHpIOKQxULglc6okovBnOSHmunH7Do&s=Xf_TNsgCFgHkNj9-YJJHvh_NWdMwevxmMaVyLFC2Y28&e=>
>>
>> ==============================================================================
>> --- llvm/trunk/CMakeLists.txt (original)
>> +++ llvm/trunk/CMakeLists.txt Wed Jun  8 16:19:26 2016
>> @@ -201,6 +201,9 @@ endif()
>>
>>  set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library
>> directory name (32/64)" )
>>
>> +set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary
>> subdirectory (defaults to 'bin')")
>> +mark_as_advanced(LLVM_TOOLS_INSTALL_DIR)
>> +
>>  # They are used as destination of target generators.
>>  set(LLVM_RUNTIME_OUTPUT_INTDIR
>> ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
>>  set(LLVM_LIBRARY_OUTPUT_INTDIR
>> ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
>>
>> Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=272200&r1=272199&r2=272200&view=diff
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_cmake_modules_AddLLVM.cmake-3Frev-3D272200-26r1-3D272199-26r2-3D272200-26view-3Ddiff&d=CwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=xXEIrBAdbZE_31L02EhdCnl1kUxtVS4j8o9vydj_vKk&m=THSQpI2t6UJV3kHpIOKQxULglc6okovBnOSHmunH7Do&s=QV7S95H5YNoqQG4UDfNVrS7vK_bgSlNWsQ3jhcLHa1E&e=>
>>
>> ==============================================================================
>> --- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
>> +++ llvm/trunk/cmake/modules/AddLLVM.cmake Wed Jun  8 16:19:26 2016
>> @@ -771,7 +771,7 @@ macro(add_llvm_tool name)
>>      if( LLVM_BUILD_TOOLS )
>>        install(TARGETS ${name}
>>                EXPORT LLVMExports
>> -              RUNTIME DESTINATION bin
>> +              RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}
>>                COMPONENT ${name})
>>
>>        if (NOT CMAKE_CONFIGURATION_TYPES)
>> @@ -1211,7 +1211,7 @@ function(llvm_install_symlink name dest)
>>    set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
>>
>>    install(SCRIPT ${INSTALL_SYMLINK}
>> -          CODE "install_symlink(${full_name} ${full_dest} bin)"
>> +          CODE "install_symlink(${full_name} ${full_dest}
>> ${LLVM_TOOLS_INSTALL_DIR})"
>>            COMPONENT ${component})
>>
>>    if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE)
>>
>> Modified: llvm/trunk/cmake/modules/TableGen.cmake
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/TableGen.cmake?rev=272200&r1=272199&r2=272200&view=diff
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_cmake_modules_TableGen.cmake-3Frev-3D272200-26r1-3D272199-26r2-3D272200-26view-3Ddiff&d=CwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=xXEIrBAdbZE_31L02EhdCnl1kUxtVS4j8o9vydj_vKk&m=THSQpI2t6UJV3kHpIOKQxULglc6okovBnOSHmunH7Do&s=eNKZCKoX4RzDjUS0Kogs5mnEaFeIIRugYAzi5d2-e_4&e=>
>>
>> ==============================================================================
>> --- llvm/trunk/cmake/modules/TableGen.cmake (original)
>> +++ llvm/trunk/cmake/modules/TableGen.cmake Wed Jun  8 16:19:26 2016
>> @@ -141,7 +141,7 @@ macro(add_tablegen target project)
>>    if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
>>      install(TARGETS ${target}
>>              EXPORT LLVMExports
>> -            RUNTIME DESTINATION bin)
>> +            RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR})
>>    endif()
>>    set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${target})
>>  endmacro()
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=CwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=xXEIrBAdbZE_31L02EhdCnl1kUxtVS4j8o9vydj_vKk&m=THSQpI2t6UJV3kHpIOKQxULglc6okovBnOSHmunH7Do&s=SCq4kCl2tSXQReap0hGaCo-xjss8sukDM1Vnho1NxsY&e=>
>>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160609/f681b4fa/attachment.html>


More information about the llvm-commits mailing list