RobertBendun / make.hh

Build system as single-header C++ library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

make.hh

WORK IN PROGRES

Make replacement for C++ project, that makes your project only dependent on C++ compiler. Goal is single header library that can be included into your project by copy-pasting. This not only makes building mechanism as cross platform as your project, but also allows for code reusage between build script and project.

Usage

To build your project:

$ c++ -std++20 -o make make.cc
$ ./make

Each of invocations may rebuild ./make if make.cc has changed. If something gone wrong, you can access previous version by ./make.old

Planned features

  • Self rebuild when build script changes
  • Automatic dependency resolution from C++ sources
  • Support for GNU Make implicit variables
  • Compiler/Interpreter version testing (C, C++, Python)
  • Support for pkg-config
  • Automatic compile database generation from builds
  • Parallel builds
  • Multiplatform
  • Version control information from GIT (latest tag, current commit)

Inspiration

Tsoding nobuild

About

Build system as single-header C++ library

License:GNU General Public License v3.0


Languages

Language:C++ 100.0%