[llvm-commits] [PATCH][CMake][docs] Add docs-sphinx target to build the Sphinx docs.
Chandler Carruth
chandlerc at google.com
Tue Jun 26 17:59:28 PDT 2012
Comments inline:
--- /dev/null
+++ b/docs/CMakeLists.txt
@@ -0,0 +1,28 @@
+find_package(Sphinx)
+
+if( ${SPHINX_FOUND} )
+ set(SPHINX_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/_build")
This appears to be unused.
+ set(SPHINX_CACHE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees")
The Makefiles use 'doctrees' w/o the _ prefix.
+ set(SPHINX_HTML_DIR "${LLVM_BINARY_DIR}/docs/html")
+
+ file(GLOB_RECURSE REST_SOURCES "*.rst")
+ file(GLOB HTML_SOURCES "*.html" "tutorial/*.html")
I think the problems with GLOBs in CMake hold just as true for
documentation as they do for source code...
+ source_group(ReST FILES ${REST_SOURCES})
+ source_group(HTML FILES ${HTML_SOURCES})
+
+ add_custom_target(docs-sphinx
Can you use add_custom_command so that these aren't re-generated on every
build? Maybe there is a log file of the run you can list as the output?
+ ${SPHINX_EXECUTABLE}
+ -q
+ -b html
+ -d "${SPHINX_CACHE_DIR}"
Why hoist this into a variable rather than just writing it out here?
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+ "${SPHINX_HTML_DIR}"
The Makefiles put the built docs in 'docs/_build/html' AFAICT, not
'docs/html'.
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
If you set the source dir above, can you not mess with the working dir? (I
much rather the working directory *not* be the source tree)
+ COMMENT "Building HTML documentation with Sphinx"
+ SOURCES ${REST_SOURCES} ${HTML_SOURCES} conf.py
+ )
+
+ install(DIRECTORY "${SPHINX_HTML_DIR}/"
+ DESTINATION docs/llvm/html
+ )
I don't see *any* installation support for sphinx in LLVM currently; this
seems definitely wrong.
On Tue, Jun 26, 2012 at 4:48 PM, Michael Spencer <bigcheesegs at gmail.com>wrote:
> This patch adds a docs-sphinx target which builds the Sphinx docs and
> adds an install rule. I believe they get installed to the same
> location as the autoconf build ($(prefix)/docs/llvm/html).
>
> The next step is to configure the conf.py file instead of hard coding
> the version number, but this would break the website, so I need to
> know how that should be handled.
>
> - Michael Spencer
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120626/310b9037/attachment.html>
More information about the llvm-commits
mailing list