diff --git a/cmake/PugsDoc.cmake b/cmake/PugsDoc.cmake index 7a5694f096503b0c977c6961de863fe7e39bb551..827faed475046f98d12bc5731e61a67ee9f2af59 100644 --- a/cmake/PugsDoc.cmake +++ b/cmake/PugsDoc.cmake @@ -20,12 +20,24 @@ if (EMACS) set(ORG_GENERATOR_FILES "${PUGS_SOURCE_DIR}/doc/lisp/build-doc-config.el" - "${PUGS_SOURCE_DIR}/doc/lisp/userdoc-html.el" - "${PUGS_SOURCE_DIR}/doc/lisp/userdoc-pdf.el" "${PUGS_SOURCE_DIR}/doc/lisp/share/pugs.el" "${PUGS_SOURCE_DIR}/doc/lisp/share/ob-pugs.el" ) + add_custom_command( + OUTPUT "${PUGS_SOURCE_DIR}/doc/elpa" + COMMAND + ${CMAKE_COMMAND} -E env + PUGS=${PUGS_BINARY_DIR}/pugs + HOME=${PUGS_SOURCE_DIR}/doc/lisp + PUGS_SOURCE_DIR=${PUGS_SOURCE_DIR} + PUGS_BINARY_DIR=${PUGS_BINARY_DIR} + ${EMACS} -Q --script ${PUGS_SOURCE_DIR}/doc/lisp/build-doc-config.el + DEPENDS ${ORG_GENERATOR_FILES} + ) + + add_custom_target(pugsdoc-download-elpa DEPENDS "${PUGS_SOURCE_DIR}/doc/elpa") + add_custom_command( OUTPUT "${PUGS_BINARY_DIR}/doc/userdoc.html" COMMAND @@ -35,7 +47,7 @@ if (EMACS) PUGS_SOURCE_DIR=${PUGS_SOURCE_DIR} PUGS_BINARY_DIR=${PUGS_BINARY_DIR} ${EMACS} -Q --script ${PUGS_SOURCE_DIR}/doc/lisp/userdoc-html.el - DEPENDS "${PUGS_SOURCE_DIR}/doc/userdoc.org" pugs pugsdoc-dir ${ORG_GENERATOR_FILES} + DEPENDS "${PUGS_SOURCE_DIR}/doc/userdoc.org" "${PUGS_SOURCE_DIR}/doc/lisp/userdoc-html.el" pugs pugsdoc-dir pugsdoc-download-elpa WORKING_DIRECTORY ${PUGS_BINARY_DIR}/doc COMMENT "Built user documentation in doc/userdoc.html" VERBATIM) @@ -55,7 +67,7 @@ if (EMACS) PUGS_SOURCE_DIR=${PUGS_SOURCE_DIR} PUGS_BINARY_DIR=${PUGS_BINARY_DIR} ${EMACS} -Q --script ${PUGS_SOURCE_DIR}/doc/lisp/userdoc-pdf.el - DEPENDS "${PUGS_SOURCE_DIR}/doc/userdoc.org" pugs pugsdoc-dir ${ORG_GENERATOR_FILES} + DEPENDS "${PUGS_SOURCE_DIR}/doc/userdoc.org" "${PUGS_SOURCE_DIR}/doc/lisp/userdoc-pdf.el" pugs pugsdoc-dir pugsdoc-download-elpa WORKING_DIRECTORY ${PUGS_BINARY_DIR}/doc COMMENT "Built user documentation in doc/userdoc.pdf" VERBATIM)