Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite README file #111

Merged
merged 25 commits into from
Feb 28, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 22 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Its direct usage is usually not needed.

### Usage: default projection in constrained algorithms

The following code snippet illustrates how we can achieve a default projection using `beman::exemplar::identity`:
The following code snippet illustrates how we can achieve a default projection using `beman::exemplar::identity`:

```cpp
#include <beman/exemplar/identity.hpp>
Expand Down Expand Up @@ -83,57 +83,38 @@ Full runnable examples can be found in `examples/` (e.g., [./examples/identity_a

## Building beman.exemplar

### Dependencies
<!-- TODO Darius: rewrite section!-->

This project has no C or C++ dependencies.

Build-time dependencies:
### Build Environment

- `cmake`
- `ninja`, `make`, or another CMake-supported build system
- CMake defaults to "Unix Makefiles" on POSIX systems

#### How to install dependencies

<!-- TODO Darius: rewrite section!-->
This project requires minimal **C++17** and **CMake 3.25** to build.

<details>
<summary>Dependencies install exemplar on Ubuntu 24.04 </summary>

<!-- TODO Darius: rewrite section!-->

```shell
# Install tools:
apt-get install -y cmake make ninja-build
However,
some examples and tests will not be compiled
unless provided compiler support **C++20**.

# Toolchains:
apt-get install \
g++-14 gcc-14 gcc-13 g++-14 \
clang-18 clang++-18 clang-17 clang++-17
```
This project pulls [Google Test](https://github.com/google/googletest)
from GitHub as a development dependency,
you can disable this behavior by setting `BEMAN_EXEMPLAR_BUILD_TESTS` to `OFF`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remind me to update this section of the README whenever we decide on an approach to make the http-based dependency resolution optional.


</details>
#### Install Environment on Ubuntu 24.04

<details>
<summary>Dependencies install exemplar on MAC OS $VERSION </summary>
The latest CMake build tool can be installed from [cmake.org](https://cmake.org/download/).
A supported compiler (listed below) should be available from your package manager.

<!-- TODO Darius: rewrite section!-->
```shell
# TODO
```bash
sudo apt update
sudo apt install gcc-14
```

</details>
### Supported Platforms

<details>
<summary>Dependencies install exemplar on Windows $VERSION </summary>
<!-- TODO Darius: rewrite section!-->
This project officially support development using:

```shell
# TODO
```
- GNU GCC Compiler version 12+
- LLVM Clang++ Compiler version 17+
- AppleClang compiler on Mac OS
- MSVC compiler on Windows

</details>
These development environments are varified using our CI system.

### How to build beman.exemplar

Expand Down