A C++23 CLI tool for installing software directly from source.
Give it a package name or repository URL. simple-make finds the source, detects the build system, builds the project and tracks installed files so they can be removed later.
Supports Linux, macOS, BSD and Windows.
Requirements: C++23 compiler, CMake and Git.
git clone https://github.com/unmapz/simple-make.git
cd simple-make
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"
cmake --install build --prefix ~/.localDependencies such as cpr and nlohmann/json are fetched by CMake
when they are not available on the system.
simple-make ripgrep
simple-make fd bat
simple-make https://github.com/user/project
simple-make -s ripgrep
simple-make -r ripgrep
simple-make -u ripgrep
simple-make --self-update
simple-make --setup-config-ssearches without installing.-rremoves an installed package.-urebuilds installed packages from their saved source URLs.--self-updatechecks for a newer simple-make release.--setup-configopens the configuration wizard.
The default install prefix is ~/.local. No root privileges are needed
there. A system-wide prefix may require elevation for the final install
step, but builds themselves run as the invoking user.
CMake, Meson, Ninja, Make, Autotools, Cargo, Go, pip, Maven and Gradle.
Package names are resolved through the system package manager, the built-in database, and then GitHub, GitLab or Codeberg.
The config file is located at:
~/.config/simple-make/simple-make.conf
It controls the install prefix, confirmation prompts, source cleanup, search providers, API tokens and update checks.
simple-make runs third-party build scripts without sandboxing. Those scripts can execute code with your user's privileges and access the network.
Builds do not run as root. See SECURITY.md for details.
MIT. See LICENSE.