Skip to content

SeqAn 3.4.0-rc.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@eseiler eseiler released this 22 Jan 11:59
· 20 commits to main since this release
3.4.0-rc.3
c8e7fdb

This is the third release candidate for SeqAn 3.4.0

What's Changed

Full Changelog: 3.4.0-rc.2...3.4.0-rc.3

Notes for package maintainers

For reference, you can have a look at the Debian package.

Alternative zlib implementation

If your distribution ships an alternative zlib library, for example, zlib-ng, some tests will fail:

The following tests FAILED:
        164 - contrib/stream/gz_ostream_test (Failed)
        166 - contrib/stream/bgzf_ostream_test (Failed)
        203 - io/sam_file/sam_file_output_test (Failed)
        210 - io/sequence_file/sequence_file_output_test (Failed)
        224 - io/structure_file/structure_file_output_test (Failed)

This is because we are testing compression separately for some file formats and the expected output refers to (vanilla) zlib's output.
zlib-ng should be automatically detected and causes those checks to be skipped.
If this is not the case, or you are using another zlib alternative, you can manually skip those checks:

cmake <...> -DCMAKE_CXX_FLAGS="-DSEQAN3_TEST_SKIP_ZLIB_DEFLATE=1"

Dependencies

Dependencies are listed in cmake/package-lock.cmake.
We now use CPM for dependency management.

To use locally installed packages, pass -DCPM_USE_LOCAL_PACKAGES=ON to cmake, or set the environment variable CPM_USE_LOCAL_PACKAGES to ON. CPM documentation

If your locally installed packages has an older version, you may need to additionally pass the version to cmake.
The version variables can be found in cmake/package-lock.cmake.
For example, let's assume your googletest version is 1.14.0 instead of 1.15.2 listed in the package-lock.cmake.
CPM (or rather CMake's find_package) would not use your local version because 1.14.0 < 1.15.2.
Passing -DSEQAN3_GOOGLETEST_VERSION=1.14.0 to CMake will result in your local package being used.
If your local package version is newer, it should be used without any additional CMake arguments.

Post install tests

To configure tests with an installed seqan3 version, CPM needs to be available.
However, CPM isn't installed when seqan3 is installed.
To still configure the tests, you have to pass -DSEQAN3_TEST_CPM_DIR=<path> to your CMake command.
For example, -DSEQAN3_TEST_CPM_DIR=${SEQAN3_PACKAGE_SOURCE_DIRECTORY}/cmake ${SEQAN3_PACKAGE_SOURCE_DIRECTORY}/test/unit.
Where SEQAN3_PACKAGE_SOURCE_DIRECTORY is the downloaded source package.
SEQAN3_TEST_CPM_DIR points to the directory containing CPM.cmake.