FACTOID # 63: Brazil takes up 47.8% of South America.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Cmake
CMake
Developed by Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Latest release 2.4.8 / 23 January 2008
OS Cross-platform
Genre Software development tools
License BSD License
Website http://www.cmake.org/

CMake is a cross-platform system for build automation. It is comparable to the Unix Make program in that the build process is ultimately controlled by configuration files, in the case of CMake called CMakeLists.txt files. Unlike Make, it does not directly build the final software, but instead generates standard build files (e.g., makefiles on Unix and projects/workspaces in Windows Visual C++) which are used in the usual way. This allows developers familiar with a particular development environment (such as the various IDEs) to use it in the standard way. It is this use of the native build environment that distinguishes CMake from most other similar systems like SCons. 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. For other uses, see Software developer (disambiguation). ... Code complete redirects here. ... is the 23rd day of the year in the Gregorian calendar. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Anno Domini (or common era), in accordance to the Gregorian calendar. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... A cross-platform (or platform independent) programming language, software application or hardware device works on more than one system platform (e. ... A programming tool is a program or application that software developers use to create, debug, or maintain other programs and applications. ... A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... The BSD license is a permissive license and is one of the most widely used free software licenses. ... A website (alternatively, Web site or web site) is a collection of Web pages, images, videos or other digital assets that is hosted on one or several Web server(s), usually accessible via the Internet, cell phone or a LAN. A Web page is a document, typically written in HTML... A cross-platform (or platform independent) programming language, software application or hardware device works on more than one system platform (e. ... Build Automation is the act of scripting or automating the process of turning computer source code into binary code. ... In computer programming, make is a utility for automatically building large applications. ... make is a computer program that automates the compilation of programs whose files are dependent on each other. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®, sometimes also written as or ® with small caps) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... This article or section does not cite any references or sources. ... Binomial name Leuciscus idus Linnaeus, 1758 The Ide or Orfe, Leuciscus idus, is a freshwater fish of the family Cyprinidae found across northern Europe and Asia. ... SCons is an open source software build tool. ...


The name "CMake" is an abbreviation for "cross platform make". Despite the use of "make" in the name, CMake is a separate and higher-level application suite than the make system common to Unix development.

Contents

History

CMake was created in response to the need for a suitable cross-platform build environment for the Insight Segmentation and Registration Toolkit (ITK) funded by the United States National Library of Medicine as part of the Visible Human Project. It was influenced by an earlier system called pcmaker created by Ken Martin and other developers to support the Visualization Toolkit (VTK), an 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 GNU build system. The initial CMake implementation was mid-2000, with accelerated development occurring 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 CABLE and GCC-XML, a set of automated wrapping tools; and GE Corporate R&D required support of their testing infrastructure (DART). 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 Advanced Computing Lab at Los Alamos National Laboratory. In computer programming, ITK is a cross-platform application development framework, widely used for the development of image segmentation and image registration programs. ... The United States National Library of Medicine (NLM), operated by the United States federal government, is the worlds largest medical library. ... The Visible Human Project is an effort to create a detailed data set of cross-sectional photographs of the human body, in order to facilitate anatomy visualization applications. ... Visualization Toolkit (VTK) is an open source graphics application. ... The GNU build system is a suite of tools produced by the GNU project that assist in making packages portable to many UNIX-like systems. ... VXL Logo VXL, the Vision-something-Library is a collection of open source C++ libraries for Computer Vision. ... Los Alamos National Laboratory, aerial view from 1995. ...


Major features

  • Configuration files are CMake scripts, which use a programming language specialized to software builds
  • Automatic dependency analysis built-in for C, C++, Fortran and Java,
  • Support of SWIG, Qt, FLTK via the CMake scripting language,
  • Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files,
  • Detection of file content changes using traditional timestamps,
  • Support for parallel builds,
  • Cross-compilation
  • Global view of all dependencies, using CMake to output a graphviz diagram,
  • Support for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP-UX, IRIX/SGI, MinGW/MSYS and Solaris), Mac OS X and Windows 95/98/NT/2000/XP,
  • Integrated with Dart, CTest and CPack, a collection of tools for software testing and release.

C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... C++ (pronounced ) is a general-purpose programming language. ... Fortran (previously FORTRAN[1]) is a general-purpose[2], procedural,[3] imperative programming language that is especially suited to numeric computation and scientific computing. ... Java language redirects here. ... SWIG (Simplified Wrapper and Interface Generator) is a free computer software tool used to connect programs written in C/C++ with scripting languages such as Tcl, Perl, Python, Ruby, Guile, PHP and other languages like Java, C#, and Ocaml. ... For other uses, see Qt. ... The Fast, Light Toolkit (generally pronounced fulltick) is a cross-platform GUI library, developed by Bill Spitzak and others. ... Microsoft Visual Studio is Microsofts flagship software development product for computer programmers. ... Compiling a program takes place by running a compiler on the build platform. ... Visual rendering by Graphviz. ... This article is about operating systems that use the Linux kernel. ... POSIX or Portable Operating System Interface[1] is the collective name of a family of related standards specified by the IEEE to define the application programming interface (API) for software compatible with variants of the Unix operating system. ... AIX (Advanced Interactive eXecutive) is a proprietary operating system developed by IBM based on UNIX System V. Before the product was ever marketed, the acronym AIX originally stood for Advanced IBM UNIX. AIX has pioneered numerous network operating system enhancements, introducing new innovations later adopted by Unix-like operating systems... BSD/OS (originally called BSD/386 and commonly known as BSDi) was a commercial version of the BSD Unix operating system developed by Berkeley Software Design, Inc. ... HP-UX (Hewlett Packard UniX) is Hewlett-Packards proprietary implementation of the Unix operating system, based on System V (initially System III). ... IRIX is a computer operating system developed by Silicon Graphics, Inc. ... MinGW or Mingw32 (Minimalist GNU for Windows) is a software port of the GNU toolchain to the Win32 platform. ... Solaris is a computer operating system developed by Sun Microsystems. ... Mac OS X (pronounced ) is a line of graphical operating systems developed, marketed, and sold by Apple Inc. ... The Windows logo used since November 2006. ... Look up dart in Wiktionary, the free dictionary. ... CPack is a packaging system for software distributions which is tightly integrated with CMake, but can function without it. ...

Applications using Cmake

Bullet is an open source physics engine, hosted at Sourceforge. ... For the NYSE stock ticker symbol KDE, see 4Kids Entertainment. ... Visualization Toolkit (VTK) is an open source graphics application. ... In computer programming, ITK is a cross-platform application development framework, widely used for the development of image segmentation and image registration programs. ... The subject of this article may not satisfy the notability guideline or one of the following guidelines for inclusion on Wikipedia: Biographies, Books, Companies, Fiction, Music, Neologisms, Numbers, Web content, or several proposals for new guidelines. ... This is an overview of the Devil. ... The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modelling. ... Scribus is a free, open source desktop publishing (DTP) application. ... Drishti (meaning vision or insight in Sanskrit) is a multi-platform, open-source Volume Exploration and Presentation Tool. ... PvPGN (Player vs Player Gaming Network) is a free and open source software project offering emulation of various gaming network servers. ... Quantum GIS (often abbreviated to QGIS) is an open source GIS (mapping) application which is similar to commercial mapping packages. ...

See also

Free software Portal

Image File history File links Free_Software_Portal_Logo. ... Automake is a programming tool that produces portable makefiles for use by the make program, used in compiling software. ... SCons is an open source software build tool. ... Visualization Toolkit (VTK) is an open source graphics application. ...

External links

  • CMake home page
  • Why the KDE project switched to CMake — and how


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m