\documentclass{article}

% Use the Cactus ThornGuide style file
% (Automatically used from Cactus distribution, if you have a
%  thorn without the Cactus Flesh download this from the Cactus
%  homepage at www.cactuscode.org)
\usepackage{../../../../../doc/latex/cactus}

\newlength{\tableWidth} \newlength{\maxVarWidth} \newlength{\paraWidth} \newlength{\descWidth} \begin{document}

\title{\tt ExternalLibraries/CMake}
\author{Roland Haas}
\date{ Wed Jul 10 15:07:16 CEST 2019 }

\maketitle

% Do not delete next line
% START CACTUS THORNGUIDE

\ifx\ThisThorn\undefined
\newcommand{\ThisThorn}{{\it CMake}}
\else
\renewcommand{\ThisThorn}{{\it CMake}}
\fi

\begin{abstract}
Thorn \ThisThorn\ provides access to the CMake configuration tool.
\end{abstract}

\section{Using This Thorn}
\subsection{Interaction With Other Thorns}
The main product of this thorn is the \texttt{cmake} executable placed in its
\texttt{bin} directory.

Since \texttt{Cactus} does not provide a way to \textit{ExternalLibraries} to
modify the search path in \verb|$PATH|, client thorns need to directly refer
to \verb|${CMAKE_DIR}/bin/cmake| to use \texttt{cmake}. When making the
dependence on this thorn \verb|OPTIONAL| a construct like

\begin{verbatim}
${CMAKE_DIR:+${CMAKE_DIR}/bin/}cmake $PWD
\end{verbatim}

may be used.

\subsection{Examples}

A typical usage example (for the \textit{ADIOS2} thorn) may look like this.

In \texttt{configuration.ccl} have:

\begin{verbatim}
OPTIONAL CMake
{
}
\end{verbatim}

In \texttt{make.code.deps} have:

\begin{verbatim}
export CMAKE_DIR
\end{verbatim}

In \texttt{build.sh} have:

\begin{verbatim}
${CMAKE_DIR:+${CMAKE_DIR}/bin/}cmake -DCMAKE_BUILD_TYPE=${ADIOS2_BUILD_TYPE} ..
\end{verbatim}

% Do not delete next line
% END CACTUS THORNGUIDE



\section{Parameters} 


\parskip = 0pt
\parskip = 10pt 

\section{Interfaces} 


\parskip = 0pt

\vspace{3mm} \subsection*{General}

\noindent {\bf Implements}: 

cmake
\vspace{2mm}

\vspace{5mm}\parskip = 10pt 

\section{Schedule} 


\parskip = 0pt


\noindent This section lists all the variables which are assigned storage by thorn ExternalLibraries/CMake.  Storage can either last for the duration of the run ({\bf Always} means that if this thorn is activated storage will be assigned, {\bf Conditional} means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.


\subsection*{Storage}NONE

\vspace{5mm}\parskip = 10pt 
\end{document}
