-
Notifications
You must be signed in to change notification settings - Fork 176
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
Single-arg CPMAddPackage #205
Comments
I love where this is going, the concise syntax does bring a much nicer "package-manager" feeling to CMake! Not sure if it's already too much for a first version, but perhaps we could extend the specification to support other tag versioning schemes as well. Say allowing specification of a git tag after # version determined from tag
CPMAddPackage("gh:google/googletest#release-1.8.0")
# explicit version and commit
CPMAddPackage("gh:jbeder/yaml-cpp@0.6.3-beta#012269756149ae99745b6dafefd415843d7420bb") Other thing to consider is what kind of default options we want to support. For example, I'd say using the new syntax is a good opportunity to enable PS: I'm a bit unsure how I feel about defaulting to GitHub as a provider. This would be difficult to change in the future, e.g. if another provider becomes predominant. Perhaps it's better to stick to an explicit |
I like the Aa for |
I think so, but I would probably need to do some testing first. In my current understanding any targets that an installable target depends on are automatically installed alongside. Then it should be fairly easy to promote a dependency to be installed alongside the main project, while leaving out anything unnecessary. If that is indeed the case I think it would be great to use as a default option. With such a feature we would need to do a bit of testing before stabilising it anyways, to see if it works as expected and doesn't have unintended consequences. |
This is a feature proposal. If you approve of it, I can implement in my spare time by the end of the week.
CPMAddPackage
is called with a single argument.<user>/<name>
orgh:<user>/<name>
interpret it as a GitHub packagegl:<user>/<name>
interpret it as a GitLab packageThus some valid uses would include:
The text was updated successfully, but these errors were encountered: