Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow installing components when downstream #2096

Merged

Commits on Jul 30, 2024

  1. Allow installing components when downstream

    In the @acts-project we adopt an (admittedly somewhat unconventional)
    build system in which software A depends on B, and B depends on CCCL.
    The setup is that we want to install B into a prefix, and then try to
    build A against B. The problem arises is that we are using CMake to
    dynamically fetch CCCL using the so-called "FetchContent" mechanism,
    which downloads CCCL and then adds it as a subdirectory.
    
    The core problem is that installing software B which has included CCCL
    does not actually install CCCL in the same prefix, so software A cannot
    then load software B as CCCL is not installed. The reason this happens
    is that CMakeLists.txt:28 (at the time of writing) returns from the
    CMake configuration stage early, and leaves the CUB, Thrust, and
    libcudacxx directories unincluded (see lines 70 to 72).
    
    Although this is, again, an unconventional and rare scenario, it should
    be easy to add support for this kind of build, and I hope the CCCL devs
    would agree that it might be worth doing. In this commit, I remove the
    early return and replace it with additional if-statements. This commit
    should leave any existing workflows completely untouched, but should
    make it easier to use CCCL in the way we do in @acts-project.
    stephenswat committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    e423002 View commit details
    Browse the repository at this point in the history