Select Git revision
pugs_config.hpp.in
-
Stéphane Del Pino authored
Do not use `ctest` anymore, tests are now launch directly (manually) using generated unit tests binaries (unit_tests and mpi_unit_tests) `ctest` can always be invoked but not using `make test`. The reason for this change is that `ctest` runs a binary for each test which is not what we want now. The goal of this development is to provide a mesh database that is built **once** for all: the cost of building meshes could be prohibitive and their multiplication should be avoided for obvious performances and storage reasons.
Stéphane Del Pino authoredDo not use `ctest` anymore, tests are now launch directly (manually) using generated unit tests binaries (unit_tests and mpi_unit_tests) `ctest` can always be invoked but not using `make test`. The reason for this change is that `ctest` runs a binary for each test which is not what we want now. The goal of this development is to provide a mesh database that is built **once** for all: the cost of building meshes could be prohibitive and their multiplication should be avoided for obvious performances and storage reasons.
PugsDoc.cmake 4.30 KiB
# -------------------- Documentation ----------------
# check for Emacs since the documentation is writen in org-mode
find_program(EMACS emacs)
# check for LaTeX
find_package(LATEX COMPONENTS PDFLATEX)
# check for pygmentize
find_program(PYGMENTIZE pygmentize)
# check for gnuplot
find_package(Gnuplot)
add_custom_target(userdoc)
add_custom_target(doc DEPENDS userdoc)
if (EMACS AND GNUPLOT_FOUND)
add_custom_command(
OUTPUT "${PUGS_BINARY_DIR}/doc"
COMMAND ${CMAKE_COMMAND} -E make_directory "${PUGS_BINARY_DIR}/doc"
)
add_custom_target(pugsdoc-dir DEPENDS "${PUGS_BINARY_DIR}/doc")
set(ORG_GENERATOR_FILES
"${PUGS_SOURCE_DIR}/doc/lisp/build-doc-config.el"
"${PUGS_SOURCE_DIR}/doc/lisp/share/pugs.el"
"${PUGS_SOURCE_DIR}/doc/lisp/share/ob-pugs.el"
"${PUGS_SOURCE_DIR}/doc/lisp/share/ob-pugs-error.el"
)
add_custom_command(
COMMENT "Check Emacs packages for documentation building"
OUTPUT "${PUGS_SOURCE_DIR}/doc/lisp/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/lisp/elpa")
add_custom_command(
OUTPUT "${PUGS_BINARY_DIR}/doc/userdoc.html"
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/userdoc-html.el
DEPENDS
"${PUGS_SOURCE_DIR}/doc/userdoc.org"
"${PUGS_SOURCE_DIR}/doc/lisp/userdoc-html.el"
pugs
pugsdoc-dir
pugsdoc-download-elpa
${ORG_GENERATOR_FILES}
WORKING_DIRECTORY ${PUGS_BINARY_DIR}/doc
COMMENT "Building user documentation in doc/userdoc.html"
VERBATIM)
add_custom_target(userdoc-html DEPENDS pugsdoc-dir "${PUGS_BINARY_DIR}/doc/userdoc.html")
add_dependencies(userdoc userdoc-html)
if (LATEX_PDFLATEX_FOUND AND PYGMENTIZE)
add_custom_command(
OUTPUT "${PUGS_BINARY_DIR}/doc/userdoc.pdf"
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/userdoc-pdf.el
DEPENDS
"${PUGS_SOURCE_DIR}/doc/userdoc.org"
"${PUGS_SOURCE_DIR}/doc/lisp/userdoc-pdf.el"
"${PUGS_SOURCE_DIR}/tools/pgs-pygments.sh"
"${PUGS_SOURCE_DIR}/tools/pgs-pygments.py"
pugs
pugsdoc-dir
pugsdoc-download-elpa
${ORG_GENERATOR_FILES}
WORKING_DIRECTORY ${PUGS_BINARY_DIR}/doc
COMMENT "Building user documentation in doc/userdoc.pdf"
VERBATIM)
add_custom_target(userdoc-pdf DEPENDS pugsdoc-dir "${PUGS_BINARY_DIR}/doc/userdoc.pdf" )
add_dependencies(userdoc userdoc-pdf)
else()
if (NOT LATEX_PDFLATEX_FOUND)
add_custom_target(userdoc-missing-latex
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --no-newline "Cannot build pdf documentation: "
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red --bold "pdflatex missing")
add_dependencies(userdoc userdoc-missing-latex)
endif()
if (NOT PIGMENTIZE_FOUND)
add_custom_target(userdoc-missing-pygmentize
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --no-newline "Cannot build pdf documentation: "
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red --bold "pygmentize missing")
add_dependencies(userdoc userdoc-missing-pygmentize)
endif()
endif()
else()
if (NOT EMACS)
add_custom_target(userdoc-missing-emacs
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --no-newline "Cannot build documentation: "
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red --bold "emacs missing")
add_dependencies(userdoc userdoc-missing-emacs)
endif()
if (NOT GNUPLOT_FOUND)
add_custom_target(userdoc-missing-gnuplot
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --no-newline "Cannot build documentation: "
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red --bold "gnuplot missing")
add_dependencies(userdoc userdoc-missing-gnuplot)
endif()
endif()
add_dependencies(doc userdoc)