All Projects → build-cpp → cmkr

build-cpp / cmkr

Licence: MIT license
Modern build system based on CMake and TOML.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to cmkr

beginner-friendly-haskell-for-web-development
A book about real world web development in beginner friendly Haskell
Stars: ✭ 76 (-63.98%)
Mutual labels:  beginner-friendly
go-config
Configuration file loader for Go
Stars: ✭ 27 (-87.2%)
Mutual labels:  toml
klipse-repl
Beginners friendly Clojure REPL
Stars: ✭ 44 (-79.15%)
Mutual labels:  beginner-friendly
paerser
No description or website provided.
Stars: ✭ 38 (-81.99%)
Mutual labels:  toml
fullstackDevelopment
Material & Projects related to full stack development
Stars: ✭ 90 (-57.35%)
Mutual labels:  beginner-friendly
texmlbus
Texmlbus (Tex to XML BUild System) supports the conversion process of documents written in LaTeX to pdf, html, xhtml or jats.
Stars: ✭ 16 (-92.42%)
Mutual labels:  build-system
demo-myblog
使用Rust、Actix-web和MongoDB构建简单博客网站
Stars: ✭ 40 (-81.04%)
Mutual labels:  toml
ruby-sinatra-starter-app
A starter project for Ruby On Sinatra web app projects to introduce programmers to Ruby programming.
Stars: ✭ 36 (-82.94%)
Mutual labels:  beginner-friendly
Hacktoberfest 2021
This repository aims to help code beginners with their first successful pull request and open source contribution. Happy coding!
Stars: ✭ 109 (-48.34%)
Mutual labels:  beginner-friendly
React-Messenger-App
A React powered Messenger App
Stars: ✭ 26 (-87.68%)
Mutual labels:  beginner-friendly
toml
TOML parser and encoder for Go with reflection.
Stars: ✭ 19 (-91%)
Mutual labels:  toml
parsetoml
A Nim library to parse TOML files
Stars: ✭ 96 (-54.5%)
Mutual labels:  toml
Web-Development
Created this new Repository for Open Source Contribution for Beginners
Stars: ✭ 25 (-88.15%)
Mutual labels:  beginner-friendly
react-webpack-starter
⚽️ Best react webpack start (with es6 and other basics)
Stars: ✭ 12 (-94.31%)
Mutual labels:  beginner-friendly
crates
crates is an extension aims to help people to manage their dependencies for rust (crates.io & TOML).
Stars: ✭ 156 (-26.07%)
Mutual labels:  toml
remark-frontmatter
remark plugin to support frontmatter (YAML, TOML, and more)
Stars: ✭ 167 (-20.85%)
Mutual labels:  toml
Data-Structures-and-Algorithms
Hacktoberfest's DSA Challenge, create algorithms, programs in any programming language you love and prefer! Check the ISSUE section for ideas.
Stars: ✭ 22 (-89.57%)
Mutual labels:  beginner-friendly
Simple-ADB
ADB/Fastboot. With a GUI.
Stars: ✭ 29 (-86.26%)
Mutual labels:  beginner-friendly
ycm
Extra CMake Modules for YARP and friends
Stars: ✭ 42 (-80.09%)
Mutual labels:  build-system
Learn-To-Use-Github
Wanna Learn How to use github ? come on in
Stars: ✭ 68 (-67.77%)
Mutual labels:  beginner-friendly

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].