-
Notifications
You must be signed in to change notification settings - Fork 981
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
[feature] conan2 build tool specific recipe #11899
Comments
Hi @bog-dan-ro I guess you are aware of https://docs.conan.io/en/latest/extending/python_requires.html You also have the But implementing such a generic CMake base class is not in our plans, because it makes future maintainability a nightmare. Once you expose so much condensed behavior in one base class and users start to rely on it, it becomes super complicated to evolve it. But users will inevitably push for improvements, their own customization points, and adding new features to it. It is not worth the pain and necessary efforts to maintain. |
Yup, I used
I understand you concerns, but I checked https://github.com/conan-io/examples2 and every single cmake based recipe, has the same As I mentioned above, if someone needs to customize them, he can easily do it, either by overriding the existing methods or by subclassing |
The story goes like this:
Basically, doing that, we would be freezing all those things for a very long time inside the Conan codebase. We have experienced very similar things in 1.X, don't want to repeat the same mistakes, and prefer not to repeat them. |
If every cmake recipe will use def layout(self):
cmake_layout(self) and you'll break Anyway, maybe |
We can easily add an opt-in like This is not true for a common base class implementing a |
The simplest cmake recipe has over 40 lines of code.
This is a newly created recipe:
Is it possible to have and inherit
CMakeConanFile
instead ofConanFile
which will have defaultconfig_options
,layout
,generate
,build
&package
methods?package_info
can be also auto generated if #11897 is implemented.This way most of the CMake recipes will be reduced to :
Of course if someone needs to customize any of the steps, will need to override that particular method :
The text was updated successfully, but these errors were encountered: