[CMake] Announcing CMake BASIS, a set of CMake based project interoperability and automation tools
Matthew Woehlke
mw_triad at users.sourceforge.net
Mon Jan 27 15:30:16 EST 2014
On 2014-01-27 14:48, Andrew Hundt wrote:
> On Thu, Jan 23, 2014 at 4:14 AM, Stephen Kelly wrote:
>> Andrew Hundt wrote:
>>> I'm not well versed with the guts of git but are there any good
>>> ways to do some cleanup?
>>
>> If you have to ask, the details probably not something worth discussing
>> here. Adding a commit removing them is not going to help. My previous paste
>> showed that some of the biggest files are already deleted in the current
>> tree.
>>
>
> The level of my question my have been underestimated, because I was
> referring to git commands that strip data from the history. I created an
> issue to take another look at the size, thanks for the feedback.
Possibly :-). I'd tend to agree with Stephen that this isn't the best
place to get into a discussion of git history rewriting. But I'll also
drop https://help.github.com/articles/remove-sensitive-data as a
possible place to start looking.
>> So far, out of what you listed, the documentation related stuff is most
>> interesting to me as an upstream trying to find upstreamable (or generally
>> useful) stuff in BASIS, or trying to find the gaps in cmake which are
>> suitable for closing in cmake itself.
>
> Great, I too believe the basis_add_doc(), basis_add_doxygen_doc(), and
> basis_add_sphinx_doc() functions and related files would be perfect
> candidates to put in the "Modules" folder of CMake itself after whatever
> other minor tweaks are necessary.
I didn't look at it yet, but to be "optimally" useful I would hope that
an implementation of generating doxygen documentation would:
- allow the user to specify the doxyfile.in (probably as a well-known
variable; most projects will want to set it once) in addition to having
a default one
- implement two-step generation of tag files followed by the actual
documentation
- allow the user to provide a list of library names to be used as input
tag files (assuming those targets use the same mechanism to generate
documentation)
- implement the above in a manner that allows the user some mechanism to
define 'custom' targets with their own tag file(s) for external
documentation
- allow for circular linking (this is why tags and doc need to be
separate steps; the tags have no dependencies, but the docs depend on
the referenced tags; splitting the two avoids creating dependency cycles)
In particular, I have a project where I want to be able to link to Qt
documentation, but due to deficiencies in how Qt generates its tag file,
I actually need to generate my own supplementary tag file. I want to be
able to use this just by listing "Qt" as a documentation dependency.
--
Matthew
More information about the CMake
mailing list