]> granicus.if.org Git - clang/commitdiff
[doxygen] Added code for generating doxygen documentation for clang for cmake.
authorMichael Gottesman <mgottesman@apple.com>
Wed, 28 Aug 2013 20:29:40 +0000 (20:29 +0000)
committerMichael Gottesman <mgottesman@apple.com>
Wed, 28 Aug 2013 20:29:40 +0000 (20:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189508 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
docs/CMakeLists.txt [new file with mode: 0644]

index ab35749fce24a8eae0a6abeef83c4899d7540482..69679538f7458a1e8b663f9ca7d124318b6ba533 100644 (file)
@@ -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 (file)
index 0000000..dee97cc
--- /dev/null
@@ -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()