CMake/Modules
Ken Martin 8108786494 ENH: fix for incorrect setting of CONFIZGURATION_TYPES 2005-06-07 12:07:34 -04:00
..
Platform ENH: fix for incorrect setting of CONFIZGURATION_TYPES 2005-06-07 12:07:34 -04:00
CMake.cmake ENH: more uniform approach to enable language, one step closer to being able to enable a language without modifing cmake source code 2004-08-26 14:55:55 -04:00
CMakeBackwardCompatibilityC.cmake BUG: Fix try-compile for sys/prctl.h. It needs to include sys/types.h first according to the man page. 2005-04-26 17:11:48 -04:00
CMakeBackwardCompatibilityCXX.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
CMakeBorlandFindMake.cmake
CMakeBuildSettings.cmake.in
CMakeCCompiler.cmake.in ENH: stuff to keep compiler tests from re-running all the time 2005-01-20 12:30:03 -05:00
CMakeCInformation.cmake ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
CMakeCXXCompiler.cmake.in FIX: fix bug 1495 2005-02-11 14:22:24 -05:00
CMakeCXXInformation.cmake BUG: LINK_FLAGS are now all LINK_(LANG)_FLAGS 2004-09-24 14:37:58 -04:00
CMakeCommonLanguageInclude.cmake ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
CMakeDetermineCCompiler.cmake ENH: stuff to keep compiler tests from re-running all the time 2005-01-20 12:30:03 -05:00
CMakeDetermineCXXCompiler.cmake ENH: do not check for gnu for visual studio 2004-09-15 10:32:28 -04:00
CMakeDetermineFortranCompiler.cmake ENH: add the ability to generate custom commands for a language that is not supported by an IDE 2004-10-21 14:34:02 -04:00
CMakeDetermineJavaCompiler.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
CMakeDetermineRCCompiler.cmake ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
CMakeDetermineSystem.cmake fix number of arguments 2004-12-16 22:18:49 -05:00
CMakeExportBuildSettings.cmake
CMakeFindFrameworks.cmake
CMakeFindXCode.cmake ENH: add trycompile code for xcode 2005-02-01 13:12:19 -05:00
CMakeFortranCompiler.cmake.in ENH: stuff to keep compiler tests from re-running all the time 2005-01-20 12:30:03 -05:00
CMakeFortranInformation.cmake ENH: added requires flag 2005-05-24 10:45:39 -04:00
CMakeGenericSystem.cmake ENH: Added better default install location for windows builds. The previous default /usr/local did not make much sense. Now "%SystemDrive%/Program Files/PROJECT_NAME" is used, which is the windows equivalent to /usr/local. 2005-02-22 15:22:40 -05:00
CMakeImportBuildSettings.cmake better error message 2004-05-25 11:20:38 -04:00
CMakeJavaCompiler.cmake.in ENH: stuff to keep compiler tests from re-running all the time 2005-01-20 12:30:03 -05:00
CMakeJavaInformation.cmake BUG: make sure java jar files are not libfoo.jar but are just foo.jar 2004-09-27 11:36:29 -04:00
CMakeLists.txt
CMakeNMakeFindMake.cmake
CMakePrintSystemInformation.cmake
CMakeRCCompiler.cmake.in ENH: stuff to keep compiler tests from re-running all the time 2005-01-20 12:30:03 -05:00
CMakeRCInformation.cmake ENH: fix problems with .def and RC files 2004-09-23 08:51:06 -04:00
CMakeSystem.cmake.in
CMakeSystemSpecificInformation.cmake BUG: LINK_FLAGS are now all LINK_(LANG)_FLAGS 2004-09-24 14:37:58 -04:00
CMakeTestCCompiler.cmake BUG: try to address Bug 1673 . 2005-04-05 17:06:00 -04:00
CMakeTestCXXCompiler.cmake ENH: stuff to keep compiler tests from re-running all the time 2005-01-20 12:30:03 -05:00
CMakeTestForFreeVC.cxx ENH better test for free VC tools 2004-09-03 15:19:58 -04:00
CMakeTestFortranCompiler.cmake ENH: Added test for Fortran90 support. 2005-02-04 10:06:25 -05:00
CMakeTestGNU.c BUG: fix problem where cmake thinks the intel compiler is gnu 2004-05-18 14:33:12 -04:00
CMakeTestJavaCompiler.cmake ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
CMakeTestNMakeCLVersion.c
CMakeTestRCCompiler.cmake ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
CMakeUnixFindMake.cmake
CMakeVS6BackwardCompatibility.cmake
CMakeVS6FindMake.cmake
CMakeVS7BackwardCompatibility.cmake
CMakeVS7FindMake.cmake
CMakeVS8FindMake.cmake COMP: Fix for support of VS 8.0 beta 2 2005-05-26 17:30:13 -04:00
CMakeVS71FindMake.cmake
CheckForPthreads.c
CheckFunctionExists.c
CheckFunctionExists.cmake
CheckIncludeFile.c.in
CheckIncludeFile.cmake ENH: fixes for optional flag arguments to check include macros 2004-04-28 10:00:11 -04:00
CheckIncludeFile.cxx.in
CheckIncludeFileCXX.cmake ENH: fixes for optional flag arguments to check include macros 2004-04-28 10:00:11 -04:00
CheckIncludeFiles.cmake ENH: When test fails, write out the output 2004-10-05 08:32:08 -04:00
CheckLibraryExists.cmake
CheckLibraryExists.lists.in
CheckSizeOf.cmake
CheckSymbolExists.cmake
CheckTypeSize.c.in ENH: Add option of adding random include files before doing CheckTypeSize 2004-10-05 08:33:08 -04:00
CheckTypeSize.cmake ENH: Add option of adding random include files before doing CheckTypeSize 2004-10-05 08:33:08 -04:00
CheckVariableExists.c
CheckVariableExists.cmake
Dart.cmake STYLE: Fixed spelling of "memmory". 2005-04-06 16:53:55 -04:00
DartConfiguration.tcl.in ENH: Reorganize and add subversion support 2005-02-16 13:30:17 -05:00
Documentation.cmake ENH: Replace INCLUDE(Find...) with FIND_PACKAGE(...) 2004-09-27 09:49:55 -04:00
DummyCXXFile.cxx
FindAVIFile.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindCABLE.cmake
FindCurses.cmake FIX: fix for bug 1438 2005-02-17 10:42:40 -05:00
FindCygwin.cmake
FindDCMTK.cmake BUG: fix for bug 1652 2005-04-05 13:37:30 -04:00
FindDart.cmake
FindDoxygen.cmake a) new version of tools like Doxygen and Graphviz now set install path info in win32 registery. use it. 2004-06-08 17:26:48 -04:00
FindFLTK.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindGCCXML.cmake
FindGLU.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindGLUT.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindGTK.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindGnuplot.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindHTMLHelp.cmake
FindITK.cmake
FindImageMagick.cmake
FindJNI.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindJPEG.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindJava.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindKDE.cmake ENH: add FindKDE from Alex from kde.org 2004-06-14 10:46:46 -04:00
FindLATEX.cmake
FindMFC.cmake
FindMPEG.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindMPEG2.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindMPI.cmake
FindOpenGL.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindPHP4.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindPNG.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindPerl.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindPerlLibs.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindPike.cmake ENH: Initial import of swig. Start working towards Bug #749 - Add swig support module to cmake 2004-04-30 12:11:02 -04:00
FindPythonLibs.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindQt.cmake ENH: Added search locations for a FreeBSD location. Contributed by Alexander Neundorf. 2005-06-07 08:44:30 -04:00
FindRuby.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindSDL.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindSWIG.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindSelfPackers.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindTCL.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindTIFF.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindTclsh.cmake
FindThreads.cmake BUG: Fix try-compile for sys/prctl.h. It needs to include sys/types.h first according to the man page. 2005-04-26 17:11:48 -04:00
FindUnixCommands.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindVTK.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindWget.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindWish.cmake
FindX11.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindZLIB.cmake ENH: Removing extra 64-bit search paths. They are now constructed automatically from the paths listed. 2005-04-07 14:27:01 -04:00
FindwxWidgets.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
FindwxWindows.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
MacOSXBundleInfo.plist.in
TestBigEndian.c
TestBigEndian.cmake ENH: fix for 1450 2005-02-09 23:00:16 -05:00
TestCXXAcceptsFlag.cmake BUG: Check for the variable first time 2004-10-27 10:45:07 -04:00
TestForANSIForScope.cmake
TestForANSIStreamHeaders.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
TestForANSIStreamHeaders.cxx
TestForAnsiForScope.cxx
TestForSTDNamespace.cmake
TestForSTDNamespace.cxx
UseSWIG.cmake ENH: make sure source flags don't have to be set 2005-04-04 16:55:35 -04:00
UseVTK40.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
UseVTKBuildSettings40.cmake
UseVTKConfig40.cmake
Use_wxWindows.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
UsewxWidgets.cmake ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
readme.txt

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