A simple and easy to use command line build tool for C++ based on premake
-
Download and add Premake 5.0 to your system's path variable.
-
makefor linux only. -
C++17. -
g++orclangfor linux only. -
For Windows,
Visual Studio 2017orVisual Studio 2019.
Clone the repository to a local destination and make sure to fetch all dependencies.
git clone --recursive https://github.com/saad039/cusp
Make sure that you set the default spdlog's eol in cusp/dependencies/spdlog/include/spdlog/tweakme.h from #define SPDLOG_EOL ";-)\n" to #define SPDLOG_EOL ""
-
On your console, enter
premake5 gmake -
Then
make config=release -
From
/bin/cusp/Release/directory, copy cusp binary to a location inside your system's path variable.
-
Open command prompt and enter
premake5 vs2017for Visual Studio 2017 orpremake5 vs2019for Visual Studio 2019 -
Build the solution in release mode.
-
From
/bin/cusp/Release/, copy cusp binary to a location inside your system's path variable.
| Commands | Actions |
|---|---|
| cusp init | Creates a new solution in the present working directory. |
cusp add projectName header head.h or head.hpp |
Adds head.h/hpp header file into the project projectName under your solution directory. |
cusp add projectName src src.cc or src.cpp |
Adds src.cc/cpp source file into the project projectName under your solution directory. |
cusp add projectName class className |
Adds className.h and className.cpp header and source files into the project projectName under your solution directory. |
| cusp update | Regenerates premake5.lua for all projects and solution. This should be used if changes were made to cusp.json manually. Note that any changes made to premake5.lua files manually will be lost. |
| cusp make | Generates makefiles for all projects and solution. |
| cusp vs2015 | Generates visual studio 2015 solution files for all projects and solution. |
| cusp vs2017 | Generates visual studio 2015 solution files for all projects and solution. |
| cusp vs2019 | Generates visual studio 2015 solution files for all projects and solution. |
| cusp xcode | Generates xcode solution files for all projects and solution. |
| cusp build debug | Generates debug binaries from makefiles only. |
| cusp build release | Generates release binaries from makefiles only. |
This is a hobby project of mine. If you find any bug or want to contribute, please open a pull request.
You can email me on [email protected]