Skip to content
This repository was archived by the owner on Apr 19, 2023. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from 3 commits
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
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.16)
cmake_minimum_required(VERSION 3.18)

# Not ideal to use this global variable, but necessary to make sure
# that tooling and projects use the same version
Expand All @@ -24,7 +24,7 @@ set(OPT_WARNINGS_AS_ERRORS_DEVELOPER_DEFAULT TRUE)
# https://github.com/cpp-best-practices/project_options
include(FetchContent)
FetchContent_Declare(_project_options
URL https://github.com/cpp-best-practices/project_options/archive/refs/tags/v0.17.0.zip)
URL https://github.com/cpp-best-practices/project_options/archive/refs/tags/v0.20.0.zip)
FetchContent_MakeAvailable(_project_options)
include(${_project_options_SOURCE_DIR}/Index.cmake)

Expand Down Expand Up @@ -92,6 +92,7 @@ dynamic_project_options(
PCH_HEADERS
<vector>
<string> # This is a list of headers to pre-compile, here are some common ones
ENABLE_CONAN # Use Conan for package management
# CONAN_OPTIONS # Extra options to pass to conan
# MSVC_WARNINGS # Override the defaults for the MSVC warnings
# CLANG_WARNINGS # Override the defaults for the CLANG warnings
Expand Down
34 changes: 25 additions & 9 deletions README_dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,23 @@ RefreshEnv.cmd # reload the environment
```

### Necessary Dependencies
1. A C++ compiler that supports C++17.
1. A C++ compiler that supports C++20.
See [cppreference.com](https://en.cppreference.com/w/cpp/compiler_support)
to see which features are supported by each compiler.
The following compilers should work:

* [gcc 7+](https://gcc.gnu.org/)
* [gcc 11+](https://gcc.gnu.org/)
<details>
<summary>Install command</summary>

- Debian/Ubuntu:
- Ubuntu 21.04+:

sudo apt install gcc-11

- Ubuntu 18.04-20.04:

sudo apt install build-essential
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt-get update -qq
sudo apt install gcc-11
Copy link
Contributor

Choose a reason for hiding this comment

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

This probably deserves comment. I am removing instructions on how to install gcc-11 on Debian.

I've looked into installing gcc-11 on Debian briefly, and it looks complicated enough that I would have to manually test the instructions I've found. I'm not going to do that, because Debian not widely used. I think it would make more sense to add instructions for Arch-derived distros and Fedora.


- Windows:

Expand All @@ -51,7 +56,7 @@ The following compilers should work:
brew install gcc
</details>

* [clang 6+](https://clang.llvm.org/)
* [clang 13+](https://clang.llvm.org/)
<details>
<summary>Install command</summary>

Expand Down Expand Up @@ -107,10 +112,15 @@ The following compilers should work:
<details>
<summary>Install Command</summary>

- Via pip - https://docs.conan.io/en/latest/installation.html#install-with-pip-recommended
- Via pip (requires Python 3.5+) - https://docs.conan.io/en/latest/installation.html#install-with-pip-recommended

pip install --user conan

Over time, you may need to upgrade Conan to maintain compatibility with the latest packages.
You can do that with:

pip install --user --upgrade conan

- Windows:

choco install conan -y
Expand All @@ -121,13 +131,19 @@ The following compilers should work:

</details>

3. [CMake 3.15+](https://cmake.org/)
3. [CMake 3.18+](https://cmake.org/)
<details>
<summary>Install Command</summary>

- Debian/Ubuntu:
- All platforms (if you have Python installed):

pip install --user cmake

- Ubuntu 21.04 or later:

sudo apt-get install cmake cmake-curses-gui

sudo apt-get install cmake
- Ubuntu 16.04-20.04: Follow instructions at [Kitware](https://apt.kitware.com/)

- Windows:

Expand Down