You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2015/03/06 23:40:29 UTC

svn commit: r1664745 - in /qpid/dispatch/trunk/doc: CMakeLists.txt api/CMakeLists.txt book/CMakeLists.txt man/CMakeLists.txt

Author: aconway
Date: Fri Mar  6 22:40:29 2015
New Revision: 1664745

URL: http://svn.apache.org/r1664745
Log:
DISPATCH-123: Separate target to build documentation.

Create a separate "make doc" target to build documentation, not run automatically by "make all"

NOTE: This uses cmake 2.8 features (optional install) to work. On cmake < 2.8 we go back to
the previous behavior of building the doc in "make all"

Modified:
    qpid/dispatch/trunk/doc/CMakeLists.txt
    qpid/dispatch/trunk/doc/api/CMakeLists.txt
    qpid/dispatch/trunk/doc/book/CMakeLists.txt
    qpid/dispatch/trunk/doc/man/CMakeLists.txt

Modified: qpid/dispatch/trunk/doc/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/doc/CMakeLists.txt?rev=1664745&r1=1664744&r2=1664745&view=diff
==============================================================================
--- qpid/dispatch/trunk/doc/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/doc/CMakeLists.txt Fri Mar  6 22:40:29 2015
@@ -18,6 +18,9 @@
 ##
 
 
+# In recent versions of cmake the documentation is not built automatically, you need to
+# run "make doc", so you can leave this ON. In older (< 2.8) versions, documentation
+# is built by "make all" so you need to turn BUILD_DOCS OFF if you don't want that.
 option(BUILD_DOCS "Generate documentation" ON)
 
 set(src ${CMAKE_CURRENT_SOURCE_DIR})
@@ -25,6 +28,17 @@ set(bin ${CMAKE_CURRENT_BINARY_DIR})
 
 if(BUILD_DOCS)
 
+  if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_LESS "2.8")
+    # OPTIONAL does not exist in install before 2.8 so always make docs and install
+    add_custom_target(doc ALL)
+  else()
+    set (OPTIONAL OPTIONAL)
+    add_custom_target(doc)
+  endif()
+  macro(install_doc)
+    install(${ARGN} ${OPTIONAL})
+  endmacro()
+
   find_package(Doxygen)
   find_program(PANDOC pandoc)
   find_program(PDFLATEX pdflatex)
@@ -57,15 +71,16 @@ if(BUILD_DOCS)
   add_subdirectory(book)
 
   # Index for installed doc
-  install(FILES ${src}/index.md DESTINATION ${QD_DOC_INSTALL_DIR})
+  install_doc(FILES ${src}/index.md DESTINATION ${QD_DOC_INSTALL_DIR})
   if(USE_PANDOC)
     add_custom_command(
       OUTPUT ${bin}/index.html
       COMMAND ${PANDOC} --standalone -f markdown -t html -o ${bin}/index.html ${src}/index.md
       DEPENDS ${src}/index.md
       )
-    add_custom_target(doc-index ALL DEPENDS ${bin}/index.html)
-    install(FILES ${bin}/index.html DESTINATION ${QD_DOC_INSTALL_DIR})
+    add_custom_target(doc-index DEPENDS ${bin}/index.html)
+    add_dependencies(doc doc-index)
+    install_doc(FILES ${bin}/index.html DESTINATION ${QD_DOC_INSTALL_DIR})
   endif(USE_PANDOC)
 
 endif(BUILD_DOCS)

Modified: qpid/dispatch/trunk/doc/api/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/doc/api/CMakeLists.txt?rev=1664745&r1=1664744&r2=1664745&view=diff
==============================================================================
--- qpid/dispatch/trunk/doc/api/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/doc/api/CMakeLists.txt Fri Mar  6 22:40:29 2015
@@ -54,9 +54,10 @@ if(USE_DOXYGEN)
     COMMAND ${CMAKE_COMMAND} -E touch api api_dev
     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/doxygen.in ${API_SOURCES})
 
-  add_custom_target(apidocs ALL DEPENDS api api_dev)
+  add_custom_target(apidocs DEPENDS api api_dev)
+  add_dependencies(doc apidocs)
 
-  install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/api DESTINATION ${QD_DOC_INSTALL_DIR})
-  install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/api_dev DESTINATION ${QD_DOC_INSTALL_DIR})
+  install_doc(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/api DESTINATION ${QD_DOC_INSTALL_DIR})
+  install_doc(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/api_dev DESTINATION ${QD_DOC_INSTALL_DIR})
 
 endif(USE_DOXYGEN)

Modified: qpid/dispatch/trunk/doc/book/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/doc/book/CMakeLists.txt?rev=1664745&r1=1664744&r2=1664745&view=diff
==============================================================================
--- qpid/dispatch/trunk/doc/book/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/doc/book/CMakeLists.txt Fri Mar  6 22:40:29 2015
@@ -35,7 +35,7 @@ add_custom_command(
 set(BOOK ${src}/introduction.md ${src}/using.md ${src}/addressing.md ${src}/amqp-mapping.md ${bin}/schema.md)
 
 # Install markdown documentation in the doc directory.
-install(FILES ${BOOK} DESTINATION ${QD_DOC_INSTALL_DIR})
+install_doc(FILES ${BOOK} DESTINATION ${QD_DOC_INSTALL_DIR})
 
 if(USE_PANDOC)
   set(PD_ARGS --standalone --toc --number-sections -f markdown -V "title=Qpid Dispatch Router Book")
@@ -48,7 +48,7 @@ if(USE_PANDOC)
       COMMAND ${PANDOC} ${PD_ARGS} -o ${OUTPUT} ${ARGN} ${BOOK}
       DEPENDS man ${BOOK}
     )
-    install(FILES ${OUTPUT} DESTINATION ${QD_DOC_INSTALL_DIR})
+    install_doc(FILES ${OUTPUT} DESTINATION ${QD_DOC_INSTALL_DIR})
     set(BOOKS ${BOOKS} ${OUTPUT})
   endmacro()
 
@@ -62,5 +62,6 @@ if(USE_PANDOC)
 endif(USE_PANDOC)
 
 # Target to generate all chapters and books.
-add_custom_target(book ALL DEPENDS ${BOOK} ${BOOKS})
+add_custom_target(book DEPENDS ${BOOK} ${BOOKS})
 add_dependencies(book man) # Note: adding man to book DEPENDS does not work on cmake 2.6.4
+add_dependencies(doc book) # Note: adding man to book DEPENDS does not work on cmake 2.6.4

Modified: qpid/dispatch/trunk/doc/man/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/doc/man/CMakeLists.txt?rev=1664745&r1=1664744&r2=1664745&view=diff
==============================================================================
--- qpid/dispatch/trunk/doc/man/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/doc/man/CMakeLists.txt Fri Mar  6 22:40:29 2015
@@ -46,7 +46,7 @@ macro(manpage program section)
   set(manpage "${bin}/${program}.${section}")
 
   # Install the plain markdown manpage.
-  install(FILES ${manpage}.md DESTINATION ${QD_DOC_INSTALL_DIR})
+  install_doc(FILES ${manpage}.md DESTINATION ${QD_DOC_INSTALL_DIR})
   set(MANPAGES_OUT ${MANPAGES_OUT} ${manpage}.md)
 
   if (USE_PANDOC)
@@ -57,7 +57,7 @@ macro(manpage program section)
       COMMAND ${PANDOC} -f markdown -t html -o ${manpage}.html ${manpage}.md -s # Full page
       COMMAND ${PANDOC} -f markdown -t html -o ${manpage}.html.in ${manpage}.md # Fragment
       )
-    install(FILES ${manpage}.html DESTINATION ${QD_DOC_INSTALL_DIR})
+    install_doc(FILES ${manpage}.html DESTINATION ${QD_DOC_INSTALL_DIR})
     set(MANPAGES_OUT ${MANPAGES_OUT} ${manpage}.html ${manpage}.html.in)
 
     # Generate proper man pages
@@ -74,7 +74,7 @@ macro(manpage program section)
       DEPENDS ${manpage}.md ${src}/man.template.pd
       COMMAND ${PANDOC} --template ${src}/man.template.pd -s -V date="${date}" -V title="${program}" -V section="${section}" -V version="${QPID_DISPATCH_VERSION}" -V header="${header}" -f markdown -t man -o ${manpage} ${manpage}.md
       )
-    install(FILES ${manpage} DESTINATION "${MAN_INSTALL_DIR}/man${section}")
+    install_doc(FILES ${manpage} DESTINATION "${MAN_INSTALL_DIR}/man${section}")
     set(MANPAGES_OUT ${MANPAGES_OUT} ${manpage})
   endif(USE_PANDOC)
 endmacro(manpage)
@@ -101,4 +101,5 @@ add_custom_command(
 manpage(qdrouterd.conf 5)
 
 # Target to build the generated files
-add_custom_target(man ALL DEPENDS ${MANPAGES_OUT})
+add_custom_target(man DEPENDS ${MANPAGES_OUT})
+add_dependencies(doc man)



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org