From fdfcc91fe16a3f7444f30159392f03677f8c4a1b Mon Sep 17 00:00:00 2001 From: Matthew Letter Date: Tue, 31 Oct 2017 16:10:14 -0600 Subject: [PATCH] Added doxyfile and vtkmBuildDocumentation.cmake closes #8 added doxyfile and vtkmBuildDocumentation.cmake back into the build process and tested that they built out the html docs. --- CMake/VTKmBuildDocumentation.cmake | 54 ++++ CMake/doxyfile.in | 411 +++++++++++++++++++++++++++++ CMakeLists.txt | 1 - 3 files changed, 465 insertions(+), 1 deletion(-) create mode 100644 CMake/VTKmBuildDocumentation.cmake create mode 100644 CMake/doxyfile.in diff --git a/CMake/VTKmBuildDocumentation.cmake b/CMake/VTKmBuildDocumentation.cmake new file mode 100644 index 000000000..46517fccd --- /dev/null +++ b/CMake/VTKmBuildDocumentation.cmake @@ -0,0 +1,54 @@ +##============================================================================ +## Copyright (c) Kitware, Inc. +## All rights reserved. +## See LICENSE.txt for details. +## This software is distributed WITHOUT ANY WARRANTY; without even +## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +## PURPOSE. See the above copyright notice for more information. +## +## Copyright 2014 National Technology & Engineering Solutions of Sandia, LLC (NTESS). +## Copyright 2014 UT-Battelle, LLC. +## Copyright 2014 Los Alamos National Security. +## +## Under the terms of Contract DE-NA0003525 with NTESS, +## the U.S. Government retains certain rights in this software. +## +## Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National +## Laboratory (LANL), the U.S. Government retains certain rights in +## this software. +##============================================================================ + +#----------------------------------------------------------------------------- +# Find Doxygen +#----------------------------------------------------------------------------- +find_package(Doxygen REQUIRED) + +#----------------------------------------------------------------------------- +# Configure Doxygen +#----------------------------------------------------------------------------- +set(VTKm_DOXYGEN_HAVE_DOT ${DOXYGEN_DOT_FOUND}) +set(VTKm_DOXYGEN_DOT_PATH ${DOXYGEN_DOT_PATH}) +set(VTKm_DOXYFILE ${CMAKE_CURRENT_BINARY_DIR}/docs/doxyfile) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMake/doxyfile.in ${VTKm_DOXYFILE} + @ONLY) + +#----------------------------------------------------------------------------- +# Run Doxygen +#----------------------------------------------------------------------------- +if(WIN32) + set(doxygen_redirect NUL) +else() + set(doxygen_redirect /dev/null) +endif() +add_custom_command( + OUTPUT ${VTKm_BINARY_DIR}/docs/doxygen + COMMAND ${DOXYGEN_EXECUTABLE} ${VTKm_DOXYFILE} > ${doxygen_redirect} + MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/CMake/doxyfile.in + DEPENDS ${VTKm_DOXYFILE} + COMMENT "Generating VTKm Documentation" +) +add_custom_target(VTKmDoxygenDocs + ALL + DEPENDS ${VTKm_BINARY_DIR}/docs/doxygen +) diff --git a/CMake/doxyfile.in b/CMake/doxyfile.in new file mode 100644 index 000000000..ba597c691 --- /dev/null +++ b/CMake/doxyfile.in @@ -0,0 +1,411 @@ +##============================================================================ +## Copyright (c) Kitware, Inc. +## All rights reserved. +## See LICENSE.txt for details. +## This software is distributed WITHOUT ANY WARRANTY; without even +## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +## PURPOSE. See the above copyright notice for more information. +## +## Copyright 2014 National Technology & Engineering Solutions of Sandia, LLC (NTESS). +## Copyright 2014 UT-Battelle, LLC. +## Copyright 2014 Los Alamos National Security. +## +## Under the terms of Contract DE-NA0003525 with NTESS, +## the U.S. Government retains certain rights in this software. +## +## Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National +## Laboratory (LANL), the U.S. Government retains certain rights in +## this software. +##============================================================================ + +PROJECT_NAME = "VTK-m" + +PROJECT_NUMBER = @VTKm_VERSION@ + +OUTPUT_DIRECTORY = @VTKm_BINARY_DIR@/docs/doxygen/ + +CREATE_SUBDIRS = NO + +OUTPUT_LANGUAGE = English + +BRIEF_MEMBER_DESC = YES + +REPEAT_BRIEF = YES + +ABBREVIATE_BRIEF = + +ALWAYS_DETAILED_SEC = NO + +INLINE_INHERITED_MEMB = NO + +FULL_PATH_NAMES = NO + +STRIP_FROM_PATH = + +STRIP_FROM_INC_PATH = + +SHORT_NAMES = NO + +SHOW_NAMESPACES = NO + +JAVADOC_AUTOBRIEF = YES + +MULTILINE_CPP_IS_BRIEF = NO + +INHERIT_DOCS = YES + +DISTRIBUTE_GROUP_DOC = YES + +TAB_SIZE = 2 + +ALIASES = + +OPTIMIZE_OUTPUT_FOR_C = NO + +OPTIMIZE_OUTPUT_JAVA = NO + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +EXTRACT_ALL = YES + +EXTRACT_PRIVATE = YES + +EXTRACT_STATIC = NO + +EXTRACT_LOCAL_CLASSES = NO + +EXTRACT_LOCAL_METHODS = NO + +HIDE_UNDOC_MEMBERS = NO + +HIDE_UNDOC_CLASSES = NO + +HIDE_FRIEND_COMPOUNDS = NO + +HIDE_IN_BODY_DOCS = NO + +INTERNAL_DOCS = NO + +CASE_SENSE_NAMES = YES + +HIDE_SCOPE_NAMES = NO + +SHOW_INCLUDE_FILES = YES + +INLINE_INFO = YES + +SORT_MEMBER_DOCS = YES + +SORT_BRIEF_DOCS = NO + +SORT_BY_SCOPE_NAME = NO + +GENERATE_TODOLIST = YES + +GENERATE_TESTLIST = YES + +GENERATE_BUGLIST = YES + +GENERATE_DEPRECATEDLIST= YES + +ENABLED_SECTIONS = + +MAX_INITIALIZER_LINES = 30 + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = NO + +WARNINGS = YES + +WARN_IF_UNDOCUMENTED = YES + +WARN_IF_DOC_ERROR = YES + +WARN_FORMAT = "$file:$line: $text" + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = @VTKm_SOURCE_DIR@/README.md +INPUT += @VTKm_SOURCE_DIR@/CONTRIBUTING.md +INPUT += @VTKm_SOURCE_DIR@/docs/CodingConventions.md +INPUT += @VTKm_SOURCE_DIR@/vtkm + +USE_MDFILE_AS_MAINPAGE = README.md + +FILE_PATTERNS = *.h + +RECURSIVE = YES + +EXCLUDE = @VTKm_SOURCE_DIR@/vtkm/testing/OptionParser.h +EXCLUDE += @VTKm_SOURCE_DIR@/vtkm/exec/cuda/internal/ExecutionPolicy.h + +EXCLUDE_SYMLINKS = NO + +EXCLUDE_PATTERNS = */testing/* +EXCLUDE_PATTERNS += */examples/* +EXCLUDE_PATTERNS += UnitTest* + +EXCLUDE_SYMBOLS = thrust +EXCLUDE_SYMBOLS += detail +EXCLUDE_SYMBOLS += placeholders +EXCLUDE_SYMBOLS += benchmarking + +EXAMPLE_PATH = + +EXAMPLE_PATTERNS = + +EXAMPLE_RECURSIVE = NO + +IMAGE_PATH = + +INPUT_FILTER = + +FILTER_PATTERNS = + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +SOURCE_BROWSER = NO + +INLINE_SOURCES = NO + +STRIP_CODE_COMMENTS = YES + +REFERENCED_BY_RELATION = NO + +REFERENCES_RELATION = NO + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES + +COLS_IN_ALPHA_INDEX = 2 + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES + +HTML_OUTPUT = html + +HTML_FILE_EXTENSION = .html + +HTML_HEADER = + +HTML_FOOTER = + +HTML_STYLESHEET = + +GENERATE_HTMLHELP = NO + +CHM_FILE = + +HHC_LOCATION = + +GENERATE_CHI = NO + +BINARY_TOC = NO + +TOC_EXPAND = NO + +DISABLE_INDEX = NO + +ENUM_VALUES_PER_LINE = 4 + +GENERATE_TREEVIEW = NO + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO + +LATEX_OUTPUT = latex + +LATEX_CMD_NAME = latex + +MAKEINDEX_CMD_NAME = makeindex + +COMPACT_LATEX = NO + +PAPER_TYPE = a4wide + +EXTRA_PACKAGES = + +LATEX_HEADER = + +PDF_HYPERLINKS = NO + +USE_PDFLATEX = NO + +LATEX_BATCHMODE = NO + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO + +RTF_OUTPUT = rtf + +COMPACT_RTF = NO + +RTF_HYPERLINKS = NO + +RTF_STYLESHEET_FILE = + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO + +MAN_OUTPUT = man + +MAN_EXTENSION = .3 + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +GENERATE_XML = NO + +XML_OUTPUT = xml + +#XML_SCHEMA = + +#XML_DTD = + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +GENERATE_PERLMOD = NO + +PERLMOD_LATEX = NO + +PERLMOD_PRETTY = YES + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES + +MACRO_EXPANSION = NO + +EXPAND_ONLY_PREDEF = NO + +SEARCH_INCLUDES = YES + +INCLUDE_PATH = @VTKm_SOURCE_DIR@ @VTKm_BINARY_DIR@ + +INCLUDE_FILE_PATTERNS = + +PREDEFINED = DOXYGEN +PREDEFINED += VTKM_DOXYGEN_ONLY + +EXPAND_AS_DEFINED = + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = + +GENERATE_TAGFILE = + +ALLEXTERNALS = NO + +EXTERNAL_GROUPS = YES + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +CLASS_DIAGRAMS = YES + +HIDE_UNDOC_RELATIONS = YES + +HAVE_DOT = @VTKm_DOXYGEN_HAVE_DOT@ + +CLASS_GRAPH = YES + +COLLABORATION_GRAPH = YES + +UML_LOOK = NO + +TEMPLATE_RELATIONS = NO + +INCLUDE_GRAPH = YES + +INCLUDED_BY_GRAPH = YES + +CALL_GRAPH = NO + +GRAPHICAL_HIERARCHY = NO + +DOT_IMAGE_FORMAT = png + +DOT_PATH = @VTKm_DOXYGEN_DOT_PATH@ + +DOTFILE_DIRS = + +DOT_GRAPH_MAX_NODES = 75 + +MAX_DOT_GRAPH_DEPTH = 5 + +GENERATE_LEGEND = YES + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO diff --git a/CMakeLists.txt b/CMakeLists.txt index ee728c940..1de236db7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -177,7 +177,6 @@ add_subdirectory(vtkm) # Build documentation if (VTKm_ENABLE_DOCUMENTATION) include(CMake/VTKmBuildDocumentation.cmake) - vtkm_build_documentation() endif() #-----------------------------------------------------------------------------