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)

Reply via email to