Closed lunacd closed 1 month ago
@dcbaker @tylerjw @bretbrownjr I'm planning to start implementing some actual features but I feel it could be beneficial to have a brief discussion on what kind of interface, on a high level, that we would want to work towards
I like this idea!
I like this idea too. To go further we might eventually consider doing the argv[0] == "pkg-config" trick so that
cps-config` can be installed as pkg-config, though that would mean we'd need to support doing pkg-config lookup as well. If/when we get to that I have some code from an old project we might be able to steal for that purpose.
I am happy to participate. Let me know how I can help.
I imagine something like #70 would be crucial to making this happen. Based on that we could also talk about what we consider the first release of cps-config, maybe an interesting level of compatibility with pkg-config for all libraries available on ubuntu?
Closing as this has already been implemented and merged
Current State
Currently all options are implemented at the top level, no matter they are from
pkgconf
,pkg-config
or specific to CPS. This could mean a chaotic command line interface as we implement more and more features. This could also lead to a hard situation where we had to break compatibility withpkgconf
orpkg-config
if we want to add CPS-specific capabilities to ones of the options provided by them.Proposal
Provide compatibility through subcommands, i.e.
cps-config pkgconf
should behave in the same waypkgconf
behaves, and the same goes forcps-config pkg-config
. Everything else outside of those two subcommands are purely CPS-specific territory.Benefits
cps-config
as a drop-in replacement forpkgconf
andpkg-config
. We could even aim for a situation where people can aliaspkg-config
tocps-config pkg-config
and expect things to still work.cps-config
fall back to the other tools when used in "compatibility mode" but CPS files are not available.