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