diff options
Diffstat (limited to 'Web/HTML/About.html')
-rw-r--r-- | Web/HTML/About.html | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/Web/HTML/About.html b/Web/HTML/About.html deleted file mode 100644 index a63a036..0000000 --- a/Web/HTML/About.html +++ /dev/null @@ -1,114 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> - -<html> - -<!--#include virtual="/CMake/HTML/Head.html"--> - -<body bgcolor="#FFFFFF" leftmargin=0 topmargin=0 text="black" > - -<!--#include virtual="/CMake/HTML/Table.html"--> - -<tr> -<!--#include virtual="/CMake/HTML/SideBar.html"--> - - <td width="550" valign="top" bgcolor="#FFFFFF"> - <div align="left"> - - <font size=5>CMake </font> is an extensible, open-source system that - manages the build process in an operating system and compiler independent - manner. Unlike many cross-platform systems, CMake is designed to be used - in conjunction with the native build environment. Simple configuration - files placed in each source directory (called CMakeLists.txt files) are - used to generate standard build files (e.g., makefiles on Unix and - projects/workspaces in Windows MSVC) which are used in the usual - way. CMake can compile source code, create libraries, generate wrappers, - and build executables in arbitrary combinations. CMake supports in-place - and out-of-place builds, and can therefore support multiple builds from a - single source tree. CMake also supports static and dynamic library - builds. Another nice feature of CMake is that it generates a cache file - that is designed to be used with a graphical editor. For example, when - CMake runs, it locates include files, libraries, and executable, and may - encounter optional build directives. This information is gathered into - the cache, which may be changed by the user prior to the generation of - the native build files. (The following figure is the CMake cache GUI in - the Windows MSVC environment.) - <div align="center"> - <img src="/CMake/Art/CMakeGUI.jpg" width=400 height=276 - border=0 alt=""> - </div> - <P> - - CMake is designed to support complex directory hierarchies and - applications dependent on several libraries. For example, CMake supports - projects consisting of multiple toolkits (i.e., libraries), where each - toolkit might contain several directories, and the application depends on - the toolkits plus additional code. CMake can also handle situations where - executables must be built in order to generate code that is then compiled - and linked into a final application. Because CMake is open source, and has - a simple, extensible design, CMake can be extended as necessary to support - new features. - <P> - - Using CMake is simple. The build process is controlled by creating one or - more CMakeLists.txt files in each directory (including subdirectories) - that make up a project. Each CMakeLists.txt consists of one or more - commands. Each command has the form COMMAND (args...) where COMMAND is - the name of the command, and args is a white-space separated list of - arguments. CMake provides many pre-defined commands, but if you need to, - you can add your own commands. In addition, the advanced user can add - other makefile generators for a particular compiler/OS combination. - (While Unix and MSVC++ is supported currently, other developers are - adding other compiler/OS support.) You may wish to study the - <a href="/CMake/HTML/Examples.html">examples</a> page to see more - details. - - <h3>The Origins of CMake</h3> CMake was created in response to the need - for a powerful, cross-platform build environment for the Insight - Segmentation and Registration Toolkit (ITK) funded by NLM as part of the - Visible Human Project. It was influenced by an earlier system called - <b>pcmaker</b> created by Ken Martin and other developers to support the - <a href="http://public.kitware.com/vtk.html">Visualization Toolkit - (VTK)</a> open source 3D graphics and visualization system. To create - CMake, Bill Hoffman at Kitware incorporated some key ideas from pcmaker, - and added many more of his own, with the thought to adopt some of the - functionality of the Unix - <b>configure</b> tool. The initial CMake implementation was mid-2000, - with acclerated development occuring in early 2001. Many improvements - were due to the influences of other developers incorporating CMake into - their own systems. For example, the - <a href="http://www.robots.ox.ac.uk/~vxl/">VXL</a> software community - adopted CMake as their build environment, contributing many essential - features. Brad King added several features in order to support the CABLE - automated wrapping environment and - <a href="http://public.kitware.com/GCC_XML">GCC-XML</a>, and - GE Corporate R&D required support of their testing infrastructure - (the <a href="http://public.kitware.com/Insight/Testing/HTML/TestingResults/Dashboard/MostRecentResults-Nightly/Dashboard.html">quality dashboard</a>). - Other features were added to support the transition of VTK's - build environment to CMake, and to support ParaView, a parallel - visualization system to support the - <a href="http://www.acl.lanl.gov/">Advanced Computing Lab</a> at Los Alamos - National Laboratory. - - <h3>How Do I Learn CMake?</h3> CMake is a young and rapidly growing - system. It has already seen extensive use in very large software systems - such as VTK, VXL, and ITK, and is therefore, quite - stable. Unfortuneately, the pace of development has outstripped the pace - of documentation. As a result, the best way to learn about CMake is to - study existing CMake installations, and to rely on the CMake mailing - list. There is some existing documentation, but until later in 2001 the - documentation should be treated with caution. Please go to the - <a href="/CMake/HTML/Documentation.html">documentation</a> for more - information. Also, see the <a href="/CMake/HTML/Examples.html">example</a> - found here. - </div> - </td> -</tr> - -</table> - -</td> -</tr> -</table> - -</body> -</html> |