[clang][cmake] Include generated rst files in html built by docs-clang-html target
authorTom Stellard <tstellar@redhat.com>
Fri, 6 Mar 2020 03:57:24 +0000 (19:57 -0800)
committerTom Stellard <tstellar@redhat.com>
Fri, 6 Mar 2020 05:30:37 +0000 (21:30 -0800)
commit87d8ae700b80d58d69bb92b601f946f02f089398
tree6ec1472c15203d74f825b983dff6440283c375ea
parent621d969a964107612906e00820d20ddbb46d736f
[clang][cmake] Include generated rst files in html built by docs-clang-html target

Summary:
This is an attempt to simply the process of building the clang
documentation, which should help avoid some of the recent issues we've
had generating the documentation for the website.

The html documentation for clang is generated by sphinx from the
reStructuredText (rst) files we have in the clang/docs directory.
There are also some rst files that need to be generated by TableGen,
before they can be passed to sphinx.  Prior to this patch we were not
generating those rst files as part with the build system and they had to be
generated manually.

This patch enables the automatic generation of these rst files, but
since they are generated at build time the cannot be placed in the
clang/docs directory and must go into the cmake build directory.

Unfortunately sphinx does not currently support multiple source
directories[1], so in order to be able to generate the full
documentation, we need to work around this by copying the
rst files from the clang/docs into the  build directory before
generating the html documentation.

[1] https://github.com/sphinx-doc/sphinx/issues/3132

Reviewers: rsmith, aaron.ballman, beanz, smeenai, phosek, compnerd, mgorny, delcypher

Reviewed By: mgorny, delcypher

Subscribers: delcypher, merge_guards_bot, mgorny, llvm-commits, cfe-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D72875
clang/docs/AttributeReference.rst [deleted file]
clang/docs/CMakeLists.txt
llvm/cmake/modules/AddSphinxTarget.cmake