Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 1.56 KB

introduction.rst

File metadata and controls

51 lines (41 loc) · 1.56 KB

Introduction

What is it?

ZenMake is a cross-platform build system for C/C++ and some other languages. It uses meta build system Waf as a framework.

Some reasons to create this project can be found here<why>.

Main features

  • Build config as python (.py) or as yaml file. Details are here<buildconf>.
  • Distribution as zip application or as system package (pip). See Installation<installation>.
  • 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. Details are here<buildtests>.
  • 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:
    • SDL v2 (Linux only)
    • GTK v3 (Linux only)
    • Qt v5

Plans to do

There is no clear roadmap for this project. I add features that I think are needed to include.