Commit 67618ee4 authored by Dave Moxey's avatar Dave Moxey

Merge branch 'docker/documentation' into 'master'

Add documentation to docker images

See merge request !1098
parents 32b51223 1a3f3e61
Pipeline #1198 passed with stages
in 2 minutes and 41 seconds
......@@ -45,6 +45,7 @@ docker-build-nektar:
variables:
image_name: nektarpp/nektar
dockerfile: docker/nektar/Dockerfile
GIT_SUBMODULE_STRATEGY: normal
docker-build-workbook:
<<: *docker_build_template
......
[submodule "docs/tutorial"]
branch = master
path = docs/tutorial
url = git@gitlab.nektar.info:nektar/tutorial
url = https://gitlab.nektar.info/nektar/tutorial.git
ignore = all
......@@ -215,7 +215,7 @@ v5.0.0
**Packaging:**
- Add Dockerfiles and gitlab CI configuration for automatic builds (!1021,
!1092)
!1092, !1098)
v4.4.2
------
......
# Doxygen support
# adapted from http://www.bluequartz.net/projects/EIM_Segmentation/ SoftwareDocumentation/html/usewithcmakeproject.html
# adapted from http://www.bluequartz.net/projects/EIM_Segmentation/
# SoftwareDocumentation/html/usewithcmakeproject.html
OPTION(NEKTAR_BUILD_DOC "Build source code documentation using doxygen" OFF)
CMAKE_DEPENDENT_OPTION(NEKTAR_BUILD_DOC_QHP
......@@ -11,6 +12,9 @@ CMAKE_DEPENDENT_OPTION(NEKTAR_BUILD_DOC_XCODE
CMAKE_DEPENDENT_OPTION(NEKTAR_BUILD_DOC_ECLIPSE
"Use Doxygen to create documentation for Eclipse" OFF
"NEKTAR_BUILD_DOC" OFF)
CMAKE_DEPENDENT_OPTION(NEKTAR_BUILD_DOC_FIXEDWIDTH
"Use a fixed-width style sheet for doxygen output" OFF
"NEKTAR_BUILD_DOC" OFF)
IF (NEKTAR_BUILD_DOC)
FIND_PACKAGE(Doxygen)
......@@ -27,18 +31,23 @@ IF (NEKTAR_BUILD_DOC)
IF(NEKTAR_BUILD_DOC_ECLIPSE)
SET(DOXYGEN_GENERATE_ECLIPSEHELP "YES")
ENDIF()
INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/docs/doxygen/
DESTINATION ${NEKTAR_DOC_DIR})
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.in
SET(DOXYGEN_EXTRA_CSS "")
IF(NEKTAR_BUILD_DOC_FIXEDWIDTH)
SET(DOXYGEN_EXTRA_CSS "docs/doxygen/doxygen-fixed-width.css")
ENDIF()
INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/docs/doxygen/html/
DESTINATION ${NEKTAR_DOC_DIR}/doxygen)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.in
${PROJECT_BINARY_DIR}/docs/doxygen/Doxyfile @ONLY IMMEDIATE)
ADD_CUSTOM_TARGET(doc
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/docs/doxygen/doxygen-fixed-width.css
${PROJECT_BINARY_DIR}/docs/doxygen/doxygen-fixed-width.css
COMMAND ${DOXYGEN_EXECUTABLE}
${PROJECT_BINARY_DIR}/docs/doxygen/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/docs/doxygen/Doxyfile
SOURCES ${PROJECT_BINARY_DIR}/docs/doxygen/Doxyfile)
ENDIF (NEKTAR_BUILD_DOC)
......
......@@ -12,7 +12,9 @@ RUN DEBIAN_RELEASE=buster && \
libfftw3-dev libhdf5-dev libhdf5-mpi-dev liblapack-dev liboce-foundation-dev \
liboce-modeling-dev liboce-ocaf-dev libtet1.5-dev libtriangle-dev \
libtinyxml-dev mpi-default-dev petsc-dev zlib1g-dev python-numpy libptscotch-dev \
libarpack2-dev
libarpack2-dev \
texlive-base texlive-latex-extra texlive-science texlive-fonts-recommended texlive-pstricks \
doxygen graphviz imagemagick
RUN groupadd nektar && useradd -m -g nektar nektar
USER nektar:nektar
......
......@@ -4,26 +4,30 @@ LABEL maintainer="David Moxey <d.moxey@exeter.ac.uk>"
COPY --chown=nektar:nektar . /home/nektar
ARG BUILD_DOCS=ON
ARG BUILD_DEMOS=OFF
ARG BUILD_SOLVERS=ON
ARG INSTALL_PREFIX=/usr/local
RUN mkdir build && cd build && \
cmake \
-DNEKTAR_BUILD_DEMOS=${BUILD_DEMOS} \
-DNEKTAR_BUILD_TESTS=OFF \
-DNEKTAR_BUILD_UNIT_TESTS=OFF \
-DNEKTAR_BUILD_SOLVERS=${BUILD_SOLVERS} \
-DNEKTAR_BUILD_PYTHON=ON \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DNEKTAR_USE_MESHGEN=ON \
-DNEKTAR_USE_MPI=ON \
-DNEKTAR_USE_ARPACK=ON \
-DNEKTAR_USE_FFTW=ON \
-DNEKTAR_USE_HDF5=ON \
-DNEKTAR_USE_CCM=ON \
.. && \
make -j$(nproc)
RUN mkdir build && cd build && \
cmake \
-DNEKTAR_BUILD_DEMOS=${BUILD_DEMOS} \
-DNEKTAR_BUILD_DOC=${BUILD_DOCS} \
-DNEKTAR_BUILD_TESTS=OFF \
-DNEKTAR_BUILD_UNIT_TESTS=OFF \
-DNEKTAR_BUILD_SOLVERS=${BUILD_SOLVERS} \
-DNEKTAR_BUILD_PYTHON=ON \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DNEKTAR_USE_MESHGEN=ON \
-DNEKTAR_USE_MPI=ON \
-DNEKTAR_USE_ARPACK=ON \
-DNEKTAR_USE_FFTW=ON \
-DNEKTAR_USE_HDF5=ON \
-DNEKTAR_USE_CCM=ON \
.. && \
make -j$(nproc) && \
make -j$(nproc) user-guide-pdf developer-guide-pdf \
tutorials-pdf doc
USER root
RUN cd build && make install && make nekpy-install-system && cd ..
......
......@@ -20,6 +20,8 @@ path to the Nektar++ source tree. It supports three additional build arguments:
default;
- `BUILD_SOLVERS` can be set to `OFF` to disable build of solvers, which are
enabled by default;
- `BUILD_ARGS` can be set to `ON` to build doxygen documentation, which are
enabled by default;
- `INSTALL_PREFIX` can be set to adjust the install prefix, which is
`/usr/local` by default.
......
......@@ -50,3 +50,17 @@ ADD_CUSTOM_TARGET(developer-guide-pdf
COMMAND ${PDFLATEX} --output-directory ${DEVGUIDE} ${DEVGUIDESRC}/developers-guide.tex
WORKING_DIRECTORY ${DEVGUIDESRC}
)
# Install output, if it is generated.
INSTALL(CODE "IF (EXISTS ${DEVGUIDE}/html)
FILE(GLOB DGHTML ${DEVGUIDE}/html/*)
LIST(LENGTH DGHTML DGHTML_LEN)
IF(DGHTML_LEN GREATER 0)
FILE(INSTALL ${DEVGUIDE}/html
DESTINATION \${CMAKE_INSTALL_PREFIX}/${NEKTAR_DOC_DIR}/developers-guide)
ENDIF()
ENDIF()
IF (EXISTS ${DEVGUIDE}/developers-guide.pdf)
FILE(INSTALL ${DEVGUIDE}/developers-guide.pdf
DESTINATION \${CMAKE_INSTALL_PREFIX}/${NEKTAR_DOC_DIR}/developers-guide)
ENDIF()")
......@@ -97,8 +97,7 @@ This developer's guide, like most of \nek{}, is not due to one sole person but a
\paragraph{Spencer J. Sherwin}: Prof. Spencer Sherwin is a Professor of Computational Fluid Mechanics in the Department of Aeronautics at Imperial
College London (UK).
\paragraph{Chris D. Cantwell}: Dr. Chris Cantwell is a Research Fellow in the Department of Aeronautics at Imperial
College London (UK).
\paragraph{Chris D. Cantwell}: Dr. Chris Cantwell is a Senior Lecturer in Aeronautics in the Department of Aeronautics at Imperial College London (UK).
\paragraph{David Moxey}: Dr. David Moxey is a Senior Lecturer in Engineering in the College of Engineering, Mathematics and Physical Sciences
at the University of Exeter (UK).
......
......@@ -215,6 +215,7 @@ To build the User Guide and Developer's Guide, the following dependencies are re
\item texlive-latex-extra
\item texlive-science
\item texlive-fonts-recommended
\item texlive-pstricks
\item imagemagick
\end{itemize}
......
......@@ -682,7 +682,7 @@ LAYOUT_FILE =
# search path. Do not use file names with spaces, bibtex cannot handle them. See
# also \cite for info how to create references.
CITE_BIB_FILES = doxygen.bib
CITE_BIB_FILES = docs/doxygen/doxygen.bib
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
......@@ -1120,7 +1120,7 @@ HTML_STYLESHEET =
# see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_STYLESHEET = doxygen-fixed-width.css
HTML_EXTRA_STYLESHEET = @DOXYGEN_EXTRA_CSS@
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
......@@ -2157,7 +2157,7 @@ CLASS_GRAPH = YES
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
COLLABORATION_GRAPH = YES
COLLABORATION_GRAPH = NO
# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
# groups, showing the direct groups dependencies.
......@@ -2202,7 +2202,7 @@ TEMPLATE_RELATIONS = NO
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
INCLUDE_GRAPH = YES
INCLUDE_GRAPH = NO
# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
# set to YES then doxygen will generate a graph for each documented file showing
......@@ -2211,7 +2211,7 @@ INCLUDE_GRAPH = YES
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
INCLUDED_BY_GRAPH = YES
INCLUDED_BY_GRAPH = NO
# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
# dependency graph for every global function or class method.
......@@ -2260,7 +2260,7 @@ DIRECTORY_GRAPH = YES
# The default value is: png.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_IMAGE_FORMAT = png
DOT_IMAGE_FORMAT = svg
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
# enable generation of interactive SVG images that allow zooming and panning.
......
Subproject commit 63551b4436ba27cfd599d8c86554ee94db84d184
Subproject commit 851f7583b288fb264e1d95db647eb541c054962a
......@@ -51,3 +51,17 @@ ADD_CUSTOM_TARGET(user-guide-pdf
COMMAND ${PDFLATEX} --output-directory ${USERGUIDE} ${USERGUIDESRC}/user-guide.tex
WORKING_DIRECTORY ${USERGUIDESRC}
)
# Install output, if it is generated.
INSTALL(CODE "IF (EXISTS ${USERGUIDE}/html)
FILE(GLOB UGHTML ${USERGUIDE}/html/*)
LIST(LENGTH UGHTML UGHTML_LEN)
IF(UGHTML_LEN GREATER 0)
FILE(INSTALL ${USERGUIDE}/html
DESTINATION \${CMAKE_INSTALL_PREFIX}/${NEKTAR_DOC_DIR}/user-guide)
ENDIF()
ENDIF()
IF (EXISTS ${USERGUIDE}/user-guide.pdf)
FILE(INSTALL ${USERGUIDE}/user-guide.pdf
DESTINATION \${CMAKE_INSTALL_PREFIX}/${NEKTAR_DOC_DIR}/user-guide)
ENDIF()")
This diff is collapsed.
......@@ -43,7 +43,7 @@
#include <fstream>
#include <LibUtilities/LinearAlgebra/SparseMatrixFwd.hpp>
#include <LibUtilities/BasicUtils/SharedArray.hpp> ///< \todo: forward declare
#include <LibUtilities/BasicUtils/SharedArray.hpp>
#include <boost/call_traits.hpp>
......
......@@ -43,7 +43,7 @@
#include <fstream>
#include <LibUtilities/LinearAlgebra/SparseMatrixFwd.hpp>
#include <LibUtilities/BasicUtils/SharedArray.hpp> ///< \todo: forward declare
#include <LibUtilities/BasicUtils/SharedArray.hpp>
#include <boost/call_traits.hpp>
......
......@@ -42,7 +42,7 @@
#include <memory>
#include <LibUtilities/BasicConst/NektarUnivTypeDefs.hpp>
#include <LibUtilities/BasicUtils/SharedArray.hpp> ///< \todo: forward declare
#include <LibUtilities/BasicUtils/SharedArray.hpp>
namespace Nektar
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -212,7 +212,7 @@ namespace Nektar
const NekDouble> &inarray);
/// This function calculates the inner product of a function
/// \f$f(\boldsymbol{x})\f$ with respect to all \emph{local}
/// \f$f(\boldsymbol{x})\f$ with respect to all \em local
/// expansion modes \f$\phi_n^e(\boldsymbol{x})\f$.
inline void IProductWRTBase_IterPerExp(
const Array<OneD, const NekDouble> &inarray,
......@@ -226,7 +226,7 @@ namespace Nektar
/// This function calculates the inner product of a function
/// \f$f(\boldsymbol{x})\f$ with respect to the derivative (in
/// direction \param dir) of all \emph{local} expansion modes
/// direction \param dir) of all \em local expansion modes
/// \f$\phi_n^e(\boldsymbol{x})\f$.
MULTI_REGIONS_EXPORT void IProductWRTDerivBase(
const int dir,
......@@ -240,7 +240,7 @@ namespace Nektar
/// This function calculates the inner product of a function
/// \f$f(\boldsymbol{x})\f$ with respect to the derivative (in
/// direction \param dir) of all \emph{local} expansion modes
/// direction \param dir) of all \em local expansion modes
/// \f$\phi_n^e(\boldsymbol{x})\f$.
MULTI_REGIONS_EXPORT void IProductWRTDerivBase
(const Array<OneD, const Array<OneD, NekDouble> > &inarray,
......
......@@ -43,18 +43,17 @@
#include <LibUtilities/Interpreter/Interpreter.h>
#include <LibUtilities/Memory/NekMemoryManager.hpp>
/**
* @brief class for meshing individual curves (1d meshing)
*/
namespace Nektar
{
namespace NekMeshUtils
{
//forward
class CurveMesh;
typedef std::shared_ptr<CurveMesh> CurveMeshSharedPtr;
/**
* @brief class for meshing individual curves (1d meshing)
*/
class CurveMesh
{
public:
......
......@@ -49,9 +49,10 @@ namespace Nektar
namespace SolverUtils
{
/// Defines a callback function which evaluates the flux vector \f$ F(u)
/// \f$ in a conservative advection of the form \f$ \nabla\cdot F(u)
/// \f$.
/**
* Defines a callback function type which evaluates the flux vector \f$ F(u) \f$
* in a conservative advection of the form \f$ \nabla\cdot F(u) \f$.
*/
typedef std::function<void (
const Array<OneD, Array<OneD, NekDouble> >&,
Array<OneD, Array<OneD, Array<OneD, NekDouble> > >&)>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment