| 1 | = CMake-Based Build System for Boost: Features = |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | * Configuration |
| 6 | * Automatically probes for supported libraries (e.g., no need to write a user-config.jam) |
| 7 | |
| 8 | * User experience |
| 9 | * CMake is trivial to install on many platforms |
| 10 | * Graphical CMake configuration makes customized builds easy |
| 11 | * Uses native build tools (e.g., Visual Studio) to build Boost |
| 12 | |
| 13 | * Modularity |
| 14 | * |
| 15 | |
| 16 | * Portability |
| 17 | * |
| 18 | |
| 19 | * Deployment |
| 20 | * Complete support for installing from a build tree |
| 21 | * Builds [wiki:CMakeBinaryInstaller binary installers] for Boost for a variety of platforms and formats (Mac OS X packages, Windows installers, RPMs, DEBs, etc.) |
| 22 | |
| 23 | * Regression testing |
| 24 | * Complete regression-testing support using CTest |
| 25 | * Support for submitting regression testing results to a dashboard (CDash, Dart, Dart2) |
| 26 | * Ability to build and run regression tests against an installed Boost tree |
| 27 | |
| 28 | * Maintainability |
| 29 | * CMake is open source (BSD license) and written in C++ |
| 30 | * CMake is actively developed and maintained by [http://www.kitware.com/ Kitware, Inc.] |
| 31 | * Other, large open-source projects (including KDE, VTK) use CMake for their build system |
| 32 | * The Boost-specific CMake modules are fully documented, both for Boost developers and with extensive comments within the build system itself |
| 33 | |