Skip to content

Commit

Permalink
Doxygen Documentation FrameWork
Browse files Browse the repository at this point in the history
  • Loading branch information
9prady9 committed Apr 5, 2017
1 parent 5484217 commit 13a2468
Show file tree
Hide file tree
Showing 9 changed files with 4,186 additions and 0 deletions.
6 changes: 6 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ PROJECT(MeshIO)

SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")

OPTION(BUILD_DOCUMENTATION "Build Documentation" OFF)
OPTION(BUILD_EXAMPLES "Build examples" OFF)
OPTION(BUILD_TESTS "Build Tests" ON)
OPTION(BUILD_COVERAGE "Create test coverage report" OFF)
Expand Down Expand Up @@ -32,6 +33,11 @@ IF(UNIX)
ENDIF()
ENDIF()

# Generate documentation
IF(BUILD_DOCUMENTATION)
ADD_SUBDIRECTORY(docs)
ENDIF(BUILD_DOCUMENTATION)

IF(BUILD_EXAMPLES)
ADD_SUBDIRECTORY(examples)
ENDIF()
Expand Down
40 changes: 40 additions & 0 deletions docs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
FIND_PACKAGE(Doxygen REQUIRED)

# Documentation
IF(NOT DEFINED MESHIO_INSTALL_DOC_DIR)
SET(MESHIO_INSTALL_DOC_DIR "${CMAKE_INSTALL_PREFIX}/doc" CACHE PATH "Installation path for documentation")
ENDIF()

SET(MESHIO_DOCS_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/doxygen.mk")
SET(MESHIO_DOCS_CONFIG_OUT "${CMAKE_CURRENT_BINARY_DIR}/doxygen.mk.out")

SET(MESHIO_DOCS_LAYOUT "${CMAKE_CURRENT_SOURCE_DIR}/layout.xml")
SET(MESHIO_DOCS_LAYOUT_OUT "${CMAKE_CURRENT_BINARY_DIR}/layout.xml.out")

SET(DOCS_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
SET(ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/resources")
SET(INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include")
#SET(EXAMPLES_DIR "${PROJECT_SOURCE_DIR}/examples")
#Re-enable test snippets directory setting when doc examples are added
#SET(SNIPPETS_DIR "${PROJECT_SOURCE_DIR}/test")
CONFIGURE_FILE(${MESHIO_DOCS_CONFIG} ${MESHIO_DOCS_CONFIG_OUT})
CONFIGURE_FILE(${MESHIO_DOCS_LAYOUT} ${MESHIO_DOCS_LAYOUT_OUT})

ADD_CUSTOM_TARGET(docs
ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${MESHIO_DOCS_CONFIG_OUT}
COMMAND cmake -E copy_directory ${ASSETS_DIR} ${CMAKE_CURRENT_BINARY_DIR}/html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Documentation"
VERBATIM)

# Install Doxygen documentation
INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
DESTINATION ${MESHIO_INSTALL_DOC_DIR}
COMPONENT documentation
PATTERN "*"
PATTERN ".git" EXCLUDE
PATTERN "CMakeFiles" EXCLUDE
PATTERN "man" EXCLUDE
)

Loading

0 comments on commit 13a2468

Please sign in to comment.