Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iassasin/configen
Custom config generator
https://github.com/iassasin/configen
clang config-management cpp cpp14 gcc generator
Last synced: 14 days ago
JSON representation
Custom config generator
- Host: GitHub
- URL: https://github.com/iassasin/configen
- Owner: iassasin
- License: lgpl-3.0
- Created: 2017-06-11T12:35:27.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-06-16T08:49:25.000Z (over 7 years ago)
- Last Synced: 2024-11-05T20:13:19.625Z (2 months ago)
- Topics: clang, config-management, cpp, cpp14, gcc, generator
- Language: C++
- Size: 114 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING.LESSER
Awesome Lists containing this project
README
# Configen
Preprocess your own configs or sources and translate them to target text or code## Simple
Configen use simple syntax. It's looks like a bash or other shell scripts, but more predictable and simple exactly for preprocessing.For example, you need to out a string, so just write it:
```
"My awesome string
"New line
```
There is no trailing `"`, so new line will be added automatically### Functions
Need functions and variables? Just use it:
```
write | arg1 arg2 {
"I wrote $arg1 $arg2
}write hello, world
```
Code above will produce a string `I wrote hello, world`. Spaces is delimeter for arguments. To pass arguments with spaces just use single or double qoutes### Custom syntax
Use regular expressions to provide your intuitive syntax
```
site |~ (https?)://([^/]*)(/.*) {
"Protocol: $1
"Host: $2
"Path: $3
}site http://example.com/
```# Requirements
Developed on gcc 5.4 using C++14. Any compiler with C++14 standart support should work.
Configen uses standart library only.# Build
To build configen clone repository then use this commands in terminal:
```
cd configen
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
```To speed up the build process use `make -j4`, where `4` - your CPU cores count.