|gitter| |license| |pypi| |pyver|
|readthedocs| |travis| |appveyor| |lgtm_grade| |lgtm_alerts|
Easily batch-build cmake projects!
cmany <https://github.com/biojppm/cmany>
_ is a command line tool to easily
build variations of a CMake C/C++ project. It combines different compilers,
cmake build types, bundles of compilation flags, processor architectures and
operating systems. Each of these items can also have associated compilation
flags.
For example, to configure and build a project combining clang++ and g++ with both Debug and Release::
$ cmany build -c clang++,g++ -t Debug,Release path/to/CMakeLists.txt
The command above will result in four different build trees, placed by default
under a build
subdirectory in the current working directory::
$ ls build/*
build/linux-x86_64-clang++3.9-Debug
build/linux-x86_64-clang++3.9-Release
build/linux-x86_64-gcc++6.1-Debug
build/linux-x86_64-gcc++6.1-Release
Each build tree is obtained by first configuring the project with the items
in each combination, and then invoking cmake --build
to build the project
at once.
You can also use cmany just to simplify your cmake workflow! These two
command sequences have the same effect (b
is an alias to build
):
+-------------------------------+-------------------------------+
| typical cmake | cmany |
+===============================+===============================+
| | $ mkdir build
| | $ cmany b
|
| | $ cd build
| |
| | $ cmake ..
| |
| | $ cmake --build .
| |
+-------------------------------+-------------------------------+
cmany build
will create and build a single projectProject home <https://github.com/biojppm/cmany>
_Installing <https://cmany.readthedocs.io/en/latest/installing/>
_Getting started <https://cmany.readthedocs.io/en/latest/quick_tour/>
_<https://gitter.im/cmany_/community>
_.<https://github.com/biojppm/cmany/issues>
_.<https://github.com/biojppm/cmany/pulls>
_.cmany is in alpha state, under current development.
Limitations & Known issues ^^^^^^^^^^^^^^^^^^^^^^^^^^
cmany is permissively licensed under the MIT license
_.
.. _MIT license: LICENSE.txt
.. |gitter| image:: https://badges.gitter.im/cmany_/community.svg :alt: Chat on Gitter :target: https://gitter.im/cmany_/community
.. |license| image:: https://img.shields.io/badge/License-MIT-green.svg?style=plastic :alt: License: MIT :target: https://github.com/biojppm/cmany/blob/master/LICENSE.txt
.. |pypi| image:: https://img.shields.io/pypi/v/cmany.svg?color=green&style=plastic :alt: Version :target: https://pypi.org/project/cmany/
.. |pyver| image:: https://img.shields.io/badge/python-3.6+-green.svg?style=plastic :alt: Supported Python versions :target: https://www.python.org/download/releases/3.6.0/
.. |travis| image:: https://img.shields.io/travis/biojppm/cmany.svg?style=plastic :alt: Linux+OSX build status :target: https://travis-ci.org/biojppm/cmany
.. |appveyor| image:: https://img.shields.io/appveyor/ci/biojppm/cmany.svg?style=plastic :alt: Windows build status :target: https://ci.appveyor.com/project/biojppm/cmany
.. |readthedocs| image:: https://img.shields.io/readthedocs/cmany.svg?style=plastic :alt: Documentation status :target: https://cmany.readthedocs.io/
.. |lgtm_grade| image:: https://img.shields.io/lgtm/grade/python/g/biojppm/cmany.svg?style=plastic :alt: LGTM Grade :target: https://lgtm.com/projects/g/biojppm/cmany/
.. |lgtm_alerts| image:: https://img.shields.io/lgtm/alerts/g/biojppm/cmany.svg?style=plastic :alt: LGTM Alerts :target: https://lgtm.com/projects/g/biojppm/cmany/alerts/?mode=list