https://github.com/jonpalmisc/emake
Easy wrapper around CMake's CLI
https://github.com/jonpalmisc/emake
autotools c cli cmake cpp
Last synced: 11 months ago
JSON representation
Easy wrapper around CMake's CLI
- Host: GitHub
- URL: https://github.com/jonpalmisc/emake
- Owner: jonpalmisc
- License: bsd-3-clause
- Created: 2022-12-24T22:39:55.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-28T06:09:33.000Z (about 1 year ago)
- Last Synced: 2025-05-07T01:49:42.680Z (11 months ago)
- Topics: autotools, c, cli, cmake, cpp
- Language: Python
- Homepage:
- Size: 49.8 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Emake
Emake is an easy wrapper around CMake's CLI. It is meant to speed up the process
of configuring and building a CMake-based project from the command line. It
provides a user experience that smells vaguely like Autotools.
## Install
Emake is not in the Python Package Index at this time. To install Emake, build
it manually using the `build` module, or just install the directory directly
with Pip.
## Tutorial
> A small tour of Emake is offered below; see `emake -h` and `econf -h` for comprehensive help.
In most cases, all you need to do to configure and build a project is simply run
`emake` by itself:
```sh
emake # Configure project (if needed), then build
```
> For simple projects, this will work 99% of the time.
If you wish to build a specific target, you may specify its name:
```sh
emake test # Configure project (if needed), then build the `test` target
```
Sometimes you'll need to pass more arguments to CMake's configure step, as is
usual with larger, more complex projects. A project can be configured
(without building) using the `econf` tool. Once again, in the most simple case,
simply run `econf` by itself:
```sh
econf # Configure the project (if needed)
```
Additional arguments can be passed through to CMake as follows:
```sh
econf -- -DCMAKE_BUILD_TYPE=Release
```
### Settings
Configuration and build settings can also be sourced from `emake.toml` in the
current working directory.
```toml
[configure]
generator = "Ninja"
```
Running `econf` with the following `emake.toml` present will cause Ninja to be
used as the CMake generator by default. For a full sample configuration, see
[`sample.toml`](docs/sample.toml).
## License
Copyright © 2022–2025 Jon Palmisciano. All rights reserved.
Use of this source code is governed by the BSD 3-Clause license; a full copy of
the license can be found in the [LICENSE.txt](LICENSE.txt) file.