You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+122-2Lines changed: 122 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,28 @@
4
4
5
5
_dan_ is a build system inspired from _GNU make_, _cmake_, _meson_, ... but only in python.
6
6
7
+
It is mostly designed to be easy to use, it comes with its [vscode extension](https://github.com/Garcia6l20/dan-vscode) available on the [marketplace](https://marketplace.visualstudio.com/items?itemName=garcia6l20.dan).
8
+
9
+
It also provide a packaging system called [dan.io](https://github.com/Garcia6l20/dan.io),
10
+
that will fetch and build 3rd party libraries.
11
+
12
+
## Install
13
+
14
+
_dan_ is available on pip:
15
+
16
+
```bash
17
+
pip install dan-build
18
+
```
19
+
7
20
## Features
8
21
9
-
- Generators:
22
+
###Generators
10
23
11
24
Generators are python functions that generates an output:
[dan.io](https://github.com/Garcia6l20/dan.io) is the main (default) package source repository (custom repositories are supported by editting _~/.dan/repositories.json_) [documentation comming soon].
67
+
```python
68
+
class MyExe(Executable):
69
+
name = 'my-exe'
70
+
sources = ['src/main.cpp']
71
+
dependencies = ['boost:headers@dan.io >= 1.82']
72
+
```
73
+
74
+
## dan cli usage
75
+
76
+
`dan` is the main executable to build your project, it can build, test, list targets/test, ...
77
+
78
+
```bash
79
+
dan --help
80
+
Usage: dan [OPTIONS] COMMAND [ARGS]...
81
+
82
+
Options:
83
+
--version Show the version and exit.
84
+
-q, --quiet Dont print informations (errors only)
85
+
-v, --verbose Pring debug informations
86
+
-j, --jobs INTEGER Maximum jobs
87
+
--help Show this message and exit.
88
+
89
+
Commands:
90
+
build Build targets
91
+
clean Clean generated stuff
92
+
code VS-Code specific commands
93
+
configure Configure dan project
94
+
install Install targets
95
+
ls Inspect stuff
96
+
run Run executable(s)
97
+
scan-toolchains Scan system toolchains
98
+
test Run tests
99
+
uninstall Uninstall previous installation
100
+
```
32
101
33
102
### Toolchain scan
34
103
@@ -63,3 +132,54 @@ Settings:
63
132
-*install.includes_prefix*: Includes installation prefix (default: include).
64
133
-*install.data_prefix*: Data files installation prefix (default: share).
65
134
-*install.project_prefix*: !!! NOT USED YET !!! Project prefix (default: None).
135
+
136
+
137
+
## dan-io cli usage
138
+
139
+
`dan-io` is a secondary utility to interract with package management system.
140
+
141
+
```bash
142
+
$ dan-io --help
143
+
Usage: dan-io [OPTIONS] COMMAND [ARGS]...
144
+
145
+
Options:
146
+
--help Show this message and exit.
147
+
148
+
Commands:
149
+
ls Inspect stuff
150
+
search Search forNAMEin repositories
151
+
```
152
+
153
+
```bash
154
+
$ dan-io ls --help
155
+
Usage: dan-io ls [OPTIONS] COMMAND [ARGS]...
156
+
157
+
Inspect stuff
158
+
159
+
Options:
160
+
--help Show this message and exit.
161
+
162
+
Commands:
163
+
libraries List available libraries
164
+
repositories List available repositories
165
+
versions Get LIBRARY's available versions
166
+
```
167
+
168
+
169
+
## Auto completion
170
+
171
+
`bash` and `zsh` completions are currently supported:
172
+
173
+
- bash:
174
+
```bash
175
+
for script in ~/.local/etc/bash_completion.d/*.sh; do
176
+
source ${script}
177
+
done
178
+
```
179
+
180
+
- ksh:
181
+
```ksh
182
+
for script in ~/.local/etc/ksh_completion.d/*.sh; do
0 commit comments