Add SPHINX_WARNINGS_AS_ERRORS CMake option to allow warnings to not be
authorDan Liew <dan@su-root.co.uk>
Thu, 14 Aug 2014 11:57:13 +0000 (11:57 +0000)
committerDan Liew <dan@su-root.co.uk>
Thu, 14 Aug 2014 11:57:13 +0000 (11:57 +0000)
treated as errors (which is still the default). This is useful when
working on documentation that has existing errors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215634 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/AddSphinxTarget.cmake
cmake/modules/FindSphinx.cmake
docs/CMake.rst

index fc28a49407804405ef2fe00c20097f1791fa16aa..b78afc173cb70c1b2717cecb0e6d57f4be6234c5 100644 (file)
@@ -8,12 +8,19 @@ function (add_sphinx_target builder project)
   set(SPHINX_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/${builder}")
   set(SPHINX_DOC_TREE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees")
   set(SPHINX_TARGET_NAME docs-${project}-${builder})
+
+  if (SPHINX_WARNINGS_AS_ERRORS)
+    set(SPHINX_WARNINGS_AS_ERRORS_FLAG "-W")
+  else()
+    set(SPHINX_WARNINGS_AS_ERRORS_FLAG "")
+  endif()
+
   add_custom_target(${SPHINX_TARGET_NAME}
                     COMMAND ${SPHINX_EXECUTABLE}
                             -b ${builder}
                             -d "${SPHINX_DOC_TREE_DIR}"
                             -q # Quiet: no output other than errors and warnings.
-                            -W # Warnings are errors.
+                            ${SPHINX_WARNINGS_AS_ERRORS_FLAG} # Treat warnings as errors if requested
                             "${CMAKE_CURRENT_SOURCE_DIR}" # Source
                             "${SPHINX_BUILD_DIR}" # Output
                     COMMENT
index a2adcae73268c8709f14a76ddfb7a09a20879553..9d252e8b70aef4abf8a8da21eb0248bea53137a6 100644 (file)
@@ -23,3 +23,5 @@ find_package_handle_standard_args(Sphinx
 # Provide options for controlling different types of output
 option(SPHINX_OUTPUT_HTML "Output standalone HTML files" ON)
 option(SPHINX_OUTPUT_MAN "Output man pages" ON)
+
+option(SPHINX_WARNINGS_AS_ERRORS "When building documentation treat warnings as errors" ON)
index fca02ef889e440024bbb5eb3d0dee4e00a397121..1da123419dcdc1021e6751310c4161d72073d748 100644 (file)
@@ -363,6 +363,10 @@ LLVM-specific variables
   is enabled). Currently the only target added is ``docs-llvm-man``. Defaults
   to ON.
 
+**SPHINX_WARNINGS_AS_ERRORS**:BOOL
+  If enabled then sphinx documentation warnings will be treated as
+  errors. Defaults to ON.
+
 Executing the test suite
 ========================