Skip to content

Legacy CMake BASIS project for versions 3.2 and older. For newer versions, go to

License

Notifications You must be signed in to change notification settings

cmake-basis/legacy

Repository files navigation

=========== CMake BASIS

Build Status

The CMake Build system And Software Implementation Standard (BASIS) makes it easy to create sharable software and libraries that work together. This is accomplished by combining and documenting some of the best practices and utilities available. More importantly, BASIS supplies a fully integrated suite of functionality to make the whole process seamless!

Homepage | GitHub | SourceForge | Open Hub (Ohloh) | Travis CI

Features

Project Creation

  • Quick project setup with mad-libs style text substitution
  • Customizable project templates

Standards

  • Filesystem layout standards
  • Basic software implementation standards
  • Command-line parsing standards
  • Guidelines on coding style

Build system utilities

  • New CMake Module APIs
  • Version Control Integration
  • Automatic Packaging

Documentation

  • Documentation generation tools
  • Manuals
  • PDF and HTML output of each
  • Integrated with CMake APIs

Testing

  • Unit testing
  • Continuous integration
  • Executable testing frameworks

Program Execution

  • Parsing library
  • Command execution library
  • Unix philosophy and tool chains

Supported Languages:

  • C++, BASH, Python, Perl, MATLAB

Supported Packages:

  • CMake, CPack, CTest/CDash, Doxygen, Sphinx, Git, Subversion, reStructuredText, gtest, gflags, Boost, and many more, including custom packages.

Get Started

  1. Get your first taste with the Quick Start Guide.
  2. Check out the How-to Guides for easy introductions to common tasks.
  3. Learn more About CMake BASIS, where it came from and why.
  4. Investigate the Reference and API for more in-depth information.

Documentation

Additional documentation is available in several locations:

Installation

See the installation instructions or the INSTALL file. Information on where the executables and libraries, the auxiliary data, and the documentation files get installed is also available there. For more concise installation steps, have a look at the Quick Start Installation.

Help

If you need help after searching the documentation or want to report a problem, you can reach the CMake BASIS developers on GitHub using the CMake BASIS Issue Tracker.

License

Copyright (c) 2011-2013 University of Pennsylvania
Copyright (c) 2013-2015 Andreas Schuh
Copyright (c) 2013-2014 Carnegie Mellon University

CMake BASIS is available under a BSD compatible license. The complete license text can be found on the download page and in the COPYING.txt file.

Package Content

Path Content description
BasisProject.cmake Meta-data used for the build configuration.
[CMakeLists.txt] 21 Root CMake configuration file.
[config/] 22 Package configuration files.
[data/templates/] 23 Project templates.
[doc/] 24 Documentation source files.
[example/] 25 Example files used in the tutorials.
[include/] 26 Public header files.
[src/cmake/] 27 CMake implementations and corresponding auxiliary files.
[src/geshi/] 28 A language file written in PHP for use with GeSHi, a source code highlighting extension for MediaWiki.
[src/sphinx/] 29 Themes and extensions for the Sphinx documentation tool.
[src/tools/] 30 Source code of command-line tools.
[src/utilities/] 31 Source code of utility functions.
[test/] 32 Unit tests for the provided libraries.