|  | include(FindDoxygen) | 
|  |  | 
|  | if(DOXYGEN_FOUND) | 
|  | set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR}/..) | 
|  | set(DOT dot) | 
|  | set(PACKAGE_VERSION mainline) | 
|  | set(abs_top_builddir ..) | 
|  | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in | 
|  | ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY) | 
|  |  | 
|  | add_custom_target(lldb-cpp-doc | 
|  | ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg | 
|  | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | 
|  | COMMENT "Generating LLDB C++ API reference with Doxygen" VERBATIM | 
|  | ) | 
|  | set_target_properties(lldb-cpp-doc PROPERTIES FOLDER "LLDB/Docs") | 
|  | endif() | 
|  |  | 
|  | if (LLVM_ENABLE_SPHINX) | 
|  | include(AddSphinxTarget) | 
|  | endif() | 
|  |  | 
|  | if (LLDB_ENABLE_PYTHON AND SPHINX_FOUND) | 
|  | if (${SPHINX_OUTPUT_HTML}) | 
|  | # Pretend that the SWIG generated API is a Python package. | 
|  | file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lldb) | 
|  | get_target_property(lldb_bindings_dir swig_wrapper_python BINARY_DIR) | 
|  | add_custom_target(lldb-python-doc-package | 
|  | COMMAND "${CMAKE_COMMAND}" -E copy "${lldb_bindings_dir}/lldb.py" "${CMAKE_CURRENT_BINARY_DIR}/lldb/__init__.py" | 
|  | COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/lldb/plugins" | 
|  | COMMAND "${CMAKE_COMMAND}" -E copy "${LLDB_SOURCE_DIR}/examples/python/templates/scripted_process.py" "${CMAKE_CURRENT_BINARY_DIR}/lldb/plugins/" | 
|  | COMMAND "${CMAKE_COMMAND}" -E copy "${LLDB_SOURCE_DIR}/examples/python/templates/scripted_platform.py" "${CMAKE_CURRENT_BINARY_DIR}/lldb/plugins/" | 
|  | COMMAND "${CMAKE_COMMAND}" -E copy "${LLDB_SOURCE_DIR}/examples/python/templates/operating_system.py" "${CMAKE_CURRENT_BINARY_DIR}/lldb/plugins/" | 
|  | COMMAND "${CMAKE_COMMAND}" -E copy "${LLDB_SOURCE_DIR}/examples/python/templates/scripted_thread_plan.py" "${CMAKE_CURRENT_BINARY_DIR}/lldb/plugins/" | 
|  | COMMENT "Copying lldb.py to pretend its a Python package.") | 
|  |  | 
|  | add_dependencies(lldb-python-doc-package swig_wrapper_python lldb-python) | 
|  |  | 
|  | # FIXME: Don't treat Sphinx warnings as errors. The files generated by | 
|  | # automodapi are full of warnings (partly caused by SWIG, our documentation | 
|  | # and probably also automodapi itself), so those warnings need to be fixed | 
|  | # first before we can turn this on. | 
|  | set(SPHINX_WARNINGS_AS_ERRORS Off) | 
|  |  | 
|  | # The sphinx config needs to know where the generated LLDB Python module is. | 
|  | # There is no way to pass a variable into our sphinx config, so just pass | 
|  | # the path to the module via the LLDB_SWIG_MODULE environment variable. | 
|  | add_sphinx_target(html lldb ENV_VARS "LLDB_SWIG_MODULE=${CMAKE_CURRENT_BINARY_DIR}") | 
|  | # Sphinx does not reliably update the custom CSS files, so force | 
|  | # a clean rebuild of the documentation every time. | 
|  | add_custom_target(clean-lldb-html COMMAND "${CMAKE_COMMAND}" -E | 
|  | remove_directory ${CMAKE_CURRENT_BINARY_DIR}/html) | 
|  | add_dependencies(docs-lldb-html swig_wrapper_python | 
|  | lldb-python-doc-package clean-lldb-html) | 
|  | endif() | 
|  |  | 
|  | if (${SPHINX_OUTPUT_MAN}) | 
|  | add_sphinx_target(man lldb) | 
|  | endif() | 
|  | endif() |