Brad King b155f3aa1c ENH: Adding image version number (major.minor) property to windows binaries. Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219. 19 years ago
..
Platform b155f3aa1c ENH: Adding image version number (major.minor) property to windows binaries. Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219. 19 years ago
AddFileDependencies.cmake a980fdc96a BUG: don't include MacroLibrary.cmake, but add a cmake module which implements ADD_FILE_DEPENDENCIES() 19 years ago
CMake.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeAddNewLanguage.txt 8be3e4eeca ENH: clean up EnableLanguage try to fix problem where try compile runs cmake 20 years ago
CMakeBackwardCompatibilityC.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeBackwardCompatibilityCXX.cmake 9891260a6d ENH: add support for watcom wmake and wcl386 20 years ago
CMakeBorlandFindMake.cmake e2d1104881 determine CMAKE_MAKE_PROGRAM in EnableLanguage 23 years ago
CMakeBuildSettings.cmake.in ee72d5740b ENH: Adding CMAKE_EXPORT_BUILD_SETTINGS and CMAKE_IMPORT_BUILD_SETTINGS macro. 23 years ago
CMakeCCompiler.cmake.in aa98e3647d ENH: fix more than one argument passed in to compilers via environment 20 years ago
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. 19 years ago
CMakeCXXCompiler.cmake.in b78d936ecf BUG: Need to duplicate some information from CMakeCCompiler to support C++-only projects. 20 years ago
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 years ago
CMakeCommonLanguageInclude.cmake 45d85c2e34 BUG: fix for 3550 again 19 years ago
CMakeConfigurableFile.in 01a55559dd ENH: Make modules use configure instead of file write 19 years ago
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 years ago
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 years ago
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 years ago
CMakeDetermineJavaCompiler.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CMakeDetermineRCCompiler.cmake 8ffb32369f BUG: Need to search for rc by default, not c++ compilers. 19 years ago
CMakeDetermineSystem.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CMakeExportBuildSettings.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
CMakeFindFrameworks.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeFindWMake.cmake 9891260a6d ENH: add support for watcom wmake and wcl386 20 years ago
CMakeFindXCode.cmake 8960a220a9 ENH: add trycompile code for xcode 21 years ago
CMakeFortranCompiler.cmake.in 1cf4d146fc ENH: Merge debian changes. Support more fortran extensions 19 years ago
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 years ago
CMakeGenericSystem.cmake e55ff93748 ENH: Allow user project code to distinguish between an install prefix set on the command line and one set by CMake as a default. This is useful for changing the default prefix while still allowing the user to override it. 19 years ago
CMakeImportBuildSettings.cmake 2523629f4b ENH: fix for case difference with nmake 19 years ago
CMakeJavaCompiler.cmake.in b8b298104b ENH: make sure flags set in CC or CXX environment variables stay with the compiler 20 years ago
CMakeJavaInformation.cmake 5ecfd3d4d3 ENH: fix java and add OBJECT_DIR support 19 years ago
CMakeLists.txt a6bd324605 ENH: Installing readme.txt in Modules directory to be consistent with windows. 22 years ago
CMakeMSYSFindMake.cmake 5042581f43 ENH: better algorithm for looking for make and gcc on msys and mingw 19 years ago
CMakeMinGWFindMake.cmake 5042581f43 ENH: better algorithm for looking for make and gcc on msys and mingw 19 years ago
CMakeNMakeFindMake.cmake e2d1104881 determine CMAKE_MAKE_PROGRAM in EnableLanguage 23 years ago
CMakePrintSystemInformation.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeRCCompiler.cmake.in b8b298104b ENH: make sure flags set in CC or CXX environment variables stay with the compiler 20 years ago
CMakeRCInformation.cmake 718de4cea5 ENH: fix spelling errors 19 years ago
CMakeSystem.cmake.in 3021918293 ENH: add CMAKE_SYSTEM_PROCESSOR 22 years ago
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 years ago
CMakeTestCCompiler.cmake e49b93989d COMP: More warnings and hp issues 19 years ago
CMakeTestCXXCompiler.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CMakeTestForFreeVC.cxx 0d4cd0436b ENH better test for free VC tools 21 years ago
CMakeTestFortranCompiler.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CMakeTestGNU.c 6b31e5c851 BUG: fix problem where cmake thinks the intel compiler is gnu 21 years ago
CMakeTestJavaCompiler.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeTestNMakeCLVersion.c dfcd4f2154 added test for whether pdbtype should be used for nmake 22 years ago
CMakeTestRCCompiler.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeUnixFindMake.cmake 9992fe5103 BUG: Removed stray debugging message. 23 years ago
CMakeVCManifest.cmake 276e7e21a3 ENH: Adding flags to force generation of manifest files when building with VC 8. 19 years ago
CMakeVS6BackwardCompatibility.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeVS6FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators 19 years ago
CMakeVS71FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators 19 years ago
CMakeVS7BackwardCompatibility.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeVS7FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators 19 years ago
CMakeVS8FindMake.cmake 51f91db648 ENH: add correct flags for msvc generators 19 years ago
COPYING-CMAKE-SCRIPTS 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
CPack.Description.plist.in 5358809a5c ENH: More CPack stuff and fix zlib compression 20 years ago
CPack.Info.plist.in a460c60843 ENH: Add verbose flag to package maker and add CFBundleIdentifier string 19 years ago
CPack.STGZ_Header.sh.in 96d4a89228 ENH: Better output 19 years ago
CPack.cmake e31dc3abe5 ENH: Several CPack fixes. First, allow user to set CMAKE_MODULE_PATH for CPack; make SetOptionIfNotSet more robust to handle empty options; do test TGZ, STGZ, and TZ, Add handling (and test) of Install Script; set environment variable CMAKE_INSTALL_PREFIX 19 years ago
CTest.cmake e026f620f8 BUG: fix typo 19 years ago
CTestTargets.cmake f9dc5b5553 ENH: On Visual Studio and Xcode handle config type 19 years ago
CheckCCompilerFlag.cmake 86c63dca11 ENH: two macros to check whether the C/CXX compiler supports a given flag: 19 years ago
CheckCSourceCompiles.cmake d454231a0a STYLE: fix #3519 (incorrect comment) 19 years ago
CheckCSourceRuns.cmake 8b9d44d512 ENH: fixs for check compile stuff from Oswald B. 19 years ago
CheckCXXCompilerFlag.cmake 86c63dca11 ENH: two macros to check whether the C/CXX compiler supports a given flag: 19 years ago
CheckCXXSourceCompiles.cmake d454231a0a STYLE: fix #3519 (incorrect comment) 19 years ago
CheckCXXSourceRuns.cmake 8b9d44d512 ENH: fixs for check compile stuff from Oswald B. 19 years ago
CheckForPthreads.c fad91fb770 ENH: fix tests for non-ansi c on hp and remove warnings for ansi c 21 years ago
CheckFunctionExists.c fad91fb770 ENH: fix tests for non-ansi c on hp and remove warnings for ansi c 21 years ago
CheckFunctionExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CheckIncludeFile.c.in 095e975c81 BUG: Fix signature of main to work on both strict ANSI and non-ANSI C compilers. 19 years ago
CheckIncludeFile.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CheckIncludeFile.cxx.in f5d95fb078 Complete rework of makefile generators expect trouble 23 years ago
CheckIncludeFileCXX.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CheckIncludeFiles.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CheckLibraryExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CheckLibraryExists.lists.in 3697ad6dc7 Initial attempt to check if library exists 23 years ago
CheckSizeOf.cmake ea1467d056 ENH: Renamed Modules/CheckSizeOf to Modules/CheckTypeSize for consistency with the macro name that is defined by the module. 23 years ago
CheckSymbolExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
CheckTypeSize.c.in 96f948adf5 ENH: fix checktypesize 20 years ago
CheckTypeSize.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
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. 21 years ago
CheckVariableExists.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
Dart.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
DartConfiguration.tcl.in 1ca05e219a ENH: Reorganize and add subversion support 21 years ago
Documentation.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
DummyCXXFile.cxx 9a6c95fcea add checks for ansi flags and not hard code them 23 years ago
FindASPELL.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
FindAVIFile.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindBZip2.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
FindBoost.cmake ef6cf109ed ENH: Adding FindBoost.cmake module from Andrew Maclean. This addresses bug#3447. 19 years ago
FindCABLE.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindCurses.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindCygwin.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindDCMTK.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindDart.cmake 7603244509 ENH: use program files env for searching 19 years ago
FindDoxygen.cmake 641a0ad878 BUG: fix for bug# 3310 19 years ago
FindFLTK.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindGCCXML.cmake 7603244509 ENH: use program files env for searching 19 years ago
FindGLU.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindGLUT.cmake 2826dc4003 BUG: fix for bug#3646 GLUT not Glut for framework name 19 years ago
FindGTK.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindGnuplot.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindHSPELL.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
FindHTMLHelp.cmake 7603244509 ENH: use program files env for searching 19 years ago
FindITK.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindImageMagick.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindJNI.cmake e607d5f7df ENH: More locations for Java 19 years ago
FindJPEG.cmake 60988dd8a2 ENH: honor REQUIRED flag 19 years ago
FindJasper.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
FindJava.cmake e607d5f7df ENH: More locations for Java 19 years ago
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 19 years ago
FindKDE3.cmake 0634447892 STYLE: remove unnecessary /usr/local/include search path 19 years ago
FindKDE4.cmake 205635dcd5 19 years ago
FindLATEX.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindLibXml2.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
FindLibXslt.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
FindMFC.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindMPEG.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindMPEG2.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindMPI.cmake 7603244509 ENH: use program files env for searching 19 years ago
FindMatlab.cmake d2689c95a1 ENH: some style fixes for the book 20 years ago
FindMotif.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindOpenAL.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindOpenGL.cmake cf80510ac5 ENH: On apple do not look for X11 19 years ago
FindOpenSSL.cmake 8b46841b6d ENH: add cmake modules for some common libraries: aspell, hspell, bzip2, 19 years ago
FindPHP4.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindPNG.cmake 07558db6a2 ENH: also look in /usr/local/include/libpng (OpenBSD) 19 years ago
FindPerl.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindPerlLibs.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindPhysFS.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindPike.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindPythonInterp.cmake 5d22d36c5d 19 years ago
FindPythonLibs.cmake 5d22d36c5d 19 years ago
FindQt.cmake b442e86492 ENH: change to fatal error 20 years ago
FindQt3.cmake 82e5ab5d4f ENH: automatically find Qt3 on SUSE, patch from Dirk Mueller and Stephan 19 years ago
FindQt4.cmake 4d89019426 BUG: fix for bug#3898 find qt plugin dir 19 years ago
FindRuby.cmake d54a7bfecf ENH: apply patch so that the config values from ruby are used to determine 19 years ago
FindSDL.cmake d760e378df BUG: fix for 3765 19 years ago
FindSDL_image.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindSDL_mixer.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindSDL_net.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindSDL_sound.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
FindSDL_ttf.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindSWIG.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindSelfPackers.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindTCL.cmake 9d5dc7b396 BUG: fix for bug# 3313 same advanced for tcl win and unix 19 years ago
FindTIFF.cmake 64cb554397 ENH: Removing platform-specific name hacks now that FIND_LIBRARY handles it. 20 years ago
FindTclsh.cmake d460481da3 BUG: fix for bug #3846 more advanced stuff 19 years ago
FindThreads.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
FindUnixCommands.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindVTK.cmake 859db10e2a ENH: Add ability to find VTK 5 without user help. 19 years ago
FindWget.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindWish.cmake d460481da3 BUG: fix for bug #3846 more advanced stuff 19 years ago
FindX11.cmake d71f723b11 ENH: fix find x11 on the mac 19 years ago
FindZLIB.cmake 97c5324534 BUG: don't append to ZLIB_NAMES 19 years ago
FindwxWidgets.cmake ff46146dfc BUG: Patch from Peter Visser to run wx-config from an MSYS prompt. 19 years ago
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 years ago
InstallRequiredSystemLibraries.cmake a40a17dcdd ENH: Implemented support for installing VC8 runtime libraries. 19 years ago
KDE3Macros.cmake 5f01d47d7d BUG: fix #3827, the name of the var is _tmp_FILE instead of tmp_FILE, so the 19 years ago
MacOSXBundleInfo.plist.in 1dbcfd2a98 ENH: Improve Mac OSX bundle support 21 years ago
MacroAddFileDependencies.cmake 63c241ea1e ENH: Updates from KDE 19 years ago
NSIS.InstallOptions.ini.in 5b3a2c84fc ENH: use radio buttons to choose PATH options 19 years ago
NSIS.template.in bf74cd9d83 BUG: Compression must be set before any output is created. 19 years ago
TestBigEndian.c fad91fb770 ENH: fix tests for non-ansi c on hp and remove warnings for ansi c 21 years ago
TestBigEndian.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
TestCXXAcceptsFlag.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
TestForANSIForScope.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
TestForANSIStreamHeaders.cmake 74eaecfc3e ENH: cleanups 20 years ago
TestForANSIStreamHeaders.cxx 32b398e55b new try compile module 23 years ago
TestForAnsiForScope.cxx a696dbc815 ERR: Removed warning for unused variable. 22 years ago
TestForSSTREAM.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
TestForSSTREAM.cxx 9891260a6d ENH: add support for watcom wmake and wcl386 20 years ago
TestForSTDNamespace.cmake 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 19 years ago
TestForSTDNamespace.cxx f5d95fb078 Complete rework of makefile generators expect trouble 23 years ago
UseEcos.cmake 2776e2de4e ENH: add i386 toolchain and some minor improvement of the comments 19 years ago
UsePkgConfig.cmake d41587b671 BUG: change the formatting of the pkgconfig module documentation so that it 19 years ago
UseQt4.cmake 608f735215 BUG: Patch from Clinton to restore proper QT3_SUPPORT macro definition. 19 years ago
UseSWIG.cmake 24cdf8aa6c ENH: Added interface to add extra dependencies. 19 years ago
UseVTK40.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
UseVTKBuildSettings40.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
UseVTKConfig40.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
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 years ago
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 years ago
VTKCompatibility.cmake 009b3cbb12 ENH: add backwards compatibility fix for more aggressive find_path command 19 years ago
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 19 years ago
kde3uic.cmake 0afe72e908 BUG: fix #3324: KDE3Macros.cmake didn't find Qt designer plugins when 19 years ago
readme.txt 3a757c253d STYLE: Fixed typo: INCLUDE_DIR->INCLUDE_DIRS. 19 years ago

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_DIRS 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.