Alexander Neundorf 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
..
Platform 8e3bb08b81 ENH: Enabling link type selection flags for this platform. See bug#1644 for details. пре 19 година
AddFileDependencies.cmake a980fdc96a BUG: don't include MacroLibrary.cmake, but add a cmake module which implements ADD_FILE_DEPENDENCIES() пре 20 година
CMake.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeAddNewLanguage.txt 8be3e4eeca ENH: clean up EnableLanguage try to fix problem where try compile runs cmake пре 20 година
CMakeBackwardCompatibilityC.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeBackwardCompatibilityCXX.cmake 9891260a6d ENH: add support for watcom wmake and wcl386 пре 20 година
CMakeBorlandFindMake.cmake e2d1104881 determine CMAKE_MAKE_PROGRAM in EnableLanguage пре 23 година
CMakeBuildSettings.cmake.in ee72d5740b ENH: Adding CMAKE_EXPORT_BUILD_SETTINGS and CMAKE_IMPORT_BUILD_SETTINGS macro. пре 23 година
CMakeCCompiler.cmake.in aa98e3647d ENH: fix more than one argument passed in to compilers via environment пре 20 година
CMakeCInformation.cmake 08289893b8 ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway. пре 20 година
CMakeCXXCompiler.cmake.in b78d936ecf BUG: Need to duplicate some information from CMakeCCompiler to support C++-only projects. пре 20 година
CMakeCXXInformation.cmake 1d0502927c ENH: Adding support to link specifically to an archive or a shared library based on the file name specified. This fixes the problem of having -lfoo linking to libfoo.so even when it came from libfoo.a being specified. пре 19 година
CMakeCommonLanguageInclude.cmake 45d85c2e34 BUG: fix for 3550 again пре 19 година
CMakeConfigurableFile.in 01a55559dd ENH: Make modules use configure instead of file write пре 20 година
CMakeDetermineCCompiler.cmake 7001a88a74 BUG: Search for the compiler only once and store a full path to it in the cache. This avoids problems with the case of locations in the PATH variable on Windows that change the compiler name when CMake is re-run. CMakeFiles/CMake*Compiler.cmake files should hold the full path to the compiler always. пре 19 година
CMakeDetermineCXXCompiler.cmake 7001a88a74 BUG: Search for the compiler only once and store a full path to it in the cache. This avoids problems with the case of locations in the PATH variable on Windows that change the compiler name when CMake is re-run. CMakeFiles/CMake*Compiler.cmake files should hold the full path to the compiler always. пре 19 година
CMakeDetermineFortranCompiler.cmake 7001a88a74 BUG: Search for the compiler only once and store a full path to it in the cache. This avoids problems with the case of locations in the PATH variable on Windows that change the compiler name when CMake is re-run. CMakeFiles/CMake*Compiler.cmake files should hold the full path to the compiler always. пре 19 година
CMakeDetermineJavaCompiler.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CMakeDetermineRCCompiler.cmake 8ffb32369f BUG: Need to search for rc by default, not c++ compilers. пре 19 година
CMakeDetermineSystem.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CMakeExportBuildSettings.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
CMakeFindFrameworks.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeFindWMake.cmake 9891260a6d ENH: add support for watcom wmake and wcl386 пре 20 година
CMakeFindXCode.cmake 8960a220a9 ENH: add trycompile code for xcode пре 21 година
CMakeFortranCompiler.cmake.in 1cf4d146fc ENH: Merge debian changes. Support more fortran extensions пре 19 година
CMakeFortranInformation.cmake 429571bd1f STYLE: Removing unused platform variable CMAKE_SHARED_MODULE_LINK_Fortran_FLAGS. It does not make sense because nothing links to shared modules. пре 19 година
CMakeGenericSystem.cmake 81b778c074 ENH: Adding advanced option CMAKE_COLOR_MAKEFILE for makefile generators with default ON. пре 19 година
CMakeImportBuildSettings.cmake 2523629f4b ENH: fix for case difference with nmake пре 19 година
CMakeJavaCompiler.cmake.in b8b298104b ENH: make sure flags set in CC or CXX environment variables stay with the compiler пре 20 година
CMakeJavaInformation.cmake 5ecfd3d4d3 ENH: fix java and add OBJECT_DIR support пре 20 година
CMakeLists.txt a6bd324605 ENH: Installing readme.txt in Modules directory to be consistent with windows. пре 22 година
CMakeMSYSFindMake.cmake 5042581f43 ENH: better algorithm for looking for make and gcc on msys and mingw пре 20 година
CMakeMinGWFindMake.cmake 5042581f43 ENH: better algorithm for looking for make and gcc on msys and mingw пре 20 година
CMakeNMakeFindMake.cmake e2d1104881 determine CMAKE_MAKE_PROGRAM in EnableLanguage пре 23 година
CMakePrintSystemInformation.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeRCCompiler.cmake.in b8b298104b ENH: make sure flags set in CC or CXX environment variables stay with the compiler пре 20 година
CMakeRCInformation.cmake 718de4cea5 ENH: fix spelling errors пре 20 година
CMakeSystem.cmake.in 3021918293 ENH: add CMAKE_SYSTEM_PROCESSOR пре 22 година
CMakeSystemSpecificInformation.cmake 1d0502927c ENH: Adding support to link specifically to an archive or a shared library based on the file name specified. This fixes the problem of having -lfoo linking to libfoo.so even when it came from libfoo.a being specified. пре 19 година
CMakeTestCCompiler.cmake e49b93989d COMP: More warnings and hp issues пре 19 година
CMakeTestCXXCompiler.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CMakeTestForFreeVC.cxx 0d4cd0436b ENH better test for free VC tools пре 21 година
CMakeTestFortranCompiler.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CMakeTestGNU.c 6b31e5c851 BUG: fix problem where cmake thinks the intel compiler is gnu пре 22 година
CMakeTestJavaCompiler.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeTestNMakeCLVersion.c dfcd4f2154 added test for whether pdbtype should be used for nmake пре 22 година
CMakeTestRCCompiler.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeUnixFindMake.cmake 9992fe5103 BUG: Removed stray debugging message. пре 23 година
CMakeVCManifest.cmake 276e7e21a3 ENH: Adding flags to force generation of manifest files when building with VC 8. пре 19 година
CMakeVS6BackwardCompatibility.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeVS6FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators пре 20 година
CMakeVS71FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators пре 20 година
CMakeVS7BackwardCompatibility.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
CMakeVS7FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators пре 20 година
CMakeVS8FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators пре 20 година
COPYING-CMAKE-SCRIPTS 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
CPack.Description.plist.in 5358809a5c ENH: More CPack stuff and fix zlib compression пре 20 година
CPack.Info.plist.in a460c60843 ENH: Add verbose flag to package maker and add CFBundleIdentifier string пре 20 година
CPack.STGZ_Header.sh.in 96d4a89228 ENH: Better output пре 20 година
CPack.cmake e36ae0fcb8 ENH: Several cleanups and support for multiple generators пре 19 година
CTest.cmake e026f620f8 BUG: fix typo пре 19 година
CTestTargets.cmake e26c160698 ENH: Initial import пре 20 година
CheckCCompilerFlag.cmake 86c63dca11 ENH: two macros to check whether the C/CXX compiler supports a given flag: пре 19 година
CheckCSourceCompiles.cmake d454231a0a STYLE: fix #3519 (incorrect comment) пре 19 година
CheckCSourceRuns.cmake 8b9d44d512 ENH: fixs for check compile stuff from Oswald B. пре 19 година
CheckCXXCompilerFlag.cmake 86c63dca11 ENH: two macros to check whether the C/CXX compiler supports a given flag: пре 19 година
CheckCXXSourceCompiles.cmake d454231a0a STYLE: fix #3519 (incorrect comment) пре 19 година
CheckCXXSourceRuns.cmake 8b9d44d512 ENH: fixs for check compile stuff from Oswald B. пре 19 година
CheckForPthreads.c fad91fb770 ENH: fix tests for non-ansi c on hp and remove warnings for ansi c пре 22 година
CheckFunctionExists.c fad91fb770 ENH: fix tests for non-ansi c on hp and remove warnings for ansi c пре 22 година
CheckFunctionExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CheckIncludeFile.c.in 095e975c81 BUG: Fix signature of main to work on both strict ANSI and non-ANSI C compilers. пре 19 година
CheckIncludeFile.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CheckIncludeFile.cxx.in f5d95fb078 Complete rework of makefile generators expect trouble пре 23 година
CheckIncludeFileCXX.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CheckIncludeFiles.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CheckLibraryExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CheckLibraryExists.lists.in 3697ad6dc7 Initial attempt to check if library exists пре 23 година
CheckSizeOf.cmake ea1467d056 ENH: Renamed Modules/CheckSizeOf to Modules/CheckTypeSize for consistency with the macro name that is defined by the module. пре 23 година
CheckSymbolExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CheckTypeSize.c.in 96f948adf5 ENH: fix checktypesize пре 20 година
CheckTypeSize.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
CheckVariableExists.c a8b2400f7b BUG#502: Do not let optimizing compilers think the symbol exists. Require the symbol by making the return value depend on it to force linking. пре 22 година
CheckVariableExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
Dart.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
DartConfiguration.tcl.in 1ca05e219a ENH: Reorganize and add subversion support пре 21 година
Documentation.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
DummyCXXFile.cxx 9a6c95fcea add checks for ansi flags and not hard code them пре 23 година
FindASPELL.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
FindAVIFile.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindBZip2.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
FindBoost.cmake ef6cf109ed ENH: Adding FindBoost.cmake module from Andrew Maclean. This addresses bug#3447. пре 19 година
FindCABLE.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindCurses.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindCygwin.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindDCMTK.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindDart.cmake 7603244509 ENH: use program files env for searching пре 20 година
FindDoxygen.cmake 7603244509 ENH: use program files env for searching пре 20 година
FindFLTK.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindGCCXML.cmake 7603244509 ENH: use program files env for searching пре 20 година
FindGLU.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindGLUT.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindGTK.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindGnuplot.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindHSPELL.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
FindHTMLHelp.cmake 7603244509 ENH: use program files env for searching пре 20 година
FindITK.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindImageMagick.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindJNI.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindJPEG.cmake 60988dd8a2 ENH: honor REQUIRED flag пре 20 година
FindJasper.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
FindJava.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindKDE.cmake d253baab99 ENH: add real-world-tested and used KDE3 support, and obsolete FindKDE.cmake, which wasn't used by anybody that I heard of пре 20 година
FindKDE3.cmake 0634447892 STYLE: remove unnecessary /usr/local/include search path пре 19 година
FindKDE4.cmake 205635dcd5 пре 19 година
FindLATEX.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindLibXml2.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
FindLibXslt.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
FindMFC.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindMPEG.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindMPEG2.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindMPI.cmake 7603244509 ENH: use program files env for searching пре 20 година
FindMatlab.cmake d2689c95a1 ENH: some style fixes for the book пре 20 година
FindMotif.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindOpenAL.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindOpenGL.cmake cf80510ac5 ENH: On apple do not look for X11 пре 19 година
FindOpenSSL.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, пре 19 година
FindPHP4.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindPNG.cmake 07558db6a2 ENH: also look in /usr/local/include/libpng (OpenBSD) пре 19 година
FindPerl.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindPerlLibs.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindPhysFS.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindPike.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindPythonInterp.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindPythonLibs.cmake a18297e2ca ENH: Updated implementation to use new FIND_* command power. The correct library is now found on MinGW also. пре 20 година
FindQt.cmake b442e86492 ENH: change to fatal error пре 20 година
FindQt3.cmake 82e5ab5d4f ENH: automatically find Qt3 on SUSE, patch from Dirk Mueller and Stephan пре 19 година
FindQt4.cmake 207292cf45 ENH: fixes from Clinton to allow qt to work with static libs пре 19 година
FindRuby.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindSDL.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindSDL_image.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindSDL_mixer.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindSDL_net.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindSDL_sound.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
FindSDL_ttf.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindSWIG.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindSelfPackers.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindTCL.cmake cb95c0a5bc ENH: fix a bug in the find path stuff so that it can find headers deep in frameworks пре 20 година
FindTIFF.cmake 64cb554397 ENH: Removing platform-specific name hacks now that FIND_LIBRARY handles it. пре 20 година
FindTclsh.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindThreads.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
FindUnixCommands.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
FindVTK.cmake 859db10e2a ENH: Add ability to find VTK 5 without user help. пре 19 година
FindWget.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindWish.cmake 74eaecfc3e ENH: cleanups пре 20 година
FindX11.cmake d71f723b11 ENH: fix find x11 on the mac пре 20 година
FindZLIB.cmake 97c5324534 BUG: don't append to ZLIB_NAMES пре 19 година
FindwxWidgets.cmake ff46146dfc BUG: Patch from Peter Visser to run wx-config from an MSYS prompt. пре 19 година
FindwxWindows.cmake 3c9744f406 ENH: Applying patch from bug#3443 to implement FindwxWidgets.cmake properly. It also updates the UseWX test and WXDialog sources to use the new find script. пре 19 година
InstallRequiredSystemLibraries.cmake a40a17dcdd ENH: Implemented support for installing VC8 runtime libraries. пре 19 година
KDE3Macros.cmake 0afe72e908 BUG: fix #3324: KDE3Macros.cmake didn't find Qt designer plugins when пре 19 година
MacOSXBundleInfo.plist.in 1dbcfd2a98 ENH: Improve Mac OSX bundle support пре 22 година
MacroAddFileDependencies.cmake 63c241ea1e ENH: Updates from KDE пре 19 година
NSIS.InstallOptions.ini.in 5b3a2c84fc ENH: use radio buttons to choose PATH options пре 20 година
NSIS.template.in 5b3a2c84fc ENH: use radio buttons to choose PATH options пре 20 година
TestBigEndian.c fad91fb770 ENH: fix tests for non-ansi c on hp and remove warnings for ansi c пре 22 година
TestBigEndian.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
TestCXXAcceptsFlag.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
TestForANSIForScope.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
TestForANSIStreamHeaders.cmake 74eaecfc3e ENH: cleanups пре 20 година
TestForANSIStreamHeaders.cxx 32b398e55b new try compile module пре 23 година
TestForAnsiForScope.cxx a696dbc815 ERR: Removed warning for unused variable. пре 23 година
TestForSSTREAM.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
TestForSSTREAM.cxx 9891260a6d ENH: add support for watcom wmake and wcl386 пре 20 година
TestForSTDNamespace.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting пре 19 година
TestForSTDNamespace.cxx f5d95fb078 Complete rework of makefile generators expect trouble пре 23 година
UseEcos.cmake 2776e2de4e ENH: add i386 toolchain and some minor improvement of the comments пре 19 година
UsePkgConfig.cmake d41587b671 BUG: change the formatting of the pkgconfig module documentation so that it пре 20 година
UseQt4.cmake 207292cf45 ENH: fixes from Clinton to allow qt to work with static libs пре 19 година
UseSWIG.cmake 24cdf8aa6c ENH: Added interface to add extra dependencies. пре 19 година
UseVTK40.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
UseVTKBuildSettings40.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
UseVTKConfig40.cmake b7fa820118 ENH: add documentation support for modules пре 20 година
Use_wxWindows.cmake 3c9744f406 ENH: Applying patch from bug#3443 to implement FindwxWidgets.cmake properly. It also updates the UseWX test and WXDialog sources to use the new find script. пре 19 година
UsewxWidgets.cmake 3c9744f406 ENH: Applying patch from bug#3443 to implement FindwxWidgets.cmake properly. It also updates the UseWX test and WXDialog sources to use the new find script. пре 19 година
VTKCompatibility.cmake 009b3cbb12 ENH: add backwards compatibility fix for more aggressive find_path command пре 20 година
kde3init_dummy.cpp.in d253baab99 ENH: add real-world-tested and used KDE3 support, and obsolete FindKDE.cmake, which wasn't used by anybody that I heard of пре 20 година
kde3uic.cmake 0afe72e908 BUG: fix #3324: KDE3Macros.cmake didn't find Qt designer plugins when пре 19 година
readme.txt 46d266047c ENH: Added documentation about XXX_FIND_COMPONENTS for FIND_PACKAGE. пре 19 година

readme.txt

Note to authors of FindXXX.cmake files

We would like all FindXXX.cmake files to produce consistent variable names.

Please use the following consistent variable names for general use.

XXX_INCLUDE_DIRS The final set of include directories listed in one variable for use by client code. This should not be a cache entry.
XXX_LIBRARIES The libraries to link against to use XXX. These should include full paths. This should not be a cache entry.
XXX_DEFINITIONS Definitions to use when compiling code that uses XXX. This really shouldn't include options such as (-DHAS_JPEG)that a client source-code file uses to decide whether to #include
XXX_EXECUTABLE Where to find the XXX tool.
XXX_YYY_EXECUTABLE Where to find the YYY tool that comes with XXX.
XXX_LIBRARY_DIRS Optionally, the final set of library directories listed in one variable for use by client code. This should not be a cache entry.
XXX_ROOT_DIR Where to find the base directory of XXX.
XXX_VERSION_YY Expect Version YY if true. Make sure at most one of these is ever true.
XXX_WRAP_YY If False, do not try to use the relevent CMake wrapping command.
XXX_YY_FOUND If False, optional YY part of XXX sytem is not available.
XXX_FOUND Set to false, or undefined, if we haven't found, or don't want to use XXX.

You do not have to provide all of the above variables. You should provide XXX_FOUND under most circumstances. If XXX is a library, then XXX_LIBRARIES, should also be defined, and XXX_INCLUDE_DIR should usually be defined (I guess libm.a might be an exception)

The following names should not usually be used in CMakeLists.txt files, but they may be usefully modified in users' CMake Caches to control stuff.

XXX_LIBRARY Name of XXX Library. A User may set this and XXX_INCLUDE_DIR to ignore to force non-use of XXX.
XXX_YY_LIBRARY Name of YY library that is part of the XXX system. It may or may not be required to use XXX.
XXX_INCLUDE_DIR Where to find xxx.h, etc. (XXX_INCLUDE_PATH was considered bad because a path includes an actual filename.)
XXX_YY_INCLUDE_DIR Where to find xxx_yy.h, etc.

For tidiness's sake, try to keep as many options as possible out of the cache, leaving at least one option which can be used to disable use of the module, or locate a not-found library (e.g. XXX_ROOT_DIR). For the same reason, mark most cache options as advanced.

If you need other commands to do special things then it should still begin with XXX_. This gives a sort of namespace effect and keeps things tidy for the user. You should put comments describing all the exported settings, plus descriptions of any the users can use to control stuff.

You really should also provide backwards compatibility any old settings that were actually in use. Make sure you comment them as deprecated, so that no-one starts using them.

To correctly document a module, create a comment block at the top with # comments. There are three types of comments that can be in the block:

1. The brief description of the module, this is done by:
# - a small description

2. A paragraph of text. This is done with all text that has a single
space between the # and the text. To create a new paragraph, just
put a # with no text on the line.

3. A verbatim line. This is done with two spaces between the # and the text.

For example:

# - This is a cool module
# This module does really cool stuff.
# It can do even more than you think.
#
# It even needs to paragraphs to tell you about it.
# And it defines the following variables:
# VAR_COOL - this is greate isn't it?
# VAR_REALLY_COOL - cool right?
#

To have a .cmake file in this directory NOT show up in the
modules documentation, you should start the file with a blank
line.

A FindXXX.cmake module will typically be loaded by the command

FIND_PACKAGE(XXX [QUIET] [REQUIRED [components...]])

If the QUIET option is given to the command it will set the variable
XXX_FIND_QUIETLY to true before loading the FindXXX.cmake module. If
this variable is set the module should not complain about not being
able to find the package and should never issue a FATAL_ERROR. If the
REQUIRED option is given to the command it will set the variable
XXX_FIND_REQUIRED to true before loading the FindXXX.cmake module. If
this variable is set the module should issue a FATAL_ERROR if the
package cannot be found. For each package-specific component, say
YYY, listed after the REQUIRED option a variable XXX_FIND_REQUIRED_YYY
to true. The set of components listed will also be specified in a
XXX_FIND_COMPONENTS variable. This can be used by the FindXXX.cmake
module to determine which sub-components of the package must be found.
If neither the QUIET nor REQUIRED options are given then the
FindXXX.cmake module should look for the package and complain without
error if the module is not found.