You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Duncan Ogilvie
2450cfb2c9
|
4 years ago | |
---|---|---|
.github/workflows | 4 years ago | |
cmake | 4 years ago | |
docs | 4 years ago | |
include | 4 years ago | |
src | 4 years ago | |
tests | 4 years ago | |
third_party | 4 years ago | |
.clang-format | 4 years ago | |
.gitattributes | 4 years ago | |
.gitignore | 4 years ago | |
CMakeLists.txt | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
cmake.toml | 4 years ago |
README.md
cmkr
cmkr
, pronounced "cmaker", is a modern build system based on CMake and TOML. It was originally created by Mohammed Alyousef.
cmkr
parses cmake.toml
files and generates a modern, idiomatic CMakeLists.txt
for you. A minimal example:
[project]
name = "cmkr_for_beginners"
description = "A minimal cmkr project."
[target.hello_world]
type = "executable"
sources = ["src/main.cpp"]
cmkr
can bootstrap itself from CMake and consumers of your project do not need to install anything to work with it.
Getting started
The easiest 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
Alternatively you can check out the cmkr topic, the build-cpp organization or the tests for more examples and templates. You can also check out the documentation.
Command line
Optionally you can install cmkr
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.