.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH CMAKE 1 "August 8, 2002"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
cmake \- Cross-platform Makefile generator.
.SH SYNOPSIS
.B cmake
.RI < path-to-source > " " [ options ]
.br
.B ccmake
.RI < path-to-source >
.br
.B ctest
.RI [ -R " " < regex > ]
.br
.B cmaketest
.RI < test-src-dir > " " < test-bin-dir > " " < test-executable >
.SH DESCRIPTION

This manual page documents briefly the \fBcmake\fP, \fBccmake\fP,
\fBctest\fP and \fBcmaketest\fP commands.  It is not intended to aid
authors of CMakeLists.txt files or to describe all advanced options
available.  For full documentation, please visit
\fBhttp://www.cmake.org\fP.

.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
.\" respectively.

CMake provides developers with a means of building their project on
multiple platforms while writing only one build system configuration.
The developer writes a set of CMakeLists.txt files that are read by
CMake and used to generate a native build system for the current
environment.  On unix platforms, Makefiles are generated.

.PP

\fBcmake\fP is used to generate the makefiles for a project from its
source.  The first argument should specify a path to the source tree.
The current directory will be used as the build tree for the project.
Both in-source and out-of-source builds are supported, but
out-of-source builds are preferred.  CMake provides functionality for
tailoring the build to user preferences through settings in the cmake
cache.  Options may be set interactively using the -i option (or
\fBccmake\fP).  Once CMake has generated the makefiles in the build
tree, one may use the standard \fBmake\fP tool to build the project.

.PP

\fBccmake\fP provides a curses interface front-end for \fBcmake\fP.
The interface allows users to interactively configure the build
options stored in the cmake cache.  This is the preferred interface
for interactive builds.  Build scripts should use \fBcmake\fP
directly.

.PP

\fBctest\fP runs tests found in the project's build tree after it has
been compiled and displays a summary of test results.  Use the -R
option to specify a regular expression of test names to match.

\fBcmaketest\fP is provided to simplify project testing scripts.  It
allows a CMake project to be compiled and tested from a single command
line.

.SH OPTIONS

.TP
.B \-\-help
Available for \fBcmake\fP , \fBccmake\fP and \fBcmaketest\fP.
.br
Show version number and summary of options.

.TP
.B -R regex
Available for \fBctest\fP.
.br
Run only tests matching the given regular expression.

.TP
.B -i
Available for \fBcmake\fP.
.br
Run cmake in an interactive wizard mode to configure the build.

.SH SEE ALSO
.BR Dart (1),
.BR VTK (1).

.SH MAILING LIST
For help using cmake, a mailing list is provided at
\fBcmake@www.cmake.org\fP.  Please first read the full documentation
at \fBhttp://www.cmake.org\fP before posting questions to the list.

.SH AUTHOR
This manual page was written by CMake authors at Kitware
<kitware@kitware.com>.
