= CMake-Based Build System for Boost: Features = This page describes some of the features of a CMake-based build system for Boost. Some of the features come from CMake itself, some from the Boost-specific CMake macros. * Configuration and user experience * CMake is trivial to install on many platforms * Automatically probes for compilers, supported libraries, and tools (e.g., no need to write a user-config.jam) * Graphical CMake configuration makes customized builds easy * Uses native build tools (e.g., Visual Studio, make, Xcode, Kdevelop) to build Boost * Portability * CMake works on a variety of platforms, many of which are [http://www.cdash.org/CDash/index.php?project=CMake tested nightly]. * CMake input files are platform-independent, high-level build descriptions. * Deployment * Complete support for installing from a build tree. * Builds [wiki:CMakeBinaryInstaller binary installers] for Boost for a variety of platforms and formats (Mac OS X packages, Windows installers, RPMs, DEBs, etc.) * Build system supports a modular Boost distribution, where libraries are self-contained subdirectories from which users can download and build a subset (in progress). * Regression testing * Complete [wiki:CMakeTesting regression-testing support] using CTest * Support for submitting regression testing results to a dashboard ([http://www.cdash.org CDash], Dart, Dart2; in progress: [http://bitten.edgewall.org/ Bitten]) * Ability to build and run regression tests against an installed Boost tree. * Maintainability * CMake is open source (BSD license) and written in C++ * CMake is actively developed and maintained by [http://www.kitware.com/ Kitware, Inc.] * Other, large open-source projects (including KDE, VTK) use CMake for their build system * The Boost-specific CMake modules are fully documented, both for Boost developers and with extensive comments within the build system itself * The CMake system and language is well-documented [http://cmake.org/HTML/Documentation.html online] and in the [http://www.kitware.com/products/cmakebook.html CMake book]