[CMake] Announcing CMake BASIS, a set of CMake based project interoperability and automation tools

Andrew Hundt athundt at gmail.com
Tue Jan 21 14:49:06 EST 2014


CMake BASIS is a set of utilities and standards created with the goal of
making CMake projects and libraries very easy to create, share, and reuse.
It also integrates a lot of useful new CMake functionality such as
documentation
tools and automated packaging that a CMake user would otherwise have to
implement themselves.

Website: http://opensource.andreasschuh.com/cmake-basis/index.html
GitHub: https://github.com/schuhschuh/cmake-basis/

We have included an overview of CMake BASIS below. If you are interested,
have questions, or wish to contribute we invite you to get in touch with
us. Also, if any CMake developers are interested in bringing any of this
functionality upstream into CMake itself we would also love to hear from
you.

Cheers!
The CMake BASIS Developers

 CMake BASIS<http://opensource.andreasschuh.com/cmake-basis/index.html#cmake-basis>

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,
utilities, and open source projects available. More importantly, BASIS
supplies a fully integrated suite of functionality to make the whole
process seamless!
 Features<http://opensource.andreasschuh.com/cmake-basis/index.html#features>

*Project Creation*

   - *Quick project
setup*<http://opensource.andreasschuh.com/cmake-basis/howto/create-and-modify-project.html>
with
   mad-libs style text substitution
   - *Customizable project
templates*<http://opensource.andreasschuh.com/cmake-basis/howto/use-and-customize-templates.html>

*Standards*

   - *Filesystem layout
standards*<http://opensource.andreasschuh.com/cmake-basis/standard/fhs.html>
   - Basic software implementation standards
   - *Command-line parsing
standards*<http://opensource.andreasschuh.com/cmake-basis/standard/cmdline.html>
   - *Coding Style
Guidelines*<http://opensource.andreasschuh.com/cmake-basis/guideline.html>

*Build system utilities*

   - New *CMake Module
APIs*<http://opensource.andreasschuh.com/cmake-basis/standard/modules.html>
   - 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 <http://www.cmake.org/>,
CPack<http://www.cmake.org/Wiki/CMake:Packaging_With_CPack>
   , CTest <http://cmake.org/Wiki/CMake/Testing_With_CTest>/CDash<http://www.cdash.org/>
   , Doxygen <http://www.stack.nl/~dimitri/doxygen/>,
Sphinx<http://sphinx-doc.org/>
   , Git <http://git-scm.com/>, Subversion <http://subversion.apache.org/>,
   reStructuredText <http://docutils.sourceforge.net/rst.html>,
gtest<https://code.google.com/p/googletest/>
   , gflags <https://github.com/schuhschuh/gflags>,
Boost<http://www.boost.org/>,
   and many more, including custom packages.

Get Started<http://opensource.andreasschuh.com/cmake-basis/index.html#get-started>

   1. Get your first taste with the *Quick
Start*<http://opensource.andreasschuh.com/cmake-basis/quickstart.html>
    guide.
   2. Check out the *How-to
Guides*<http://opensource.andreasschuh.com/cmake-basis/howto.html> for
   easy introductions to common tasks.
   3. Learn more *About CMake
BASIS*<http://opensource.andreasschuh.com/cmake-basis/about.html>,
   where it came from and why.
   4. Investigate the
*Reference*<http://opensource.andreasschuh.com/cmake-basis/reference.html>
    and *API* <http://opensource.andreasschuh.com/cmake-basis/apidoc.html> for
   more in-depth information.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140121/dc157963/attachment.html>


More information about the CMake mailing list