[cmake-developers] cmake --help-custom-modules compatibility
Matthew Woehlke
mw_triad at users.sourceforge.net
Wed Jan 8 13:32:31 EST 2014
On 2014-01-08 12:57, Brad King wrote:
> On 01/08/2014 12:00 PM, Matthew Woehlke wrote:
>> Since you mentioned it, I was wondering if this is related to a feature
>> I was asking about, but I don't understand how it works; it seems to
>> only ever generate a short boilerplate text.
>>
>> Is this meant to take a CMake module that is not part of the CMake
>> distribution and extract and format the documentation from the same?
>
> The old documentation system exposed this feature through the old
> --help-custom-modules option. The new documentation system does not.
> This commit is about making old builds not totally break.
>
>> Because that is a feature I really wish CMake 3.0 would provide. (I know
>> you (Brad) previously mentioned that you don't want to in order to avoid
>> committing to any sort of compatibility guarantees with respect to the
>> same. But it still seems to me that such decision makes it unnecessarily
>> hard for third parties to provide documented CMake modules.)
>
> Anyone could fork CMake's Utilities/Sphinx infrastructure and provide
> it as a separate distribution with support and compatibility guarantees.
> I just do not want to provide it with CMake and constrain CMake's own
> documentation from evolving just to support external documents. The
> compatibility issue in this thread is a perfect example of why.
From my perspective, that's sort-of the point here... CMake used to
provide for generating documentation from external modules. Now it
doesn't. And it seems that KDE is also feeling that pain.
I'm not convinced that's a good thing. I get that you don't want to make
things harder for developers, but doing so at the expense of making
things harder for users doesn't seem like the best trade-off.
I'm also not sure I'm convinced by the compatibility argument. If you
can't guarantee compatibility, then don't. Projects that want to use
CMake to generate documentation for their CMake modules simply must use
the version of CMake their documentation was written for to do so. (And
update as necessary to meet the previous condition. Or fork the
documentation system anyway.)
--
Matthew
More information about the cmake-developers
mailing list