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
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 your first taste with the Quick Start Guide.
- Check out the How-to Guides for easy introductions to common tasks.
- Learn more About CMake BASIS, where it came from and why.
- Investigate the Reference and API for more in-depth information.
Additional documentation is available in several locations:
- First and foremost on the CMake BASIS website.
- The software manual as PDF.
- The documentation installed in the doc directory for offline access.
- The source package documentation directory works in a pinch as well.
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.
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.
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.
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. |