You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Conan (third party) support for ctypes native libraries (#5998)
### Problem
The new targets introduced in #5815 have no means of declaring, fetching, and using third party native dependencies.
### Solution
Integrate the Conan package manager to fetch packages from a remote package store via a new task, copy the package data to the results directory of `third_party_native_library` targets in play, and create a product that the compile and link tasks can consume. Plumb the directory paths provided by the product through to the command lines of the compile and link steps.
### Result
Users can now depend on third party native libraries in their `ctypes_compatible_cpp_library` targets from either conan-center or a remote URI that they specify via an option.
## Some notes
- The conan home directory is currently under .pants.d, instead of ~ or ~/.cache/pants. I did this for the short term to make debugging cache problems and other issues as simple as a ./pants clean-all. I don't think the perf loss will be too bad (1-2 seconds).
- Some string manipulation could be better done as regex, and I have TODOs for that
- I am going to follow up with upstream Conan about getting a flag for cleaner client output so the parse method does not need to be so ugly.
0 commit comments