@@ -17,31 +17,34 @@ works.
1717
1818# Software
1919Requirements:
20- - gcc >= 11
21- - cmake >= 3.5
20+ - gcc >= 12 or clang >=17 or IntelOneAPI >= 2024.0
21+ - cmake >= 3.20
2222 - git
2323
24- ## Installing GCC
24+ ## Installing a compiler
2525
26- SeqAn requires GCC >= 11. Current versions of LLVM/Clang and VisualStudio/MSVC are ** not yet supported** .
27- We will briefly explain how to install GCC-11 (or the latest GCC if such an option is available) on some popular
28- operating systems. We recommend using the latest version of GCC available. For more information, refer to your
29- operating system's documentation.
26+ VisualStudio/MSVC is ** not yet supported** .
27+ We will briefly explain how to install a compiler on some popular operating systems.
28+ We recommend using the latest version of the compiler.
29+ For more information, refer to your operating system's documentation.
3030
31- ### Linux
31+ ### GCC
32+
33+ #### Linux
3234<div class =" tabbed " >
33- - <b class =" tab-title " >Ubuntu >= 22.04 </b >
35+ - <b class =" tab-title " >Ubuntu without PPA </b >
3436``` bash
35- # Installs default compiler version (gcc-11 for Ubuntu 22.04).
36- sudo apt install g++
37- # To install gcc-12, follow instructions for Ubuntu < 22.04.
37+ # Ubuntu 24.04
38+ sudo apt install g++-14
39+ # Ubuntu 22.04
40+ sudo apt install g++-12
3841```
39- - <b class =" tab-title " >Ubuntu < 22.04 </b >
42+ - <b class =" tab-title " >Ubuntu with PPA </b >
4043``` bash
4144sudo add-apt-repository --no-update --yes ppa:ubuntu-toolchain-r/ppa
4245sudo add-apt-repository --no-update --yes ppa:ubuntu-toolchain-r/test
4346sudo apt-get update
44- sudo apt install g++-11
47+ sudo apt install g++-14
4548```
4649- <b class =" tab-title " >Using conda</b >
4750To avoid interference with system packages, we recommend creating a new environment when using conda.
@@ -54,15 +57,42 @@ and deactivated via `conda deactivate`.
5457
5558</div >
5659
57- ### macOS
60+ #### macOS
5861<div class =" tabbed " >
5962- <b class =" tab-title " >Using Homebrew</b >
6063``` bash
61- brew install gcc@11
64+ brew install gcc@14
6265```
6366- <b class =" tab-title " >Using Macports</b >
6467``` bash
65- sudo port install gcc11
68+ sudo port install gcc14
69+ ```
70+
71+ </div >
72+
73+ ### Clang
74+
75+ #### Linux
76+ <div class =" tabbed " >
77+ - <b class =" tab-title " >Ubuntu 24.04</b >
78+ ``` bash
79+ # Ubuntu 24.04
80+ sudo apt install clang-18
81+ ```
82+ - <b class =" tab-title " >Ubuntu with PPA</b >
83+ Refer to https://apt.llvm.org/
84+
85+ </div >
86+
87+ #### macOS
88+ <div class =" tabbed " >
89+ - <b class =" tab-title " >Using Homebrew</b >
90+ ``` bash
91+ brew install llvm@19
92+ ```
93+ - <b class =" tab-title " >Using Macports</b >
94+ ``` bash
95+ sudo port install clang-19
6696```
6797
6898</div >
@@ -85,7 +115,7 @@ hours of use per month, which is plenty for our tutorials. A GitHub account is r
85115</div >
86116<br >
87117\attention After installing, ` g++ --version ` should print the desired GCC version.
88- If not, you may have to use, for example, ` g++-11 --version ` or even specify the full path to your compiler.
118+ If not, you may have to use, for example, ` g++-14 --version ` or even specify the full path to your compiler.
89119
90120Similarly, you may need to install CMake and git, e.g. ` apt install cmake git ` .
91121
@@ -175,7 +205,7 @@ of errors easier. `Debug` is suitable for contributors, and we recommend using i
175205\remark Depending on the standard C++ compiler on your system, you may need to specify the compiler via
176206` -DCMAKE_CXX_COMPILER= ` , for example:
177207``` bash
178- cmake -DCMAKE_CXX_COMPILER=/path/to/executable/g++-11 ../source
208+ cmake -DCMAKE_CXX_COMPILER=/path/to/executable/g++-14 ../source
179209```
180210
181211# Adding a new source file to your project
@@ -212,6 +242,25 @@ add_executable (my_app my_app.cpp)
212242target_link_libraries (my_app PUBLIC seqan3::seqan3)
213243```
214244
245+ # Including SeqAn3 as external project with CPM (recommended)
246+
247+ See https://github.com/cpm-cmake/CPM.cmake for install instructions.
248+
249+ ``` cmake
250+ cmake_minimum_required (VERSION 3.20...3.31)
251+
252+ project (my_app LANGUAGES CXX VERSION 1.0.0)
253+
254+ include (cmake/CPM.cmake)
255+
256+ CPMAddPackage("gh:seqan/seqan3@3.4.0")
257+
258+ add_executable (my_app my_app.cpp)
259+
260+ # Set up everything needed to use SeqAn3 with my_app:
261+ target_link_libraries (my_app PUBLIC seqan3::seqan3)
262+ ```
263+
215264# Encountered issues
216265
217266* ** Using conda's gcc package:** `` /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'CXXABI_1.3.11' not found `` <br >
0 commit comments