CMake is an extensible, open-source system that manages the build process in an operating system and in a compiler-independent manner. Unlike many cross-platform systems, CMake is designed to be used in conjunction with the native build environment. Simple configuration files placed in each source directory (called CMakeLists.txt files) are used to generate standard build files (e.g., makefiles on Unix and projects/workspaces in Windows MSVC) which are used in the usual way. CMake can generate a
Gradle is an open-source build automation tool focused on flexibility and performance. Gradle build scripts are written using a Groovy or Kotlin DSL.
mkconfig is a build configuration utility. It creates an output file intended to be included as a header file, run as a shell script, used as a configuration file, or any other use. mkconfig is written in portable shell script and designed to be extensible for any configuration use.
BuildAMation is an open source build system and project generator for Windows, Linux and macOS desktop software development in C/C++. It has a declarative markup language based on C# runtime compilation (using Mono on Linux and macOS), and has a plugin system to implement different backends, such as multi-threaded command line builds, VisualStudio or Xcode project generation, or MakeFiles. Common compiler/linker/archiver settings are exposed via C# properties, so you can configure the build usin
Makepp, a build program which has a number of features that allow for reliable builds and simpler build files, is a drop-in replacement for GNU make. It supports almost all of the syntax that GNU make supports, and can be used with makefiles produced by utilities such as automake. It is called makepp (or make++) because it was designed with special support for C++, which has since been extended to other languages like Swig or embedded SQL. Also its relationship to make is analogous to C++'s rela
VSCode is an extensible source code editor with support for a wide cross-section of programming languages and features for debugging, refactoring, code completion, Markdown previews, and Git integration. VSCode is a cross-platform project started by Microsoft and is based on the Electron framework, although it features an interface with very little visual clutter and is more responsive than many IDEs, even on low-end development machines.
hbcxx uses the Unix #!/path/to/interpreter technique to make C++ (and C) source code directly executable. Modern C++, meaning C++11 or even C++14, feels like another language. This is not because the language has been changed massively but because the new features encourage a different, and slightly higher level way to think about writing C++. It's faster, more fun, supports lambdas, has tools to simplify memory management and includes regular expressions in the standard library. hbcxx is a to
ELFIO is a header-only C++ library intended for reading and generating files in the ELF binary format
lrc (The Linux Resource Compiler) is a system for packing many files into a single file for use in a program as its resources (such as the graphics and sounds used by a game). It consists of a command-line tool, called lrc, for compiling the resources and a library, called liblrc, to extract the resources from a file generated by the compiler.