Variables that Control the Build
CMAKE_<CONFIG>_POSTFIX
CMAKE_ARCHIVE_OUTPUT_DIRECTORY
CMAKE_AUTOMOC
CMAKE_AUTOMOC_MOC_OPTIONS
CMAKE_BUILD_WITH_INSTALL_RPATH
CMAKE_DEBUG_POSTFIX
CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS_[CMAKE_BUILD_TYPE]
CMAKE_Fortran_FORMAT
CMAKE_Fortran_MODULE_DIRECTORY
CMAKE_GNUtoMS
CMAKE_INCLUDE_CURRENT_DIR
CMAKE_INSTALL_NAME_DIR
CMAKE_INSTALL_RPATH
CMAKE_INSTALL_RPATH_USE_LINK_PATH
CMAKE_LIBRARY_OUTPUT_DIRECTORY
CMAKE_LIBRARY_PATH_FLAG
CMAKE_LINK_DEF_FILE_FLAG
CMAKE_LINK_INTERFACE_LIBRARIES
CMAKE_LINK_LIBRARY_FILE_FLAG
CMAKE_LINK_LIBRARY_FLAG
CMAKE_MACOSX_BUNDLE
CMAKE_NO_BUILTIN_CHRPATH
CMAKE_POSITION_INDEPENDENT_FLAGS
CMAKE_RUNTIME_OUTPUT_DIRECTORY
CMAKE_SKIP_BUILD_RPATH
CMAKE_SKIP_INSTALL_RPATH
CMAKE_TRY_COMPILE_CONFIGURATION
CMAKE_USE_RELATIVE_PATHS
CMAKE_WIN32_EXECUTABLE
EXECUTABLE_OUTPUT_PATH
LIBRARY_OUTPUT_PATH

CMAKE_<CONFIG>_POSTFIX
Default filename postfix for libraries under configuration <CONFIG>.
When a non-executable target is created its <CONFIG>_POSTFIX target property is initialized with the value of this variable if it is set.

CMAKE_ARCHIVE_OUTPUT_DIRECTORY
Where to put all the ARCHIVE targets when built.
This variable is used to initialize the ARCHIVE_OUTPUT_DIRECTORY property on all the targets. See that target property for additional information.

CMAKE_AUTOMOC
Whether to handle moc automatically for Qt targets.
This variable is used to initialize the AUTOMOC property on all the targets. See that target property for additional information.

CMAKE_AUTOMOC_MOC_OPTIONS
Additional options for moc when using automoc (see CMAKE_AUTOMOC).
This variable is used to initialize the AUTOMOC_MOC_OPTIONS property on all the targets. See that target property for additional information.

CMAKE_BUILD_WITH_INSTALL_RPATH
Use the install path for the RPATH
Normally CMake uses the build tree for the RPATH when building executables etc on systems that use RPATH. When the software is installed the executables etc are relinked by CMake to have the install RPATH. If this variable is set to true then the software is always built with the install path for the RPATH and does not need to be relinked when installed.

CMAKE_DEBUG_POSTFIX
See variable CMAKE_<CONFIG>_POSTFIX.
This variable is a special case of the more-general CMAKE_<CONFIG>_POSTFIX variable for the DEBUG configuration.

CMAKE_EXE_LINKER_FLAGS
Linker flags used to create executables.
Flags used by the linker when creating an executable.

CMAKE_EXE_LINKER_FLAGS_[CMAKE_BUILD_TYPE]
Flag used when linking an executable.
Same as CMAKE_C_FLAGS_* but used by the linker when creating executables.

CMAKE_Fortran_FORMAT
Set to FIXED or FREE to indicate the Fortran source layout.
This variable is used to initialize the Fortran_FORMAT property on all the targets. See that target property for additional information.

CMAKE_Fortran_MODULE_DIRECTORY
Fortran module output directory.
This variable is used to initialize the Fortran_MODULE_DIRECTORY property on all the targets. See that target property for additional information.

CMAKE_GNUtoMS
Convert GNU import libraries (.dll.a) to MS format (.lib).
This variable is used to initialize the GNUtoMS property on targets when they are created. See that target property for additional information.

CMAKE_INCLUDE_CURRENT_DIR
Automatically add the current source- and build directories to the include path.
If this variable is enabled, CMake automatically adds in each directory ${CMAKE_CURRENT_SOURCE_DIR} and ${CMAKE_CURRENT_BINARY_DIR} to the include path for this directory. These additional include directories do not propagate down to subdirectories. This is useful mainly for out-of-source builds, where files generated into the build tree are included by files located in the source tree.
By default CMAKE_INCLUDE_CURRENT_DIR is OFF.

CMAKE_INSTALL_NAME_DIR
Mac OSX directory name for installed targets.
CMAKE_INSTALL_NAME_DIR is used to initialize the INSTALL_NAME_DIR property on all targets. See that target property for more information.

CMAKE_INSTALL_RPATH
The rpath to use for installed targets.
A semicolon-separated list specifying the rpath to use in installed targets (for platforms that support it). This is used to initialize the target property INSTALL_RPATH for all targets.

CMAKE_INSTALL_RPATH_USE_LINK_PATH
Add paths to linker search and installed rpath.
CMAKE_INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to true will append directories in the linker search path and outside the project to the INSTALL_RPATH. This is used to initialize the target property INSTALL_RPATH_USE_LINK_PATH for all targets.

CMAKE_LIBRARY_OUTPUT_DIRECTORY
Where to put all the LIBRARY targets when built.
This variable is used to initialize the LIBRARY_OUTPUT_DIRECTORY property on all the targets. See that target property for additional information.

CMAKE_LIBRARY_PATH_FLAG
The flag used to add a library search path to a compiler.
The flag used to specify a library directory to the compiler. On most compilers this is "-L".

CMAKE_LINK_DEF_FILE_FLAG
Linker flag used to specify a .def file for dll creation.
The flag used to add a .def file when creating a dll on Windows, this is only defined on Windows.

CMAKE_LINK_INTERFACE_LIBRARIES
Default value for LINK_INTERFACE_LIBRARIES of targets.
This variable is used to initialize the LINK_INTERFACE_LIBRARIES property on all the targets. See that target property for additional information.

CMAKE_LINK_LIBRARY_FILE_FLAG
Flag used to link a library specified by a path to its file.
The flag used before a library file path is given to the linker. This is needed only on very few platforms.

CMAKE_LINK_LIBRARY_FLAG
Flag used to link a library into an executable.
The flag used to specify a library to link to an executable. On most compilers this is "-l".

CMAKE_MACOSX_BUNDLE
Default value for MACOSX_BUNDLE of targets.
This variable is used to initialize the MACOSX_BUNDLE property on all the targets. See that target property for additional information.

CMAKE_NO_BUILTIN_CHRPATH
Do not use the builtin ELF editor to fix RPATHs on installation.
When an ELF binary needs to have a different RPATH after installation than it does in the build tree, CMake uses a builtin editor to change the RPATH in the installed copy. If this variable is set to true then CMake will relink the binary before installation instead of using its builtin editor.

CMAKE_POSITION_INDEPENDENT_FLAGS
Default value for POSITION_INDEPENDENT_CODE of targets.
This variable is used to initialize the POSITION_INDEPENDENT_CODE property on all the targets. See that target property for additional information.

CMAKE_RUNTIME_OUTPUT_DIRECTORY
Where to put all the RUNTIME targets when built.
This variable is used to initialize the RUNTIME_OUTPUT_DIRECTORY property on all the targets. See that target property for additional information.

CMAKE_SKIP_BUILD_RPATH
Do not include RPATHs in the build tree.
Normally CMake uses the build tree for the RPATH when building executables etc on systems that use RPATH. When the software is installed the executables etc are relinked by CMake to have the install RPATH. If this variable is set to true then the software is always built with no RPATH.

CMAKE_SKIP_INSTALL_RPATH
Do not include RPATHs in the install tree.
Normally CMake uses the build tree for the RPATH when building executables etc on systems that use RPATH. When the software is installed the executables etc are relinked by CMake to have the install RPATH. If this variable is set to true then the software is always installed without RPATH, even if RPATH is enabled when building. This can be useful for example to allow running tests from the build directory with RPATH enabled before the installation step. To omit RPATH in both the build and install steps, use CMAKE_SKIP_RPATH instead.

CMAKE_TRY_COMPILE_CONFIGURATION
Build configuration used for try_compile and try_run projects.
Projects built by try_compile and try_run are built synchronously during the CMake configuration step. Therefore a specific build configuration must be chosen even if the generated build system supports multiple configurations.

CMAKE_USE_RELATIVE_PATHS
Use relative paths (May not work!).
If this is set to TRUE, then the CMake will use relative paths between the source and binary tree. This option does not work for more complicated projects, and relative paths are used when possible. In general, it is not possible to move CMake generated makefiles to a different location regardless of the value of this variable.

CMAKE_WIN32_EXECUTABLE
Default value for WIN32_EXECUTABLE of targets.
This variable is used to initialize the WIN32_EXECUTABLE property on all the targets. See that target property for additional information.

EXECUTABLE_OUTPUT_PATH
Old executable location variable.
The target property RUNTIME_OUTPUT_DIRECTORY supercedes this variable for a target if it is set. Executable targets are otherwise placed in this directory.

LIBRARY_OUTPUT_PATH
Old library location variable.
The target properties ARCHIVE_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_DIRECTORY, and RUNTIME_OUTPUT_DIRECTORY supercede this variable for a target if they are set. Library targets are otherwise placed in this directory.

Variables that Provide Information
CMAKE_AR
CMAKE_ARGC
CMAKE_ARGV0
CMAKE_BINARY_DIR
CMAKE_BUILD_TOOL
CMAKE_CACHEFILE_DIR
CMAKE_CACHE_MAJOR_VERSION
CMAKE_CACHE_MINOR_VERSION
CMAKE_CACHE_PATCH_VERSION
CMAKE_CFG_INTDIR
CMAKE_COMMAND
CMAKE_CROSSCOMPILING
CMAKE_CTEST_COMMAND
CMAKE_CURRENT_BINARY_DIR
CMAKE_CURRENT_LIST_DIR
CMAKE_CURRENT_LIST_FILE
CMAKE_CURRENT_LIST_LINE
CMAKE_CURRENT_SOURCE_DIR
CMAKE_DL_LIBS
CMAKE_EDIT_COMMAND
CMAKE_EXECUTABLE_SUFFIX
CMAKE_EXTRA_GENERATOR
CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
CMAKE_GENERATOR
CMAKE_HOME_DIRECTORY
CMAKE_IMPORT_LIBRARY_PREFIX
CMAKE_IMPORT_LIBRARY_SUFFIX
CMAKE_LINK_LIBRARY_SUFFIX
CMAKE_MAJOR_VERSION
CMAKE_MAKE_PROGRAM
CMAKE_MINOR_VERSION
CMAKE_PARENT_LIST_FILE
CMAKE_PATCH_VERSION
CMAKE_PROJECT_NAME
CMAKE_RANLIB
CMAKE_ROOT
CMAKE_SCRIPT_MODE_FILE
CMAKE_SHARED_LIBRARY_PREFIX
CMAKE_SHARED_LIBRARY_SUFFIX
CMAKE_SHARED_MODULE_PREFIX
CMAKE_SHARED_MODULE_SUFFIX
CMAKE_SIZEOF_VOID_P
CMAKE_SKIP_RPATH
CMAKE_SOURCE_DIR
CMAKE_STANDARD_LIBRARIES
CMAKE_STATIC_LIBRARY_PREFIX
CMAKE_STATIC_LIBRARY_SUFFIX
CMAKE_TWEAK_VERSION
CMAKE_USING_VC_FREE_TOOLS
CMAKE_VERBOSE_MAKEFILE
CMAKE_VERSION
PROJECT_BINARY_DIR
PROJECT_NAME
PROJECT_SOURCE_DIR
[Project name]_BINARY_DIR
[Project name]_SOURCE_DIR

CMAKE_AR
Name of archiving tool for static libraries.
This specifies name of the program that creates archive or static libraries.

CMAKE_ARGC
Number of command line arguments passed to CMake in script mode.
When run in -P script mode, CMake sets this variable to the number of command line arguments. See also CMAKE_ARGV0, 1, 2 ...

CMAKE_ARGV0
Command line argument passed to CMake in script mode.
When run in -P script mode, CMake sets this variable to the first command line argument. It then also sets CMAKE_ARGV1, CMAKE_ARGV2, ... and so on, up to the number of command line arguments given. See also CMAKE_ARGC.

CMAKE_BINARY_DIR
The path to the top level of the build tree.
This is the full path to the top level of the current CMake build tree. For an in-source build, this would be the same as CMAKE_SOURCE_DIR.

CMAKE_BUILD_TOOL
Tool used for the actual build process.
This variable is set to the program that will be needed to build the output of CMake. If the generator selected was Visual Studio 6, the CMAKE_BUILD_TOOL will be set to msdev, for Unix makefiles it will be set to make or gmake, and for Visual Studio 7 it set to devenv. For Nmake Makefiles the value is nmake. This can be useful for adding special flags and commands based on the final build environment.

CMAKE_CACHEFILE_DIR
The directory with the CMakeCache.txt file.
This is the full path to the directory that has the CMakeCache.txt file in it. This is the same as CMAKE_BINARY_DIR.

CMAKE_CACHE_MAJOR_VERSION
Major version of CMake used to create the CMakeCache.txt file
This is stores the major version of CMake used to write a CMake cache file. It is only different when a different version of CMake is run on a previously created cache file.

CMAKE_CACHE_MINOR_VERSION
Minor version of CMake used to create the CMakeCache.txt file
This is stores the minor version of CMake used to write a CMake cache file. It is only different when a different version of CMake is run on a previously created cache file.

CMAKE_CACHE_PATCH_VERSION
Patch version of CMake used to create the CMakeCache.txt file
This is stores the patch version of CMake used to write a CMake cache file. It is only different when a different version of CMake is run on a previously created cache file.

CMAKE_CFG_INTDIR
Build-time reference to per-configuration output subdirectory.
For native build systems supporting multiple configurations in the build tree (such as Visual Studio and Xcode), the value is a reference to a build-time variable specifying the name of the per-configuration output subdirectory. On Makefile generators this evaluates to "." because there is only one configuration in a build tree. Example values:

  $(IntDir)        = Visual Studio 6
  $(OutDir)        = Visual Studio 7, 8, 9
  $(Configuration) = Visual Studio 10
  $(CONFIGURATION) = Xcode
  .                = Make-based tools

Since these values are evaluated by the native build system, this variable is suitable only for use in command lines that will be evaluated at build time. Example of intended usage:

  add_executable(mytool mytool.c)
  add_custom_command(
    OUTPUT out.txt
    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
            ${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
    DEPENDS mytool in.txt
    )
  add_custom_target(drive ALL DEPENDS out.txt)

Note that CMAKE_CFG_INTDIR is no longer necessary for this purpose but has been left for compatibility with existing projects. Instead add_custom_command() recognizes executable target names in its COMMAND option, so "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool" can be replaced by just "mytool".
This variable is read-only. Setting it is undefined behavior. In multi-configuration build systems the value of this variable is passed as the value of preprocessor symbol "CMAKE_INTDIR" to the compilation of all source files.

CMAKE_COMMAND
The full path to the cmake executable.
This is the full path to the CMake executable cmake which is useful from custom commands that want to use the cmake -E option for portable system commands. (e.g. /usr/local/bin/cmake

CMAKE_CROSSCOMPILING
Is CMake currently cross compiling.
This variable will be set to true by CMake if CMake is cross compiling. Specifically if the build platform is different from the target platform.

CMAKE_CTEST_COMMAND
Full path to ctest command installed with cmake.
This is the full path to the CTest executable ctest which is useful from custom commands that want to use the cmake -E option for portable system commands.

CMAKE_CURRENT_BINARY_DIR
The path to the binary directory currently being processed.
This the full path to the build directory that is currently being processed by cmake. Each directory added by add_subdirectory will create a binary directory in the build tree, and as it is being processed this variable will be set. For in-source builds this is the current source directory being processed.

CMAKE_CURRENT_LIST_DIR
Full directory of the listfile currently being processed.
As CMake processes the listfiles in your project this variable will always be set to the directory where the listfile which is currently being processed (CMAKE_CURRENT_LIST_FILE) is located. The value has dynamic scope. When CMake starts processing commands in a source file it sets this variable to the directory where this file is located. When CMake finishes processing commands from the file it restores the previous value. Therefore the value of the variable inside a macro or function is the directory of the file invoking the bottom-most entry on the call stack, not the directory of the file containing the macro or function definition.
See also CMAKE_CURRENT_LIST_FILE.

CMAKE_CURRENT_LIST_FILE
Full path to the listfile currently being processed.
As CMake processes the listfiles in your project this variable will always be set to the one currently being processed. The value has dynamic scope. When CMake starts processing commands in a source file it sets this variable to the location of the file. When CMake finishes processing commands from the file it restores the previous value. Therefore the value of the variable inside a macro or function is the file invoking the bottom-most entry on the call stack, not the file containing the macro or function definition.
See also CMAKE_PARENT_LIST_FILE.

CMAKE_CURRENT_LIST_LINE
The line number of the current file being processed.
This is the line number of the file currently being processed by cmake.

CMAKE_CURRENT_SOURCE_DIR
The path to the source directory currently being processed.
This the full path to the source directory that is currently being processed by cmake.

CMAKE_DL_LIBS
Name of library containing dlopen and dlcose.
The name of the library that has dlopen and dlclose in it, usually -ldl on most UNIX machines.

CMAKE_EDIT_COMMAND
Full path to cmake-gui or ccmake.
This is the full path to the CMake executable that can graphically edit the cache. For example, cmake-gui, ccmake, or cmake -i.

CMAKE_EXECUTABLE_SUFFIX
The suffix for executables on this platform.
The suffix to use for the end of an executable if any, .exe on Windows.
CMAKE_EXECUTABLE_SUFFIX_<LANG> overrides this for language <LANG>.

CMAKE_EXTRA_GENERATOR
The extra generator used to build the project.
When using the Eclipse, CodeBlocks or KDevelop generators, CMake generates Makefiles (CMAKE_GENERATOR) and additionally project files for the respective IDE. This IDE project file generator is stored in CMAKE_EXTRA_GENERATOR (e.g. "Eclipse CDT4").

CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
Additional suffixes for shared libraries.
Extensions for shared libraries other than that specified by CMAKE_SHARED_LIBRARY_SUFFIX, if any. CMake uses this to recognize external shared library files during analysis of libraries linked by a target.

CMAKE_GENERATOR
The generator used to build the project.
The name of the generator that is being used to generate the build files. (e.g. "Unix Makefiles", "Visual Studio 6", etc.)

CMAKE_HOME_DIRECTORY
Path to top of source tree.
This is the path to the top level of the source tree.

CMAKE_IMPORT_LIBRARY_PREFIX
The prefix for import libraries that you link to.
The prefix to use for the name of an import library if used on this platform.
CMAKE_IMPORT_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.

CMAKE_IMPORT_LIBRARY_SUFFIX
The suffix for import libraries that you link to.
The suffix to use for the end of an import library if used on this platform.
CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.

CMAKE_LINK_LIBRARY_SUFFIX
The suffix for libraries that you link to.
The suffix to use for the end of a library, .lib on Windows.

CMAKE_MAJOR_VERSION
The Major version of cmake (i.e. the 2 in 2.X.X)
This specifies the major version of the CMake executable being run.

CMAKE_MAKE_PROGRAM
See CMAKE_BUILD_TOOL.
This variable is around for backwards compatibility, see CMAKE_BUILD_TOOL.

CMAKE_MINOR_VERSION
The Minor version of cmake (i.e. the 4 in X.4.X).
This specifies the minor version of the CMake executable being run.

CMAKE_PARENT_LIST_FILE
Full path to the parent listfile of the one currently being processed.
As CMake processes the listfiles in your project this variable will always be set to the listfile that included or somehow invoked the one currently being processed. See also CMAKE_CURRENT_LIST_FILE.

CMAKE_PATCH_VERSION
The patch version of cmake (i.e. the 3 in X.X.3).
This specifies the patch version of the CMake executable being run.

CMAKE_PROJECT_NAME
The name of the current project.
This specifies name of the current project from the closest inherited PROJECT command.

CMAKE_RANLIB
Name of randomizing tool for static libraries.
This specifies name of the program that randomizes libraries on UNIX, not used on Windows, but may be present.

CMAKE_ROOT
Install directory for running cmake.
This is the install root for the running CMake and the Modules directory can be found here. This is commonly used in this format: ${CMAKE_ROOT}/Modules

CMAKE_SCRIPT_MODE_FILE
Full path to the -P script file currently being processed.
When run in -P script mode, CMake sets this variable to the full path of the script file. When run to configure a CMakeLists.txt file, this variable is not set.

CMAKE_SHARED_LIBRARY_PREFIX
The prefix for shared libraries that you link to.
The prefix to use for the name of a shared library, lib on UNIX.
CMAKE_SHARED_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.

CMAKE_SHARED_LIBRARY_SUFFIX
The suffix for shared libraries that you link to.
The suffix to use for the end of a shared library, .dll on Windows.
CMAKE_SHARED_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.

CMAKE_SHARED_MODULE_PREFIX
The prefix for loadable modules that you link to.
The prefix to use for the name of a loadable module on this platform.
CMAKE_SHARED_MODULE_PREFIX_<LANG> overrides this for language <LANG>.

CMAKE_SHARED_MODULE_SUFFIX
The suffix for shared libraries that you link to.
The suffix to use for the end of a loadable module on this platform
CMAKE_SHARED_MODULE_SUFFIX_<LANG> overrides this for language <LANG>.

CMAKE_SIZEOF_VOID_P
Size of a void pointer.
This is set to the size of a pointer on the machine, and is determined by a try compile. If a 64 bit size is found, then the library search path is modified to look for 64 bit libraries first.

CMAKE_SKIP_RPATH
If true, do not add run time path information.
If this is set to TRUE, then the rpath information is not added to compiled executables. The default is to add rpath information if the platform supports it. This allows for easy running from the build tree. To omit RPATH in the install step, but not the build step, use CMAKE_SKIP_INSTALL_RPATH instead.

CMAKE_SOURCE_DIR
The path to the top level of the source tree.
This is the full path to the top level of the current CMake source tree. For an in-source build, this would be the same as CMAKE_BINARY_DIR.

CMAKE_STANDARD_LIBRARIES
Libraries linked into every executable and shared library.
This is the list of libraries that are linked into all executables and libraries.

CMAKE_STATIC_LIBRARY_PREFIX
The prefix for static libraries that you link to.
The prefix to use for the name of a static library, lib on UNIX.
CMAKE_STATIC_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.

CMAKE_STATIC_LIBRARY_SUFFIX
The suffix for static libraries that you link to.
The suffix to use for the end of a static library, .lib on Windows.
CMAKE_STATIC_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.

CMAKE_TWEAK_VERSION
The tweak version of cmake (i.e. the 1 in X.X.X.1).
This specifies the tweak version of the CMake executable being run. Releases use tweak < 20000000 and development versions use the date format CCYYMMDD for the tweak level.

CMAKE_USING_VC_FREE_TOOLS
True if free visual studio tools being used.
This is set to true if the compiler is Visual Studio free tools.

CMAKE_VERBOSE_MAKEFILE
Create verbose makefiles if on.
This variable defaults to false. You can set this variable to true to make CMake produce verbose makefiles that show each command line as it is used.

CMAKE_VERSION
The full version of cmake in major.minor.patch[.tweak[-id]] format.
This specifies the full version of the CMake executable being run. This variable is defined by versions 2.6.3 and higher. See variables CMAKE_MAJOR_VERSION, CMAKE_MINOR_VERSION, CMAKE_PATCH_VERSION, and CMAKE_TWEAK_VERSION for individual version components. The [-id] component appears in non-release versions and may be arbitrary text.

PROJECT_BINARY_DIR
Full path to build directory for project.
This is the binary directory of the most recent PROJECT command.

PROJECT_NAME
Name of the project given to the project command.
This is the name given to the most recent PROJECT command.

PROJECT_SOURCE_DIR
Top level source directory for the current project.
This is the source directory of the most recent PROJECT command.

[Project name]_BINARY_DIR
Top level binary directory for the named project.
A variable is created with the name used in the PROJECT command, and is the binary directory for the project. This can be useful when SUBDIR is used to connect several projects.

[Project name]_SOURCE_DIR
Top level source directory for the named project.
A variable is created with the name used in the PROJECT command, and is the source directory for the project. This can be useful when add_subdirectory is used to connect several projects.

Copyright
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the names of Kitware, Inc., the Insight Software Consortium, nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

See Also
Home Page
Frequently Asked Questions
Online Documentation
Mailing List
The following resources are available to get help using CMake:

Home Page
The primary starting point for learning about CMake.

Frequently Asked Questions
A Wiki is provided containing answers to frequently asked questions.

Online Documentation
Links to available documentation may be found on this web page.

Mailing List
For help and discussion about using cmake, a mailing list is provided at cmake@cmake.org. The list is member-post-only but one may sign up on the CMake web page. Please first read the full documentation at before posting questions to the list.
Summary of helpful links:

  Home: 
  Docs: 
  Mail: 
  FAQ: