Difference between revisions of "NA-MIC/Projects/NA-MIC Kit/CMake - NAMIC Kit Building"

From NAMIC Wiki
Jump to: navigation, search
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]]
 
  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]]
  
'''Objective:'''
+
= Name of Project =
  
 
The purpose of CMake is to simplify cross-platform development of software, and to integrate NAMIC software into the software testing and quality process. For example. CMake coordinates with [http://wiki.na-mic.org/Wiki/index.php/NA-MIC/Projects/NA-MIC_Kit/Dart_2_and_CTest_-_Software_Quality CTest] (to test software) and [http://wiki.na-mic.org/Wiki/index.php/NA-MIC/Projects/NA-MIC_Kit/CPack_-_NAMIC_Kit_Distribution CPack] (to package software).
 
The purpose of CMake is to simplify cross-platform development of software, and to integrate NAMIC software into the software testing and quality process. For example. CMake coordinates with [http://wiki.na-mic.org/Wiki/index.php/NA-MIC/Projects/NA-MIC_Kit/Dart_2_and_CTest_-_Software_Quality CTest] (to test software) and [http://wiki.na-mic.org/Wiki/index.php/NA-MIC/Projects/NA-MIC_Kit/CPack_-_NAMIC_Kit_Distribution CPack] (to package software).
  
'''Progress:'''
+
= Description =
  
CMake is a cross platform build tool that converts simple scripts called CMake list files into a set of files used by the native development environment to build (i.e., compile and link) the project. It does this across all combinations of hardware, operating system and compilers (each combination is called a ''platform'') that are used in the NAMIC environment. CMake is the tool that makes it posssible for the NA-MIC Kit to run across multiple computer operating systems. CMake supports several advanced features including system inspection, shared library versioning, and parallel building of files. CMake helps integrate software development into the NAMIC quality process via the related CTest tool.
+
CMake is a cross platform build tool that converts simple scripts called CMake list files into a set of files used by the native development environment to build (i.e., compile and link) the project. It does this across all combinations of hardware, operating system and compilers (each combination is called a ''platform'') that are used in the NAMIC environment. CMake is the tool that makes it posssible for the NA-MIC Kit to run across multiple computer operating systems. CMake supports several advanced features including system inspection, shared library versioning, and parallel building of files. CMake helps integrate software development into the NAMIC quality process via the related [http://wiki.na-mic.org/Wiki/index.php/NA-MIC/Projects/NA-MIC_Kit/Dart_2_and_CTest_-_Software_Quality CTest] tool.
  
In Year 3, support for several new platforms was added including Microsoft Visual Studio 8, 64-bit support for Windows, and MinGW. Sophisiticated support for programmable build targets was also added, as well as integration with CPack and CTest. Probably the biggest accomplishment related to CMake was the selection of CMake as the build tool for KDE, the Linux desktop windows environment. (KDE is claimed to be the world's largest open source software project.) This is a clear validation that the software process used by NA-MIC is world-class.
+
In Year 3, much of the effort built on last year's adoption of CMake by the KDE community (the world's largest open source software system). The resulting visibility led to significant increases in the size of the CMake community, as well as numerous contributions and bug reports. The following are highlights of the past year's effort.
 +
* Improved Mac XCode support
 +
* Extensions to CMake language (e.g., elseif construct, FILE_IS_NEWER to if command)
 +
* Optimized speed / performance improvements
 +
* Improved FindPackage.cmake modules (for example, Package is Qt3, Qt4)
 +
* Better default search paths
 +
* CPack integration and support
 +
* Support for QNX platform
 +
* Numerous bug fixes
  
'''Key Investigators:'''
+
= Key Investigators =
  
 
* Kitware: Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin
 
* Kitware: Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin
  
'''Links:'''
+
= Links =
  
 
* http://www.cmake.org
 
* http://www.cmake.org
 
* http://www.cmake.org/Wiki/CMake
 
* http://www.cmake.org/Wiki/CMake

Latest revision as of 18:17, 28 November 2007

Home < NA-MIC < Projects < NA-MIC Kit < CMake - NAMIC Kit Building
Back to NA-MIC_Collaborations

Name of Project

The purpose of CMake is to simplify cross-platform development of software, and to integrate NAMIC software into the software testing and quality process. For example. CMake coordinates with CTest (to test software) and CPack (to package software).

Description

CMake is a cross platform build tool that converts simple scripts called CMake list files into a set of files used by the native development environment to build (i.e., compile and link) the project. It does this across all combinations of hardware, operating system and compilers (each combination is called a platform) that are used in the NAMIC environment. CMake is the tool that makes it posssible for the NA-MIC Kit to run across multiple computer operating systems. CMake supports several advanced features including system inspection, shared library versioning, and parallel building of files. CMake helps integrate software development into the NAMIC quality process via the related CTest tool.

In Year 3, much of the effort built on last year's adoption of CMake by the KDE community (the world's largest open source software system). The resulting visibility led to significant increases in the size of the CMake community, as well as numerous contributions and bug reports. The following are highlights of the past year's effort.

  • Improved Mac XCode support
  • Extensions to CMake language (e.g., elseif construct, FILE_IS_NEWER to if command)
  • Optimized speed / performance improvements
  • Improved FindPackage.cmake modules (for example, Package is Qt3, Qt4)
  • Better default search paths
  • CPack integration and support
  • Support for QNX platform
  • Numerous bug fixes

Key Investigators

  • Kitware: Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin

Links