Skip to content
This repository was archived by the owner on Apr 19, 2023. It is now read-only.

Align docs and dependencies #18

Draft
wants to merge 9 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 5 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
41 changes: 30 additions & 11 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 All @@ -139,7 +155,7 @@ The following compilers should work:

</details>

### Optional Dependencies
### Strongly Recommended (but optional) Dependencies
#### C++ Tools
* [Doxygen](http://doxygen.nl/)
<details>
Expand Down Expand Up @@ -226,7 +242,10 @@ If you run into difficulty using them, please refer to their documentation,
linked here:

- [NANA](http://nanapro.org/en-us/documentation/)
- [SDL](http://wiki.libsdl.org/FrontPage)
- [SDL](http://wiki.libsdl.org/FrontPage):
Please note that the Conan package for SDL can be challenging to build on some platforms.
If you need to use SDL, you may find it easier to install using the
[official instructions](http://wiki.libsdl.org/Installation) than to use the Conan package.
- [IMGUI](https://github.com/ocornut/imgui/tree/master/docs):
This framework depends on SFML, and if you are using Linux, you may need
to install several of SFML's dependencies using your package manager. See
Expand Down