Skip to content

Commit f481aea

Browse files
Add building information in Readme
1 parent 75c080a commit f481aea

File tree

1 file changed

+55
-10
lines changed

1 file changed

+55
-10
lines changed

README.md

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,55 @@
11
# [coupe]
22

3-
A modular, multi-threaded partitioning library.
3+
A modular, multithreaded partitioning library.
44

55
Coupe implements a variety of algorithms that can be used to partition meshes,
6-
graphs and numbers. See [the API docs][coupe] for a list. These algorithms can
6+
graphs and numbers. See [the API docs][coupe] for a list. These algorithms can
77
be composed together to build relevant partitions of your data.
88

9+
## Getting Coupe
10+
11+
### Released versions
12+
13+
The simplest way to use `Coupe` is from Rust, referencing `coupe` crate.
14+
15+
### Building from source
16+
17+
`Coupe` is written in Rust, so you'll need to grab a Rust installation in order to compile it. In general, `Coupe`
18+
tracks the latest stable release of the Rust compiler.
19+
20+
To build the whole `Coupe` platform:
21+
22+
```shell
23+
git clone https://github.com/LIHPC-Computational-Geometry/coupe/
24+
cd coupe
25+
cargo build --workspace --release
26+
```
27+
28+
By default, `Coupe` tools need `Scotch` and `Metis`. It can be disabled using
29+
30+
```shell
31+
cargo build --workspace --release --no-default-features
32+
```
33+
34+
Else, if you want `Scotch` or `Metis` support, you might need to pass some information about header location.
35+
On some systems, files like `scotch.h` are not in standard include directories. One can configure it
36+
using `BINDGEN_EXTRA_CLANG_ARGS` environment variable.
37+
It can be set from the shell or using `.cargo/config.toml` file like this (this example is for debian and ubuntu
38+
systems)
39+
40+
```toml
41+
[env]
42+
BINDGEN_EXTRA_CLANG_ARGS = "-I/usr/include/scotch"
43+
```
44+
45+
`Coupe` is relatively well-tested, including both unit tests and integration tests. To run the full test suite, use:
46+
47+
```shell
48+
cargo test --all --workspace
49+
```
50+
51+
from the repository root.
52+
953
## Usage
1054

1155
### From the command-line
@@ -22,8 +66,8 @@ example usages of the library.
2266

2367
Coupe offers a C interface which can be found in the `ffi/` directory.
2468

25-
Bindings for other languages have not been made yet. If you end up developing
26-
such bindings, please send us a note so they can be shown here!
69+
Bindings for other languages have not been made yet. If you end up developing
70+
such bindings, please send us a note, so they can be shown here!
2771

2872
## Contributing
2973

@@ -36,20 +80,21 @@ reports on the [issue tracker][issues].
3680

3781
Licensed under either of
3882

39-
* Apache License, Version 2.0
40-
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
41-
* MIT license
42-
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
83+
* Apache License, Version 2.0
84+
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
85+
* MIT license
86+
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
4387

4488
at your option.
4589

4690
Unless you explicitly state otherwise, any contribution intentionally submitted
4791
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
4892
dual licensed as above, without any additional terms or conditions.
4993

50-
51-
[67]: https://github.com/LIHPC-Computational-Geometry/coupe/pull/67
5294
[coupe]: https://docs.rs/coupe
95+
5396
[discussions]: https://github.com/LIHPC-Computational-Geometry/coupe/discussions
97+
5498
[issues]: https://github.com/LIHPC-Computational-Geometry/coupe/issues
99+
55100
[pulls]: https://github.com/LIHPC-Computational-Geometry/coupe/pulls

0 commit comments

Comments
 (0)