<div style="font-family: arial, helvetica, sans-serif"><font size="2"><div>Comments inline:</div><br><div><div>--- /dev/null</div><div>+++ b/docs/CMakeLists.txt</div><div>@@ -0,0 +1,28 @@</div><div>+find_package(Sphinx)</div>
<div>+</div><div>+if( ${SPHINX_FOUND} )</div><div>+  set(SPHINX_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/_build")</div><div><br></div><div>This appears to be unused.</div><div><br></div><div>+  set(SPHINX_CACHE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees")</div>
<div><br></div><div>The Makefiles use 'doctrees' w/o the _ prefix.</div><div><br></div><div>+  set(SPHINX_HTML_DIR "${LLVM_BINARY_DIR}/docs/html")</div><div>+</div><div>+  file(GLOB_RECURSE REST_SOURCES "*.rst")</div>
<div>+  file(GLOB HTML_SOURCES "*.html" "tutorial/*.html")</div><div><br></div><div>I think the problems with GLOBs in CMake hold just as true for documentation as they do for source code...</div><div>
<br></div><div>+  source_group(ReST FILES ${REST_SOURCES})</div><div>+  source_group(HTML FILES ${HTML_SOURCES})</div><div>+</div><div>+  add_custom_target(docs-sphinx</div><div><br></div><div>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?<br>
</div><div><br></div><div>+    ${SPHINX_EXECUTABLE}</div><div>+    -q</div><div>+    -b html</div><div>+    -d "${SPHINX_CACHE_DIR}"</div><div><br></div><div>Why hoist this into a variable rather than just writing it out here?</div>
<div><br></div><div>+    "${CMAKE_CURRENT_SOURCE_DIR}"</div><div>+    "${SPHINX_HTML_DIR}"</div><div><br></div><div>The Makefiles put the built docs in 'docs/_build/html' AFAICT, not 'docs/html'.</div>
<div><br></div><div>+    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"</div><div><br></div><div>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)</div>
<div><br></div><div>+    COMMENT "Building HTML documentation with Sphinx"</div><div>+    SOURCES ${REST_SOURCES} ${HTML_SOURCES} conf.py</div><div>+    )</div><div>+</div><div>+  install(DIRECTORY "${SPHINX_HTML_DIR}/"</div>
<div>+          DESTINATION docs/llvm/html</div><div>+          )</div><div><br></div><div>I don't see *any* installation support for sphinx in LLVM currently; this seems definitely wrong.</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Jun 26, 2012 at 4:48 PM, Michael Spencer <span dir="ltr"><<a href="mailto:bigcheesegs@gmail.com" target="_blank">bigcheesegs@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This patch adds a docs-sphinx target which builds the Sphinx docs and<br>
adds an install rule. I believe they get installed to the same<br>
location as the autoconf build ($(prefix)/docs/llvm/html).<br>
<br>
The next step is to configure the conf.py file instead of hard coding<br>
the version number, but this would break the website, so  I need to<br>
know how that should be handled.<br>
<span class="HOEnZb"><font color="#888888"><br>
- Michael Spencer<br>
</font></span></blockquote></div><br></div></font></div>