Index: llvm/trunk/cmake/config-ix.cmake =================================================================== --- llvm/trunk/cmake/config-ix.cmake +++ llvm/trunk/cmake/config-ix.cmake @@ -530,16 +530,6 @@ message(STATUS "Doxygen disabled.") endif() -if (LLVM_ENABLE_SPHINX) - message(STATUS "Sphinx enabled.") - find_package(Sphinx REQUIRED) - if (LLVM_BUILD_DOCS) - add_custom_target(sphinx ALL) - endif() -else() - message(STATUS "Sphinx disabled.") -endif() - set(LLVM_BINDINGS "") if(WIN32) message(STATUS "Go bindings disabled.") Index: llvm/trunk/cmake/modules/AddSphinxTarget.cmake =================================================================== --- llvm/trunk/cmake/modules/AddSphinxTarget.cmake +++ llvm/trunk/cmake/modules/AddSphinxTarget.cmake @@ -1,3 +1,16 @@ + +# Create sphinx target +if (LLVM_ENABLE_SPHINX AND NOT TARGET sphinx) + message(STATUS "Sphinx enabled.") + find_package(Sphinx REQUIRED) + if (LLVM_BUILD_DOCS) + add_custom_target(sphinx ALL) + endif() +else() + message(STATUS "Sphinx disabled.") +endif() + + # Handy function for creating the different Sphinx targets. # # ``builder`` should be one of the supported builders used by Index: llvm/trunk/docs/CMakeLists.txt =================================================================== --- llvm/trunk/docs/CMakeLists.txt +++ llvm/trunk/docs/CMakeLists.txt @@ -103,8 +103,8 @@ endif() if (LLVM_ENABLE_SPHINX) + include(AddSphinxTarget) if (SPHINX_FOUND) - include(AddSphinxTarget) if (${SPHINX_OUTPUT_HTML}) add_sphinx_target(html llvm) endif()