wiki:CMakeBoostFeatures

Version 3 (modified by Douglas Gregor, 14 years ago) ( diff )

Cleanup this page a bit

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 tested nightly.
    • CMake input files are platform-independent, high-level build descriptions.
  • Deployment
    • Complete support for installing from a build tree.
    • Builds 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 regression-testing support using CTest
    • Support for submitting regression testing results to a dashboard (CDash, Dart, Dart2; in progress: 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 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 online and in the CMake book
Note: See TracWiki for help on using the wiki.