Skip to content

stdexception/cmkr

 
 

Repository files navigation

cmkr

cmkr, pronounced "cmaker", is a modern build system based on CMake and TOML.

cmkr parses cmake.toml files and generates a modern, idiomatic CMakeLists.txt for you. A minimal example:

[project] name = "cmkr_for_beginners" [target.hello_world] type = "executable" sources = ["src/main.cpp"]

cmkr can bootstrap itself from CMake and you only need CMake to use it.

Getting started

To get started run the following commands from your project directory:

curl https://raw.githubusercontent.com/build-cpp/cmkr/main/cmake/cmkr.cmake -o cmkr.cmake cmake -P cmkr.cmake

After the bootstrapping process finishes, modify cmake.toml and open the project in your favorite IDE or build with CMake:

cmake -B build cmake --build build

Once bootstrapped, cmkr does not introduce extra steps to your workflow. After modifying cmake.toml you simply build/configure your CMake project and cmkr will automatically regenerate CMakeLists.txt.

In CI settings the cmkr bootstrapping process is skipped so there is no extra configure-time overhead in your pipelines.

Template repositories

Another way to get started is to use the cmkr_for_beginners template repository. Either open it in Gitpod, or clone the repository and run:

cmake -B build cmake --build build

Check out the cmkr topic, the build-cpp organization or the tests for more examples and templates.

Command line

Optionally you can put a cmkr release in your PATH and use it as a utility from the command line:

Usage: cmkr [arguments] arguments: init [executable|library|shared|static|interface] Starts a new project in the same directory. gen Generates CMakeLists.txt file. build <extra cmake args> Run cmake and build. install Run cmake --install. Needs admin privileges. clean Clean the build directory. help Show help. version Current cmkr version. 

Credits

About

Modern build system based on CMake and TOML.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 82.2%
  • CMake 17.8%