Skip to content

Commit 5c60129

Browse files
authored
Merge pull request #3320 from eseiler/doc/update
[DOC] Update
2 parents 873a5f4 + 222dc05 commit 5c60129

File tree

3 files changed

+97
-41
lines changed

3 files changed

+97
-41
lines changed

CHANGELOG.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,40 @@ The following API changes should be documented as such:
3030
If possible, provide tooling that performs the changes, e.g. a shell-script.
3131
-->
3232

33-
# 3.3.1
33+
# 3.4.0
3434

3535
## New features
3636

37+
#### I/O
38+
* `seqan3::sam_file_input` now accepts user-defined tags ([\#3256](https://github.com/seqan/seqan3/pull/3256)).
39+
3740
## Notable Bug-fixes
3841

42+
#### Alphabet
43+
* Resolved an issue that prevented proper conversion, most notably in conjunction with `seqan3::bitpacked_sequence`
44+
([\#3268](https://github.com/seqan/seqan3/pull/3268)).
45+
46+
#### Alignment
47+
* Fixed an issue that caused incorrect begin and end positions for banded alignments
48+
([\#3269](https://github.com/seqan/seqan3/pull/3269)).
49+
50+
#### I/O
51+
* `seqan3::sam_file_output` now takes ownership of the given reference information
52+
([\#3300](https://github.com/seqan/seqan3/pull/3300)).
53+
3954
## API changes
4055

56+
#### Compiler
57+
* Supported compiler:
58+
* GCC 12, 13, 14
59+
* Clang 17, 18, 19
60+
* IntelOneAPI/IntelLLVM 2024.0
61+
4162
#### Dependencies
4263
* We now use Doxygen version 1.9.8 to build our documentation ([\#3197](https://github.com/seqan/seqan3/pull/3197)).
43-
* We bumped the minimal CMake version to 3.5 ([\#3223](https://github.com/seqan/seqan3/pull/3223)).
64+
* We bumped the minimal CMake version to 3.20 ([\#3314](https://github.com/seqan/seqan3/pull/3314)).
65+
* Dependencies are now managed via CPM instead of submodules ([\#3328](https://github.com/seqan/seqan3/pull/3328)).
66+
* The `build_system` directory was renamed to `cmake` ([\#3292](https://github.com/seqan/seqan3/pull/3292)).
4467

4568
# 3.3.0
4669

README.md

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,10 @@ Please see the [online documentation](https://docs.seqan.de/seqan3/main_user/) f
7272

7373
| | requirement | version | comment |
7474
|-------------------|------------------------------------------------------|----------|---------------------------------------------|
75-
|**compiler** | [GCC](https://gcc.gnu.org) | ≥ 11 | no other compiler is currently supported! |
76-
|**build system** | [CMake](https://cmake.org) | ≥ 3.5 | optional, but recommended |
75+
|**compiler** | [GCC](https://gcc.gnu.org) | ≥ 12 | |
76+
| | [Clang](https://clang.llvm.org) | ≥ 17 | tested with `-stdlib=libc++` |
77+
| | [IntelOneAPI]() | ≥ 2024.0 | |
78+
|**build system** | [CMake](https://cmake.org) | ≥ 3.20 | optional, but recommended |
7779
|**required libs** | [SDSL](https://github.com/xxsds/sdsl-lite) | ≥ 3.0.3 | |
7880
|**optional libs** | [cereal](https://github.com/USCiLab/cereal) | ≥ 1.3.1 | required for serialisation and CTD support |
7981
| | [zlib](https://github.com/madler/zlib) | ≥ 1.2 | required for `*.gz` and `.bam` file support |
@@ -85,21 +87,3 @@ We recommend that you use CMake to build your project:
8587

8688
* [Setup-Tutorial](https://docs.seqan.de/seqan3/main_user/setup.html)
8789
* Using CMake guarantees that all optional dependencies are automatically detected and activated.
88-
89-
Quick-Setup without CMake:
90-
91-
* Clone the repository: `git clone https://github.com/seqan/seqan3.git`
92-
* Add the following to your compiler invocation:
93-
* the include directories of SeqAn and its dependencies
94-
* C++20 mode
95-
* Macros indicating the presence of zlib and bzip2 (set only if actually available in your paths!)
96-
* The command could look like this:
97-
```sh
98-
g++-11 -O3 -DNDEBUG -Wall -Wextra \
99-
-std=c++20 \
100-
-I /path/to/seqan3/include \
101-
-isystem /path/to/sdsl-lite/include \
102-
-DSEQAN3_HAS_ZLIB=1 -DSEQAN3_HAS_BZIP2=1 \
103-
-lz -lbz2 -pthread \
104-
your_file.cpp
105-
```

doc/setup/quickstart_cmake/index.md

Lines changed: 68 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,34 @@ works.
1717

1818
# Software
1919
Requirements:
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
4144
sudo add-apt-repository --no-update --yes ppa:ubuntu-toolchain-r/ppa
4245
sudo add-apt-repository --no-update --yes ppa:ubuntu-toolchain-r/test
4346
sudo apt-get update
44-
sudo apt install g++-11
47+
sudo apt install g++-14
4548
```
4649
- <b class="tab-title">Using conda</b>
4750
To 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

90120
Similarly, 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)
212242
target_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

Comments
 (0)