CMake/Modules
Brad King 128f3cbd00 ENH: Added CMAKE_SHARED_LIBRARY_SONAME_C_FLAG and CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG settings to enable shared library version support for SGI. 2003-12-12 15:42:55 -05:00
..
Platform ENH: Added CMAKE_SHARED_LIBRARY_SONAME_C_FLAG and CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG settings to enable shared library version support for SGI. 2003-12-12 15:42:55 -05:00
CMakeBackwardCompatibilityC.cmake Fix FindX11 to match convention 2003-01-08 11:45:48 -05:00
CMakeBackwardCompatibilityCXX.cmake ENH: only force the use of ansi flags in backwards mode 2003-01-08 12:12:15 -05:00
CMakeBorlandFindMake.cmake determine CMAKE_MAKE_PROGRAM in EnableLanguage 2002-12-03 16:19:16 -05:00
CMakeBuildSettings.cmake.in ENH: Adding CMAKE_EXPORT_BUILD_SETTINGS and CMAKE_IMPORT_BUILD_SETTINGS macro. 2002-12-05 09:46:30 -05:00
CMakeCCompiler.cmake.in ENH: reduce the number of times gnu is tested for 2003-12-12 09:12:49 -05:00
CMakeCXXCompiler.cmake.in ENH: reduce the number of times gnu is tested for 2003-12-12 09:12:49 -05:00
CMakeDefaultMakeRuleVariables.cmake ENH: Using separate CMAKE_SHARED_LIBRARY_SONAME flags for C and CXX. 2003-12-12 14:35:18 -05:00
CMakeDetermineCCompiler.cmake ENH: reduce the number of times gnu is tested for 2003-12-12 09:12:49 -05:00
CMakeDetermineCXXCompiler.cmake ENH: reduce the number of times gnu is tested for 2003-12-12 09:12:49 -05:00
CMakeDetermineJavaCompiler.cmake FIX: for Windows users, it seems logical to favor native win32 installation before Cygwin ones. Otherwise you can end up with bad mixes (part of the java tools were picked from the SDK, part from Cygwin) 2003-10-16 11:05:04 -04:00
CMakeDetermineSystem.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CMakeExportBuildSettings.cmake ENH: Adding CMAKE_EXPORT_BUILD_SETTINGS and CMAKE_IMPORT_BUILD_SETTINGS macro. 2002-12-05 09:46:30 -05:00
CMakeImportBuildSettings.cmake BUG: Comparison of build tool should be case-insensitive. 2003-09-26 11:15:28 -04:00
CMakeJavaCompiler.cmake.in If there is no java compiler report error on ADD_JAVA_LIBRARY 2002-12-26 19:59:21 -05:00
CMakeLists.txt ENH: Installing readme.txt in Modules directory to be consistent with windows. 2003-08-11 17:34:12 -04:00
CMakeNMakeFindMake.cmake determine CMAKE_MAKE_PROGRAM in EnableLanguage 2002-12-03 16:19:16 -05:00
CMakePrintSystemInformation.cmake Complete rework of makefile generators expect trouble 2002-11-08 15:46:08 -05:00
CMakeSystem.cmake.in ENH: add CMAKE_SYSTEM_PROCESSOR 2003-06-11 10:07:57 -04:00
CMakeSystemSpecificInformation.cmake ENH: add the unix makefile generator as an option from the windows GUI, this builds with mingw, cygwin, and combinations of make cl, bcc32 2003-08-21 16:22:23 -04:00
CMakeTestCCompiler.cmake BUG#411: Re-ordering statements so errors show up in CMakeError.log. 2003-12-01 13:06:35 -05:00
CMakeTestCXXCompiler.cmake BUG#411: Re-ordering statements so errors show up in CMakeError.log. 2003-12-01 13:06:35 -05:00
CMakeTestGNU.c ENH: add the unix makefile generator as an option from the windows GUI, this builds with mingw, cygwin, and combinations of make cl, bcc32 2003-08-21 16:22:23 -04:00
CMakeTestNMakeCLVersion.c added test for whether pdbtype should be used for nmake 2003-08-05 09:55:20 -04:00
CMakeUnixFindMake.cmake BUG: Removed stray debugging message. 2002-12-04 16:59:05 -05:00
CMakeVS6BackwardCompatibility.cmake added big endian stuff 2003-01-09 08:50:00 -05:00
CMakeVS6FindMake.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CMakeVS7BackwardCompatibility.cmake added big endian stuff 2003-01-09 08:50:00 -05:00
CMakeVS7FindMake.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CMakeVS71FindMake.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CheckForPthreads.c ENH: Do better test for pthreads 2003-08-01 16:48:41 -04:00
CheckFunctionExists.c Add two commonly used modules. First one checks if the function exists, the second one checks the size of type 2002-09-20 13:16:50 -04:00
CheckFunctionExists.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CheckIncludeFile.c.in Simplify checking for headers 2002-09-20 14:16:43 -04:00
CheckIncludeFile.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CheckIncludeFile.cxx.in Complete rework of makefile generators expect trouble 2002-11-08 15:46:08 -05:00
CheckIncludeFileCXX.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CheckIncludeFiles.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CheckLibraryExists.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
CheckLibraryExists.lists.in Initial attempt to check if library exists 2002-09-24 16:36:56 -04:00
CheckSizeOf.cmake ENH: Renamed Modules/CheckSizeOf to Modules/CheckTypeSize for consistency with the macro name that is defined by the module. 2002-12-30 11:02:31 -05:00
CheckSymbolExists.cmake ENH: Extra new line after output 2003-07-17 14:55:45 -04:00
CheckTypeSize.c ENH: Renamed Modules/CheckSizeOf to Modules/CheckTypeSize for consistency with the macro name that is defined by the module. 2002-12-30 11:02:31 -05:00
CheckTypeSize.cmake ENH: Documentation fix 2003-10-13 15:27:58 -04:00
CheckVariableExists.c ENH: Added CHECK_VARIABLE_EXISTS macro. 2002-11-21 10:11:46 -05:00
CheckVariableExists.cmake BUG: Message describing variable was using result variable. 2003-10-11 08:12:21 -04:00
Dart.cmake ENH: Improve coverage on systems with multiple gcov commands 2003-12-08 11:23:46 -05:00
DartConfiguration.tcl.in ENH: Improve coverage on systems with multiple gcov commands 2003-12-08 11:23:46 -05:00
Documentation.cmake ENH: it's time to create a real Microsoft HTML Help Workshop CMake module 2002-12-22 10:09:51 -05:00
DummyCXXFile.cxx add checks for ansi flags and not hard code them 2002-11-21 12:52:54 -05:00
FindAVIFile.cmake Fixed mistake in comments 2002-09-03 06:10:06 -04:00
FindCABLE.cmake ENH: Updated search paths to newest values from Cable. 2003-04-22 16:10:18 -04:00
FindCurses.cmake ENH: Added /lib to curses search path. 2001-12-12 12:05:20 -05:00
FindCygwin.cmake Remove unneeded test and code duplication. Add WIN32 test. Make all ADVANCED. 2001-12-04 10:55:17 -05:00
FindDart.cmake ENH: look for Dart in c: 2002-02-25 13:20:48 -05:00
FindDoxygen.cmake Remove unneeded test and code duplication. Add WIN32 test. Make all ADVANCED. 2001-12-04 10:55:17 -05:00
FindFLTK.cmake ENH: Added /usr/local/lib/fltk 2003-04-04 10:05:20 -05:00
FindGCCXML.cmake ENH: Updated for version 0.2 of GCC-XML. 2002-04-17 14:51:58 -04:00
FindGLU.cmake Fixed mistake in comments 2002-09-03 06:10:06 -04:00
FindGLUT.cmake ENH: Description of variables now specifies that the full path is required. 2002-12-03 13:44:50 -05:00
FindGTK.cmake BUG#299: GTK_gmodule_LIBRARY is optional just like GTK_gthread_LIBRARY. 2003-11-12 17:44:17 -05:00
FindGnuplot.cmake Add module to find gnuplot 2002-02-04 18:41:47 -05:00
FindHTMLHelp.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
FindITK.cmake ENH: Enhanced FindITK supporting use of ITK from an install tree or a build tree. Only one cache entry is brought into user's project, called "ITK_DIR". This is the location of an ITKConfig.cmake file from which other settings are loaded. 2002-11-06 18:40:13 -05:00
FindImageMagick.cmake IMPORTANT FIX: be extra-careful here on WIN32, we do NOT want CMake to look in the system's PATH env var to search for ImageMagick's convert.exe, otherwise it is going to pick Microsoft Window's own convert.exe, which is used to convert FAT partitions to NTFS format ! Depending on the options passed to convert.exe, there is a good chance you would kiss your hard-disk good-bye. 2003-01-21 10:59:48 -05:00
FindJNI.cmake FIX: for Windows users, it seems logical to favor native win32 installation before Cygwin ones. Otherwise you can end up with bad mixes (part of the java tools were picked from the SDK, part from Cygwin) 2003-10-16 11:05:04 -04:00
FindJPEG.cmake Fixed mistake in comments 2002-09-03 06:10:06 -04:00
FindJava.cmake FIX: for Windows users, it seems logical to favor native win32 installation before Cygwin ones. Otherwise you can end up with bad mixes (part of the java tools were picked from the SDK, part from Cygwin) 2003-10-16 11:05:04 -04:00
FindLATEX.cmake BUG#262: Marking DVIPDF_CONVERTER as advanced. 2003-10-30 13:33:51 -05:00
FindMFC.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
FindMPEG.cmake Add an MPEG finder in the new format - functionality copied from VXL. 2002-09-03 08:24:48 -04:00
FindMPEG2.cmake merge from branch 2003-01-22 14:49:45 -05:00
FindMPI.cmake BUG: fix for bugs 125 - 128, and a fix for the bug introduced by the bug fix for but 92. & was being replaced with &amp, but after double quote was replaced with &quot causing it to be &quot. Also add more search paths for mpi 2003-08-07 09:19:39 -04:00
FindOpenGL.cmake ENH: Adding /usr/include/w32api for OpenGL header search. 2003-12-09 14:33:10 -05:00
FindPNG.cmake fixed typo 2003-01-13 09:24:37 -05:00
FindPerl.cmake FIX: the current version of Perl is 5.8 2003-01-23 10:36:35 -05:00
FindPythonLibs.cmake BUG: remove junk code 2003-11-21 13:12:39 -05:00
FindQt.cmake ENH: Make it work for QT 2.3 non commercial on windows 2003-08-01 19:13:38 -04:00
FindSDL.cmake merge from branch 2003-01-22 14:49:45 -05:00
FindSelfPackers.cmake Remove unneeded test and code duplication. Add WIN32 test. Make all ADVANCED. 2001-12-04 10:55:17 -05:00
FindTCL.cmake FIX: for Windows users, it seems logical to favor native win32 installation before Cygwin ones. Otherwise you can end up with bad mixes (part of the java tools were picked from the SDK, part from Cygwin) 2003-10-16 11:05:04 -04:00
FindTIFF.cmake Fixed mistake in comments 2002-09-03 06:10:06 -04:00
FindTclsh.cmake ENH: Adding registry entries to search path. 2003-11-04 09:36:33 -05:00
FindThreads.cmake ERR: Reorganize to try to fix the -pthread problem on some systems 2003-08-22 09:52:05 -04:00
FindUnixCommands.cmake Remove unneeded test and code duplication. Add WIN32 test. Make all ADVANCED. 2001-12-04 10:55:17 -05:00
FindVTK.cmake ENH: Improved error message for VTK_DIR not found to refer to it as a cache entry. Some users thought this was supposed to be an environment variable. 2003-07-24 11:06:18 -04:00
FindWget.cmake Add helpful message for QT Windows users 2002-09-02 12:05:40 -04:00
FindWish.cmake ENH: Adding registry entries to search path. 2003-11-04 09:36:33 -05:00
FindX11.cmake Attempt to fix build problem on some platforms 2003-01-29 09:06:46 -05:00
FindZLIB.cmake This file should not be empty 2002-09-02 16:24:25 -04:00
FindwxWindows.cmake ERR: If WX_CONFIG_LIBS are , then you get weird cmake error. This should fix it 2003-08-21 13:26:56 -04:00
TestBigEndian.c Add test for big endian 2002-10-01 15:56:18 -04:00
TestBigEndian.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
TestCXXAcceptsFlag.cmake ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
TestForANSIForScope.cmake BUG#374: Adding OUTPUT_VARIABLE OUTPUT to TRY_COMPILE commands. 2003-11-12 16:51:09 -05:00
TestForANSIStreamHeaders.cmake try to fix check for ansi stream 2002-11-21 14:45:21 -05:00
TestForANSIStreamHeaders.cxx new try compile module 2002-09-12 11:14:50 -04:00
TestForAnsiForScope.cxx ERR: Removed warning for unused variable. 2003-05-16 16:33:11 -04:00
TestForSTDNamespace.cmake BUG#374: Adding OUTPUT_VARIABLE OUTPUT to TRY_COMPILE commands. 2003-11-12 16:51:09 -05:00
TestForSTDNamespace.cxx Complete rework of makefile generators expect trouble 2002-11-08 15:46:08 -05:00
UseVTK40.cmake ENH: Added support for finding/using VTK 4.0 without using its UseVTK.cmake file that does a LOAD_CACHE. 2002-12-05 10:47:18 -05:00
UseVTKBuildSettings40.cmake ENH: Added support for finding/using VTK 4.0 without using its UseVTK.cmake file that does a LOAD_CACHE. 2002-12-05 10:47:18 -05:00
UseVTKConfig40.cmake BUG: Copying _LIB_DEPENDS variables requires double-quoted argument. 2003-02-07 16:29:13 -05:00
Use_wxWindows.cmake ENH: Add Use file for wxWindows. Thanks Jan Woetzel 2003-07-29 13:36:50 -04:00
readme.txt Add important missing word to documentation 2002-09-06 11:00:51 -04:00

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.