MINIFI-265: Add conditional statement for doc generation If Doxygen is installed you can run make docs to generate HTML and LaTeX output.
This closes #78. Signed-off-by: Aldrin Piri <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/11c6c40b Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/11c6c40b Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/11c6c40b Branch: refs/heads/master Commit: 11c6c40bbfdc5b72a4333d1e6827bd1c2476023c Parents: 4a4602a Author: Marc Parisi <[email protected]> Authored: Tue Apr 11 11:13:58 2017 -0400 Committer: Aldrin Piri <[email protected]> Committed: Tue Apr 11 14:49:47 2017 -0400 ---------------------------------------------------------------------- .travis.yml | 4 +- CMakeLists.txt | 21 + docs/Doxyfile | 2490 +++++++++++++++++++++++++++++++++++++++++++++ docs/minifi-logo.png | Bin 0 -> 34178 bytes 4 files changed, 2514 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/11c6c40b/.travis.yml ---------------------------------------------------------------------- diff --git a/.travis.yml b/.travis.yml index cc9c8e2..4a8e7f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,7 @@ matrix: - g++-4.8 - libboost-all-dev - uuid-dev + - doxygen - libxml2-dev - libleveldb-dev - openssl @@ -45,6 +46,7 @@ matrix: - package='boost'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} - package='cmake'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} - package='openssl'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} + - package='doxygen'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} script: - - mkdir ./build && cd ./build && cmake .. && make && make test && make linter + - mkdir ./build && cd ./build && cmake .. && make && make test && make linter && make docs http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/11c6c40b/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/CMakeLists.txt b/CMakeLists.txt index b84706d..40472cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -162,3 +162,24 @@ add_custom_target( add_custom_target( linter COMMAND ${CMAKE_SOURCE_DIR}/thirdparty/google-styleguide/run_linter.sh ${CMAKE_SOURCE_DIR}/libminifi/include/ ${CMAKE_SOURCE_DIR}/libminifi/src/ ) + + +FIND_PACKAGE(Doxygen) +if(DOXYGEN_FOUND) + +MESSAGE(Creating API Documentation) +SET(DOXYGEN_INPUT "../docs/Doxyfile") +SET(DOXYGEN_OUTPUT "../docs") + +ADD_CUSTOM_COMMAND( + OUTPUT ${DOXYGEN_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E echo_append "Building LibMiNiFi API Documentation..." + COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_INPUT} + COMMAND ${CMAKE_COMMAND} -E echo "Done." + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${DOXYGEN_INPUT} + ) + +ADD_CUSTOM_TARGET(docs ${DOXYGEN_EXECUTABLE} ${DOXYGEN_INPUT}) + +endif(DOXYGEN_FOUND)
