diff --git a/Web/Art/CMakeBanner.jpg b/Web/Art/CMakeBanner.jpg new file mode 100644 index 000000000..60c1dc9d4 Binary files /dev/null and b/Web/Art/CMakeBanner.jpg differ diff --git a/Web/Art/CMakeBanner.psd b/Web/Art/CMakeBanner.psd new file mode 100644 index 000000000..5640ac0e5 Binary files /dev/null and b/Web/Art/CMakeBanner.psd differ diff --git a/Web/Art/CMakeLogo.ppt b/Web/Art/CMakeLogo.ppt new file mode 100644 index 000000000..1ca31ad0e Binary files /dev/null and b/Web/Art/CMakeLogo.ppt differ diff --git a/Web/Art/CMakeLogo.psd b/Web/Art/CMakeLogo.psd new file mode 100644 index 000000000..1c6819751 Binary files /dev/null and b/Web/Art/CMakeLogo.psd differ diff --git a/Web/Art/SideBar.jpg b/Web/Art/SideBar.jpg new file mode 100644 index 000000000..d79460e0e Binary files /dev/null and b/Web/Art/SideBar.jpg differ diff --git a/Web/Art/SideBar.psd b/Web/Art/SideBar.psd new file mode 100644 index 000000000..ede3c0473 Binary files /dev/null and b/Web/Art/SideBar.psd differ diff --git a/Web/Art/acl.gif b/Web/Art/acl.gif new file mode 100644 index 000000000..47f623a2c Binary files /dev/null and b/Web/Art/acl.gif differ diff --git a/Web/Art/itkLogoSmallTransparentBackground.gif b/Web/Art/itkLogoSmallTransparentBackground.gif new file mode 100644 index 000000000..a16d5e610 Binary files /dev/null and b/Web/Art/itkLogoSmallTransparentBackground.gif differ diff --git a/Web/Art/nlm_logo.gif b/Web/Art/nlm_logo.gif new file mode 100644 index 000000000..f0554a523 Binary files /dev/null and b/Web/Art/nlm_logo.gif differ diff --git a/Web/Art/swooshSmall.gif b/Web/Art/swooshSmall.gif new file mode 100644 index 000000000..2ed9c2b49 Binary files /dev/null and b/Web/Art/swooshSmall.gif differ diff --git a/Web/HTML/About.html b/Web/HTML/About.html new file mode 100644 index 000000000..aac273a74 --- /dev/null +++ b/Web/HTML/About.html @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + +
+ + CMake 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.) +

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

+ + 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 + examples page to see more + details. + +

A Summary Of Features

+ CMake has several powerful features. These include: + + +

The Origins of CMake

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 grew out of an earlier system called + pcmaker created by Ken Martin and other developers to support the + Visualization Toolkit + (VTK) open source 3D graphics and visualization system. To create + CMake, Bill Hoffman at Kitware incorporated some key ideas from pcmaker, + with the thought to adopt some of the functionality of the Unix + configure 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 + VXL 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 + gcc-XML, and + GE Corporate R&D required support of their testing infrastructure + (the quality dashboard). Other + features were added by Ken Martin to support the transition of VTK's + build environment to CMake, and to support ParaView, a parallel + visualization system to support the + Advanced Computing Lab at Los Alamos + National Laboratory. + +

How Do I Learn CMake?

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 + documentation for more + information. + +
+ + + + + + + + + + + diff --git a/Web/HTML/Documentation.html b/Web/HTML/Documentation.html new file mode 100644 index 000000000..ad726fb7c --- /dev/null +++ b/Web/HTML/Documentation.html @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + +
+ CMake documentation is under construction. You may + wish to view the following PDF file. This file is out of date: please + use it as a general guide only. For definitive information, refer to the + CMake mailing list, or study an existing implementation (such as + ITK or + VTK). + Improved documentation will be available at summer's end 2001. +

+

To obtain access to the VTK CVS repository:

+ This repository is the "experimental" CMake-based environment. VTK 4.0 + will use CMake in preference to the current build environment. VTK is + a very large system for 3D graphics and visualization consisting of + approximately 700 classes and hundreds of thousands of lines of executable + code. It fully exploits CMake's capabilities because of the automated + "wrapping" process that automatically generates interface code to Tcl, + Python, and Java from the C++ header files. +

+ cvs -d :pserver:anonymous@www.visualizationtoolkit.org:/vtk/cvsroot login
+ (respond with password vtk) +

+ Follow this command by checking out the source code:
+ cvs -d :pserver:anonymous@www.visualizationtoolkit.org:/vtk/cvsroot co vtk +

+ +

To obtain access to the ITK CVS repository:

+ Insight (ITK) is the first project to adopt ITK. It is heavily templated + C++ code using the generic programming style. It has an especially nice + testing environment driven by CMake. +

+ cvs -d :pserver:anonymous@public.kitware.com:/insight/cvsroot login
+ (respond with password insight) +

+ Follow this command by checking out the source code:
+ cvs -d :pserver:anonymous@public.kitware.com:/insight/cvsroot co Insight +

+ +

+ + + + + + + + + + + diff --git a/Web/HTML/Download.html b/Web/HTML/Download.html new file mode 100644 index 000000000..2096dccf6 --- /dev/null +++ b/Web/HTML/Download.html @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + +
+ Download the software by using CVS. CVS is a source + code revision control system used by many participants in the open-source + community. There is currently no method to obtain the software as a + packaged zip or tar file. Packaged releases will become available in + the near future. +

+ To use CVS, you must have it installed on your system. You may wish to + use the + Cygwin tools on Windows + platforms, or WinCVS which provides + a very nice GUI to CVS. +

+ The source is accessed by checking out a read-only version of the CMake + source code. (Only developers have write-access to the repository. Contact + Kitware at kitware@kitware.com if you require write access.) Use + the following commands. +

+ cvs -d :pserver:anonymous@public.kitware.com:/insight/cmakecvsroot login
+ (respond with password insight) +

+ Follow this command by checking out the source code:
+ cvs -d :pserver:anonymous@public.kitware.com:/insight/cmakecvsroot co CMake +

+ + + + + + + + + + + diff --git a/Web/HTML/Examples.html b/Web/HTML/Examples.html new file mode 100644 index 000000000..9ba12dcd6 --- /dev/null +++ b/Web/HTML/Examples.html @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + +
+ The following example demonstrates some key ideas + of CMake. + +
+ + + + + + + + + + + diff --git a/Web/HTML/FAQ.html b/Web/HTML/FAQ.html new file mode 100644 index 000000000..dafcc32d8 --- /dev/null +++ b/Web/HTML/FAQ.html @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + +
+ The CMake FAQ is not yet available. + +
+ + + + + + + + + + + diff --git a/Web/HTML/Head.html b/Web/HTML/Head.html new file mode 100644 index 000000000..7f3be81db --- /dev/null +++ b/Web/HTML/Head.html @@ -0,0 +1,10 @@ + + CMake Cross Platform Make + + + + + + diff --git a/Web/HTML/MailingLists.html b/Web/HTML/MailingLists.html new file mode 100644 index 000000000..8cd8c598d --- /dev/null +++ b/Web/HTML/MailingLists.html @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + +
+ The CMake mailing list is the principal means of + communications among developers. Please go + + here to subscribe to the list. Instructions are given to + receive an archive version of the list; as well as to manage + and unsubscribe from the list. +
+ + + + + + + + + + + diff --git a/Web/HTML/News.html b/Web/HTML/News.html new file mode 100644 index 000000000..6c021f857 --- /dev/null +++ b/Web/HTML/News.html @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + +
+ + Current news is listed in the following. Please visit the + CMake mailing list and archives for detailed information. + + +
+ + + + + + + + + + + diff --git a/Web/HTML/SideBar.html b/Web/HTML/SideBar.html new file mode 100644 index 000000000..af6c6b5f5 --- /dev/null +++ b/Web/HTML/SideBar.html @@ -0,0 +1,14 @@ + +  Home

+  About

+  Sponsors

+  Examples

+  Download

+  Documentation

+  FAQ

+  Mailing Lists

+  Testing

+  News

+ + diff --git a/Web/HTML/Sponsors.html b/Web/HTML/Sponsors.html new file mode 100644 index 000000000..8ebcb5dcc --- /dev/null +++ b/Web/HTML/Sponsors.html @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + +
+Many generous sponsors and contributors +have supported this work. NLM continues to provide executive leadership in the +administion of the project. The supporting agencies and institutes supporting +this work include:


+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + NLM logo + National Library of Medicine (NLM) - Dr. Terry Yoo at NLM/NIH is + sponsoring the bulk of this work as part of the Insight segmentation + and registration toolkit (ITK). CMake was originally created to + support the multi-platform support necessary for ITK. +
+ + ITK logo + Insight Segmentation and Registration Toolkit - ITK is the original + sponsoring project for ITK. ITK is being funded by NLM to develop + cutting-edge algorithms and techniques to support the + + Visible Human Project. +
+ + Kitware logo + Kitware, Inc. - Kitware personnel, primarily Bill Hoffman, Ken Martin, + and Brad King, were the principal developers of CMake. +
+ + ACL Logo + Advanced Computing Lab at Los Alamos National Lab - Jim Ahrens + at LANL is technical project leader. He has supported the deployment + of CMake for building parallel processing applications. +
+
+ +
+ + + + + + + + + + + diff --git a/Web/HTML/Style.css b/Web/HTML/Style.css new file mode 100644 index 000000000..480fc47d9 --- /dev/null +++ b/Web/HTML/Style.css @@ -0,0 +1,41 @@ + + + diff --git a/Web/HTML/Table.html b/Web/HTML/Table.html new file mode 100644 index 000000000..51c0c153a --- /dev/null +++ b/Web/HTML/Table.html @@ -0,0 +1,8 @@ + + + + + diff --git a/Web/HTML/Testing.html b/Web/HTML/Testing.html new file mode 100644 index 000000000..56d6275ab --- /dev/null +++ b/Web/HTML/Testing.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + +
+ +
+
+ + The CMake testing dashboard is not currently available. + The nightly testing and release process will be available shortly. + +
+
+ + + + + + + diff --git a/Web/index.html b/Web/index.html new file mode 100644 index 000000000..e28446f9b --- /dev/null +++ b/Web/index.html @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + +
+Welcome to CMake, the cross-platform, open-source make +system. CMake is used to control the software compilation process using +simple platform and compiler independent configuration files. CMake +generates native makefiles and workspaces that can be used in the compiler +environment of your choice. CMake is quite sophisticated: it is possible to +support complex environments requiring system configuration, pre-processor +generation, code generation, and template instantiation. Please go here to learn more about CMake. + +

+CMake was developed by +Kitware as part of the +NLM Insight Segmentation and +Registration Toolkit project. The Advanced Computing Lab at Los Alamos +National Lab also provided support in the context of their parallel +computation environment. Other sponsors include the Insight, +VTK, and +VXL +open source software communities. + +

+The goals for CMake include the following: +

+

+ + + + + + + + + + + + +
+
+ + + + + + + + + + +