<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/58663>58663</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [flang] Refine how Clang dependencies are expressed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          banach-space
      </td>
    </tr>
</table>

<pre>
    > FYI: This came up in a discussion for https://reviews.llvm.org/D136606 (CC @MaskRay @mgorny ). 

Currently, Flang is quite verbose when defining it's dependencies on Clang libraries, see e.g. https://github.com/llvm/llvm-project/blob/beb997799d823aece097494f156c6d277d26571c/flang/lib/FrontendTool/CMakeLists.txt#L18-L28 

Instead, Flang could follow LLDB's example and tweak [add_flang_library](https://github.com/llvm/llvm-project/blob/beb997799d823aece097494f156c6d277d26571c/flang/cmake/modules/AddFlang.cmake#L19-L94) by adding something like this: https://github.com/llvm/llvm-project/blob/beb997799d823aece097494f156c6d277d26571c/lldb/cmake/modules/AddLLDB.cmake#L97-L101

This would be more idiomatic, allow better code re-use and make scripts shorter and more explicit. Volunteers are most welcome :) 

-Andrzej
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9VE1v2zAM_TX2hYhhy44_Dj6kyQIUSC9FMWCnQpaYWK1seZLcNPv1o5yiXQfssEsBw_ogRT2-R6oz8tJG-TfY_7iN8g089MqB4APCPIEagYNUTszOKTPC0VjovZ8ceUZsT5_FF4Vnl2j9MiTGnmhrl-VlmZYQsXq7hahI77h7vueXMB1Oxo40Y00CUbqL0s31v52txdHrS8S2sNd8PAHB-Dkrj_CCtjMO4dzjCBKPalTB7CNWOVpPOEochUIHhHC7nNWqs9zSVgjnEAGTU_IX8pPy_dwlwgy0CPDfhtVkzRMKCr_vtOnCgF3TVFXTyJrlHAWmTVU0xTFbl6KUrKokK9dVJsj1GK4PgVQ4uLdm9ATvwRhNy-0df8aDct4l_pXi54esXh1Y_YmJ29F55PKDB2FmLYl5rc0ZDofdzZI3vvJh0gh8lODPyJ8hWt9wKR8XBI9XAi7RekcqfGHeYqAUaRyMnHWgf7-RcskjeTNR0s3q0BRUAtBdgCAHNZ0Z0Pdqke4ZgaYB8FcoprXs_gU8sP2Bu6lWhyzN_hRraZbzIlCHMBiLoKQyA_dKBAX5IlqH3qMlISWCxdXsrrKFuOCEVZN34Hpjg9NiCHHwddJKKJ_Ad6NnKiO0DrgNtzgPZ9REA8LCTfOpgFabUdpf-BRjm5Vl2RQ1S_NYtrls8obHXnmNLRXLVbL1Du5DSyH0hPTaPZ96il-xWHQOZTxb3f63KMq5eaF0XZdlHvetzEXNsJbZupIVY6WoCywbXqTHFEWKdax5h9oFlBFjb7XFCGusWpYylqWsTpssTfNE0JGiStc5z_MiY5zeGBy40u8PUmzbBU43nxwZ9dJ-70ZO79ppxIWQEJ_PnoRoOz5y0a_cxAXGC_x2wf4bUtOmKw">