OpenJij/cimod

View on GitHub
cmake/GenerateDocs.cmake

Summary

Maintainability
Test Coverage
MESSAGE (STATUS "Build Documentation")
FIND_PACKAGE (Doxygen
              REQUIRED dot
              OPTIONAL_COMPONENTS mscgen dia)
IF (DOXYGEN_FOUND)
    INCLUDE (GNUInstallDirs)
    FIND_PROGRAM (DOXYGEN_EXECUTABLE doxygen REQUIRED)
    SET (DOXYGEN_PROJECT_NAME "${PROJECT_NAME}")
    SET (DOXYGEN_PROJECT_BRIEF "${PROJECT_DESCRIPTION}")
    
    
    SET (DOXYGEN_RECURSIVE YES)
    SET (DOXYGEN_GENERATE_HTML YES)
    
    #        set(DOXYGEN_CREATE_SUBDIRS YES)
    
    SET (DOXYGEN_ALLOW_UNICODE_NAMES YES)
    SET (DOXYGEN_OUTPUT_LANGUAGE "Japanese-en")
    SET (DOXYGEN_DOXYFILE_ENCODING "UTF-8")
    
    #        set(DOXYGEN_OUTPUT_TEXT_DIRECTION "ltr")
    
    SET (DOXYGEN_BRIEF_MEMBER_DESC YES)
    SET (DOXYGEN_REPEAT_BRIEF YES)
    #set(DOXYGEN_INLINE_INHERITED_MEMB YES)
    SET (DOXYGEN_INHERIT_DOCS YES)
    SET (DOXYGEN_DISTRIBUTE_GROUP_DOC YES)
    SET (DOXYGEN_GROUP_NESTED_COMPOUNDS YES)
    #set(DOXYGEN_INLINE_GROUPED_CLASSES YES)
    #set(DOXYGEN_INLINE_SIMPLE_STRUCTS YES)
    
    #        set(DOXYGEN_HTML_DYNAMIC_MENUS YES)
    
    SET (DOXYGEN_CHM_INDEX_ENCODING "UTF-8")
    
    #        set(DOXYGEN_HTML_DYNAMIC_SECTIONS YES)
    SET (DOXYGEN_HTML_TIMESTAMP YES)
    SET (DOXYGEN_ALWAYS_DETAILED_SEC YES)
    SET (DOXYGEN_JAVADOC_AUTOBRIEF YES)
    SET (DOXYGEN_FULL_PATH_NAMES NO)
    SET (DOXYGEN_SHORT_NAMES NO)
    SET (DOXYGEN_MULTILINE_CPP_IS_BRIEF NO)
    SET (DOXYGEN_INHERIT_DOCS YES)
    
    #        set(DOXYGEN_SEPARATE_MEMBER_PAGES YES)
    SET (DOXYGEN_TAB_SIZE 4)
    
    SET (DOXYGEN_MARKDOWN_SUPPORT YES)
    SET (DOXYGEN_AUTOLINK_SUPPORT YES)
    SET (DOXYGEN_BUILTIN_STL_SUPPORT NO)
    SET (DOXYGEN_CPP_CLI_SUPPORT YES)
    SET (DOXYGEN_IDL_PROPERTY_SUPPORT YES)
    SET (DOXYGEN_SUBGROUPING YES)
    SET (DOXYGEN_EXTRACT_ALL YES)
    SET (DOXYGEN_EXTRACT_PRIVATE YES)
    SET (DOXYGEN_EXTRACT_PACKAGE YES)
    SET (DOXYGEN_EXTRACT_PRIV_VIRTUAL YES)
    SET (DOXYGEN_EXTRACT_STATIC YES)
    SET (DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
    SET (DOXYGEN_EXTRACT_LOCAL_METHODS YES)
    SET (DOXYGEN_EXTRACT_ANON_NSPACES YES)
    SET (DOXYGEN_SHOW_GROUPED_MEMB_INC YES)
    
    #        set(DOXYGEN_FORCE_LOCAL_INCLUDES YES)
    
    SET (DOXYGEN_INLINE_INFO YES)
    SET (DOXYGEN_SORT_MEMBER_DOCS YES)
    SET (DOXYGEN_SHOW_USED_FILES YES)
    SET (DOXYGEN_SHOW_FILES YES)
    SET (DOXYGEN_SHOW_NAMESPACES YES)
    SET (DOXYGEN_INPUT_ENCODING "UTF-8")
    SET (DOXYGEN_REFERENCES_LINK_SOURCE YES)
    SET (DOXYGEN_SOURCE_TOOLTIPS YES)
    #        set(DOXYGEN_ALPHABETICAL_INDEX YES)
    SET (DOXYGEN_GENERATE_TREEVIEW YES)
    SET (DOXYGEN_USE_MATHJAX YES)
    
    #        set(DOXYGEN_MACRO_EXPANSION YES)
    #        set(DOXYGEN_EXPAND_ONLY_PREDEF YES)
    #        set(DOXYGEN_PREDEFINED "extern=//")
    #        set(DOXYGEN_EXPAND_AS_DEFINED "extern")
    
    SET (DOXYGEN_CALL_GRAPH YES)
    SET (DOXYGEN_CALLER_GRAPH YES)
    SET (DOXYGEN_DOT_GRAPH_MAX_NODES 10000)
    SET (DOXYGEN_MAX_DOT_GRAPH_DEPTH 1000)
    SET (DOXYGEN_DIR_GRAPH_MAX_DEPTH 25)
    SET (DOXYGEN_HAVE_DOT YES)
    SET (DOXYGEN_DOT_MULTI_TARGETS YES)
    SET (DOXYGEN_CLASS_DIAGRAMS YES)
    SET (DOXYGEN_CLASS_GRAPH YES)
    SET (DOXYGEN_COLLABORATION_GRAPH YES)
    SET (DOXYGEN_DIRECTORY_GRAPH YES)
    SET (DOXYGEN_INCLUDE_GRAPH YES)
    SET (DOXYGEN_INCLUDED_BY_GRAPH YES)
    #        set(DOXYGEN_DOT_CLEANUP YES)
    
    #set(DOXYGEN_DOT_TRANSPARENT YES)
    SET (DOXYGEN_DOT_UML_DETAILS YES)
    SET (DOXYGEN_GRAPHICAL_HIERARCHY YES)
    SET (DOXYGEN_GROUP_GRAPHS YES)
    SET (DOXYGEN_INCLUDE_GRAPH YES)
    SET (DOXYGEN_INCLUDED_BY_GRAPH YES)
    #set(DOXYGEN_INTERACTIVE_SVG YES)
    SET (DOXYGEN_REFERENCED_BY_RELATION YES)
    SET (DOXYGEN_REFERENCES_RELATION YES)
    SET (DOXYGEN_GENERATE_XML YES)
    
    #set(DOXYGEN_UML_LIMIT_NUM_FIELDS 100)
    DOXYGEN_ADD_DOCS (cxxcimod_header_only_docs
                      ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/cimod
                      ALL
                      COMMENT "Generate documentation with Doxygen")
    INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/html
             DESTINATION ${PROJECT_SOURCE_DIR}/docs)
ELSE ()
    MESSAGE (SEND_ERROR "building documentation (-DBUILD_DOCS=ON) is enabled, but doxygen not found")
ENDIF ()