Skip to content

Commit 5b76fd5

Browse files
Updating the docs to mention c++17
1 parent eba9caa commit 5b76fd5

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
# The smithlab_cpp library
22

3-
This library contains code that has been used in the Smith lab for
4-
several years, and that we now depend on for several of our data
5-
analysis tools. Many of those tools use older versions of this source
6-
code in subdirectories of other repos.
3+
This library contains code that has been used in the Smith lab for too
4+
many years, and that we depend on for several of our data analysis
5+
tools. Many of those tools use older versions of this source code in
6+
subdirectories of other repos.
77

88
## Requirements
99

10-
- A C++ compiler that knows C++11. The GNU `g++` compiler works well
11-
for this after version 5.3.
12-
- The GNU Scientific Library, GSL, which is likely already on your
13-
system, or easily installed through a package manager.
10+
- A C++ compiler that knows C++17. The GNU `g++` compiler works well
11+
for this after version GCC9, and the default since GCC11. You can
12+
get this from apt, conda and brew, but beware on macos where it's
13+
not really installed by default even though it pretends to be.
1414
- The [zlib library](https://zlib.net), which we use for I/O of files
15-
in gzip format. You likely have this on your system.
15+
in gzip format. You likely have this on your system. You can get
16+
this from apt, conda and brew, and it's likely installed already.
1617
- Optional: The [HTSLib library](http://htslib.org), which we use for
17-
I/O of SAM and BAM format files.
18+
I/O of SAM and BAM format files. You can get this from apt, conda
19+
and brew.
1820

1921
## Building and installing the smithlab_cpp library
2022

@@ -55,7 +57,7 @@ use it the way it has been used from 2010-2019, then you can use the
5557
`Makefile` in this repo without running the `./configure` script:
5658
```
5759
$ make OptionParser.o
58-
g++ -Wall -std=c++11 -c -o OptionParser.o OptionParser.cpp
60+
g++ -Wall -std=c++17 -c -o OptionParser.o OptionParser.cpp
5961
```
6062
Note: if you run the `./configure` script it will overwrite the
6163
`Makefile` indicated above. If that happens, just get a new one. The
@@ -72,7 +74,7 @@ result should be less total code overall in smithlab_cpp.
7274
- `QualityScore.*pp` likely should be removed, as we only use
7375
sequencing quality scores in specific places, and in those places
7476
have chosen to re-implement anything that would be here.
75-
- `smithlab_os.* Any use of character arrays should be replaced with
77+
- `smithlab_os.*` Any use of character arrays should be replaced with
7678
strings for filenames. Implementation of many functions in the cpp
7779
file is sloppy.
7880
- `smithlab_utils.*pp`: lots to replace here. Many functions seem

0 commit comments

Comments
 (0)