From: Michael Gottesman Date: Wed, 28 Aug 2013 20:29:40 +0000 (+0000) Subject: [doxygen] Added code for generating doxygen documentation for clang for cmake. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1ab6c6c80b53f88ff245f17b243609853d76446b;p=clang [doxygen] Added code for generating doxygen documentation for clang for cmake. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189508 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index ab35749fce..69679538f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -335,13 +335,17 @@ option(CLANG_INCLUDE_TESTS "Generate build targets for the Clang unit tests." ${LLVM_INCLUDE_TESTS}) -# TODO: docs. - if( CLANG_INCLUDE_TESTS ) add_subdirectory(test) add_subdirectory(unittests) endif() +option(CLANG_INCLUDE_DOCS "Generate build targets for the Clang docs." + ${LLVM_INCLUDE_DOCS}) +if( CLANG_INCLUDE_DOCS ) + add_subdirectory(docs) +endif() + # Workaround for MSVS10 to avoid the Dialog Hell # FIXME: This could be removed with future version of CMake. if( CLANG_BUILT_STANDALONE AND MSVC_VERSION EQUAL 1600 ) diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt new file mode 100644 index 0000000000..dee97ccd4c --- /dev/null +++ b/docs/CMakeLists.txt @@ -0,0 +1,31 @@ + +if (DOXYGEN_FOUND) +if (LLVM_ENABLE_DOXYGEN) + set(abs_srcdir ${LLVM_MAIN_SRC_DIR}) + set(abs_builddir ${LLVM_BINARY_DIR}) + + if (HAVE_DOT) + set(DOT ${LLVM_PATH_DOT}) + endif() + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in + ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY) + set(abs_srcdir) + set(abs_builddir) + set(DOT) + + add_custom_target(doxygen-clang + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating clang doxygen documentation." VERBATIM) + + if (LLVM_BUILD_DOCS) + add_dependencies(doxygen doxygen-clang) + endif() + + if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html + DESTINATION docs/html) + endif() +endif() +endif()