Bill Hoffman cae4e6b37a ENH: add patch for finding applications on OSX 19 years ago
..
Platform cae4e6b37a ENH: add patch for finding applications on OSX 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 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
CMakeCommonLanguageInclude.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CMakeConfigurableFile.in 01a55559dd ENH: Make modules use configure instead of file write 19 years ago
CMakeDetermineCCompiler.cmake e015df7d06 ENH: better finding of mingw from msys, and delete CMakeFiles directory when cache is deleted 19 years ago
CMakeDetermineCXXCompiler.cmake aa98e3647d ENH: fix more than one argument passed in to compilers via environment 20 years ago
CMakeDetermineFortranCompiler.cmake aa98e3647d ENH: fix more than one argument passed in to compilers via environment 20 years ago
CMakeDetermineJavaCompiler.cmake aa98e3647d ENH: fix more than one argument passed in to compilers via environment 20 years ago
CMakeDetermineRCCompiler.cmake aa98e3647d ENH: fix more than one argument passed in to compilers via environment 20 years ago
CMakeDetermineSystem.cmake b7fa820118 ENH: add documentation support for modules 20 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 b8b298104b ENH: make sure flags set in CC or CXX environment variables stay with the compiler 20 years ago
CMakeFortranInformation.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
CMakeGenericSystem.cmake 33587ce376 ENH: Added platform settings CMAKE_FIND_LIBRARY_PREFIXES and CMAKE_FIND_LIBRARY_SUFFIXES to allow customized searching for libraries. 20 years ago
CMakeImportBuildSettings.cmake d2689c95a1 ENH: some style fixes for the book 20 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 2f78d874a7 ENH: fix for bug 2921, move _OVERRIDE variable to a better position to allow changing _INIT variables 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 20 years ago
CMakeMinGWFindMake.cmake 5042581f43 ENH: better algorithm for looking for make and gcc on msys and mingw 20 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 dbe7d39738 BUG: When copying the module variables from shared library variables use double quotes for the required definitions ...PREFIX and ...SUFFIX to make sure a value is set even if it is empty. 19 years ago
CMakeTestCCompiler.cmake 4bdca3b404 ENH: put CmakeTmp into CMakeFiles 20 years ago
CMakeTestCXXCompiler.cmake 4bdca3b404 ENH: put CmakeTmp into CMakeFiles 20 years ago
CMakeTestForFreeVC.cxx 0d4cd0436b ENH better test for free VC tools 21 years ago
CMakeTestFortranCompiler.cmake 4bdca3b404 ENH: put CmakeTmp into CMakeFiles 20 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
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
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.cmake bad1215a85 ENH: Add support for preinstall for cmake generated projects when packaging them 19 years ago
CTest.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
CTestTargets.cmake e26c160698 ENH: Initial import 20 years ago
CheckCSourceCompiles.cmake 36e2728431 ENH: Cleanup bootstrap even more 19 years ago
CheckCXXSourceCompiles.cmake 36e2728431 ENH: Cleanup bootstrap even more 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 f0a1da00c1 ENH: Made Check* modules more consistent and well documented. Added CMAKE_REQUIRED_DEFINITIONS option. 20 years ago
CheckIncludeFile.c.in 1d0d685049 Simplify checking for headers 23 years ago
CheckIncludeFile.cmake f0a1da00c1 ENH: Made Check* modules more consistent and well documented. Added CMAKE_REQUIRED_DEFINITIONS option. 20 years ago
CheckIncludeFile.cxx.in f5d95fb078 Complete rework of makefile generators expect trouble 23 years ago
CheckIncludeFileCXX.cmake f0a1da00c1 ENH: Made Check* modules more consistent and well documented. Added CMAKE_REQUIRED_DEFINITIONS option. 20 years ago
CheckIncludeFiles.cmake 743b4c9983 BUG: Fix the module 19 years ago
CheckLibraryExists.cmake 8b4af97281 BUG: Fix CMAKE_REQUIRED_LIBRARIES stuff in this module 20 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 01a55559dd ENH: Make modules use configure instead of file write 19 years ago
CheckTypeSize.c.in 96f948adf5 ENH: fix checktypesize 20 years ago
CheckTypeSize.cmake eeab2c55ed ENH: Added CMAKE_REQUIRED_DEFINITIONS and CMAKE_REQUIRED_INCLUDES to the interface. 20 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 f0a1da00c1 ENH: Made Check* modules more consistent and well documented. Added CMAKE_REQUIRED_DEFINITIONS option. 20 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
FindAVIFile.cmake d2689c95a1 ENH: some style fixes for the book 20 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 7603244509 ENH: use program files env for searching 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 d2689c95a1 ENH: some style fixes for the book 20 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
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 d2689c95a1 ENH: some style fixes for the book 20 years ago
FindJPEG.cmake 64cb554397 ENH: Removing platform-specific name hacks now that FIND_LIBRARY handles it. 20 years ago
FindJava.cmake d2689c95a1 ENH: some style fixes for the book 20 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 6690a252ab BUG: put the path to the kde3 lib dir in KDE3_LIB_DIR, not the complete 19 years ago
FindKDE4.cmake 0d540b31e0 STYLE: better error message when KDE4 hasn't been found 19 years ago
FindLATEX.cmake d2689c95a1 ENH: some style fixes for the book 20 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 1aecb478d6 ENH: go back to finding the framework opengl on the mac 19 years ago
FindPHP4.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindPNG.cmake a980fdc96a BUG: don't include MacroLibrary.cmake, but add a cmake module which implements ADD_FILE_DEPENDENCIES() 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 74eaecfc3e ENH: cleanups 20 years ago
FindPythonLibs.cmake a18297e2ca ENH: Updated implementation to use new FIND_* command power. The correct library is now found on MinGW also. 19 years ago
FindQt.cmake b442e86492 ENH: change to fatal error 20 years ago
FindQt3.cmake e037fbaf7d ENH: try to fix non-clean dashboards 19 years ago
FindQt4.cmake b5b06cfaf6 BUG: Fix typo 19 years ago
FindRuby.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindSDL.cmake 74eaecfc3e ENH: cleanups 20 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 4bdca3b404 ENH: put CmakeTmp into CMakeFiles 20 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 cb95c0a5bc ENH: fix a bug in the find path stuff so that it can find headers deep in frameworks 19 years ago
FindTIFF.cmake 64cb554397 ENH: Removing platform-specific name hacks now that FIND_LIBRARY handles it. 20 years ago
FindTclsh.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindThreads.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindUnixCommands.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
FindVTK.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindWget.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindWish.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindX11.cmake 74eaecfc3e ENH: cleanups 20 years ago
FindZLIB.cmake 64cb554397 ENH: Removing platform-specific name hacks now that FIND_LIBRARY handles it. 20 years ago
FindwxWidgets.cmake ad4f98f3cf ENH: Cleanup. Use relative path to modules 21 years ago
FindwxWindows.cmake 1fd9060406 ENH: contribution from Jan Woetzel 20 years ago
InstallRequiredSystemLibraries.cmake 51f91db648 ENH: add correct flags for msvc generators 19 years ago
KDE3Macros.cmake a980fdc96a BUG: don't include MacroLibrary.cmake, but add a cmake module which implements ADD_FILE_DEPENDENCIES() 19 years ago
MacOSXBundleInfo.plist.in 1dbcfd2a98 ENH: Improve Mac OSX bundle support 21 years ago
NSIS.template.in b1b052fd23 ENH: Several changes to for NSIS 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 b7fa820118 ENH: add documentation support for modules 20 years ago
TestCXXAcceptsFlag.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
TestForANSIForScope.cmake b7fa820118 ENH: add documentation support for modules 20 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 9891260a6d ENH: add support for watcom wmake and wcl386 20 years ago
TestForSSTREAM.cxx 9891260a6d ENH: add support for watcom wmake and wcl386 20 years ago
TestForSTDNamespace.cmake 74eaecfc3e ENH: cleanups 20 years ago
TestForSTDNamespace.cxx f5d95fb078 Complete rework of makefile generators expect trouble 23 years ago
UsePkgConfig.cmake d41587b671 BUG: change the formatting of the pkgconfig module documentation so that it 19 years ago
UseQt4.cmake b7fa820118 ENH: add documentation support for modules 20 years ago
UseSWIG.cmake 74eaecfc3e ENH: cleanups 20 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 74eaecfc3e ENH: cleanups 20 years ago
UsewxWidgets.cmake b7fa820118 ENH: add documentation support for modules 20 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 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
readme.txt 9f625beab6 ENH: Added optional component list to the REQUIRED option of the FIND_PACKAGE command. This addresses bug#2771. 20 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_DIR Where to find xxx.h, etc. If for some reason, you really need two paths, then that shouldn't be a problem - however, consider if you really should have two different FindXXX.cmake files. (XXX_INCLUDE_PATH was considered bad because a path includes an actual filename.)
XXX_LIBRARIES The libraries to link against to use XXX. These should include full paths.
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_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.

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