ZenMake - build system based on the WAF


Keywords
build-system, build-tool, c, cpp, cross-platform, fortran, multi-language
License
BSD-3-Clause
Install
pip install zenmake==0.9.0

Documentation

ZenMake

Licence Python PythonImpl PyPI Documentation Status GitHub Workflow CI Status coveralls ProjectStatus

ZenMake is a cross-platform build system for C/C++ and some other languages.

Main features

  • Build config as python (.py) or as yaml file.
  • Distribution as zip application or as system package (pip).
  • Automatic reconfiguring: no need to run command 'configure'.
  • Compiler autodetection.
  • Building and running functional/unit tests including an ability to build and run tests only on changes.
  • Build configs in sub directories.
  • Building external dependencies.
  • Supported platforms: GNU/Linux, MacOS, MS Windows. Some other platforms like OpenBSD/FreeBSD should work as well but it hasn't been tested.
  • Supported languages:
    • C: gcc, clang, msvc, icc, xlc, suncc, irixcc
    • C++: g++, clang++, msvc, icpc, xlc++, sunc++
    • D: dmd, ldc2, gdc; MS Windows is not supported yet
    • Fortran: gfortran, ifort (should work but not tested)
    • Assembler: gas (GNU Assembler)
  • Supported toolkits/frameworks: SDL2, GTK3, Qt5

Documentation

For full documentation, including installation, tutorials and PDF documents, please see https://zenmake.readthedocs.io

Project links