Skip to content

Commit

Permalink
[INFRA] Put SDSL into contrib
Browse files Browse the repository at this point in the history
  • Loading branch information
eseiler committed Feb 6, 2025
1 parent ee18011 commit a594be4
Show file tree
Hide file tree
Showing 26 changed files with 35,149 additions and 76 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cron_latest_libraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
FILE="cmake/package-lock.cmake"
sed -i -E 's@(set \(SEQAN3_\S+_VERSION )[^\)]+\)@\1main)@g' $FILE
sed -i -E 's@VERSION( \$\{SEQAN3_\S+_VERSION\})@GIT_TAG\1@g' $FILE
sed -i -E 's@SEQAN3_(SDSL|CEREAL)_VERSION main@SEQAN3_\1_VERSION master@g' $FILE
sed -i -E 's@SEQAN3_CEREAL_VERSION main@SEQAN3_\1_VERSION master@g' $FILE
cat $FILE
- name: Configure tests
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ Please see the [online documentation](https://docs.seqan.de/seqan3/main_user/) f
| | [Clang](https://clang.llvm.org) | ≥ 17 | tested with `-stdlib=libc++` |
| | [IntelOneAPI]() | ≥ 2024.0 | |
|**build system** | [CMake](https://cmake.org) | ≥ 3.20 | optional, but recommended |
|**required libs** | [SDSL](https://github.com/xxsds/sdsl-lite) | ≥ 3.0.3 | |
|**optional libs** | [cereal](https://github.com/USCiLab/cereal) | ≥ 1.3.1 | required for serialisation and CTD support |
| | [zlib](https://github.com/madler/zlib) | ≥ 1.2 | required for `*.gz` and `.bam` file support |
| | [bzip2](https://www.sourceware.org/bzip2) | ≥ 1.0 | required for `*.bz2` file support |
Expand Down
1 change: 0 additions & 1 deletion cmake/cpack_install.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
# Only if creating the source package (`make package_source`):
# Copy dependency include directories into package's staging folder
if (CPACK_SOURCE_INSTALLED_DIRECTORIES)
file (COPY "@SEQAN3_SDSL_INCLUDE_DIR@/" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/include/seqan3/vendor")
file (COPY "@SEQAN3_CEREAL_INCLUDE_DIR@/" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/include/seqan3/vendor")
configure_file ("@CPM_DOWNLOAD_LOCATION@" "${CMAKE_CURRENT_BINARY_DIR}/cmake/CPM.cmake" COPYONLY)
if ("@use_ccache_ADDED@" STREQUAL "YES")
Expand Down
10 changes: 0 additions & 10 deletions cmake/package-lock.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,6 @@ CPMDeclarePackage (cereal
GITHUB_REPOSITORY USCiLab/cereal
DOWNLOAD_ONLY TRUE
QUIET YES)
# sdsl-lite
# Use URL download of the commit archive such that we do not clone submodules
# Package name is still sdsl (name as v2 at xxsds/sdsl), but sdsl-lite is not currently being packaged
# To avoid accidentally using the older sdsl, NAME is set to sdsl-lite
set (SEQAN3_SDSL_VERSION 14cd017027ea742353fc5b500d1cb1d95896b77e CACHE STRING "" FORCE)
CPMDeclarePackage (sdsl-lite
NAME sdsl-lite
URL https://github.com/xxsds/sdsl-lite/archive/${SEQAN3_SDSL_VERSION}.tar.gz # master
DOWNLOAD_ONLY YES
QUIET YES)
# benchmark
set (SEQAN3_BENCHMARK_VERSION 1.9.1 CACHE STRING "" FORCE)
CPMDeclarePackage (benchmark
Expand Down
34 changes: 0 additions & 34 deletions cmake/seqan3-config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@
# C++20
# pthread
#
# SeqAn requires the following libraries:
#
# SDSL -- the succinct data structure library
#
# SeqAn has the following optional dependencies:
#
# ZLIB -- zlib compression library
Expand Down Expand Up @@ -137,36 +133,6 @@ else ()
seqan3_config_error ("SeqAn3 include directory could not be found (SEQAN3_INCLUDE_DIR: '${SEQAN3_INCLUDE_DIR}')")
endif ()

# ----------------------------------------------------------------------------
# Require SDSL
# ----------------------------------------------------------------------------

find_path (SEQAN3_SDSL_INCLUDE_DIR
NAMES sdsl/version.hpp
HINTS "${SEQAN3_INCLUDE_DIR}/seqan3/vendor")

# 1) Check the vendor directory of SeqAn3. This directory exists for source packages and installed packages.
if (SEQAN3_SDSL_INCLUDE_DIR)
seqan3_config_print ("Required dependency: SDSL found.")
set (SEQAN3_DEPENDENCY_INCLUDE_DIRS ${SEQAN3_SDSL_INCLUDE_DIR} ${SEQAN3_DEPENDENCY_INCLUDE_DIRS})
# 2) Get package via CPM.
elseif (SEQAN3_HAS_CPM)
CPMGetPackage (sdsl-lite)

find_path (SEQAN3_SDSL_INCLUDE_DIR
NAMES sdsl/version.hpp
HINTS "${sdsl-lite_SOURCE_DIR}/include")

if (SEQAN3_SDSL_INCLUDE_DIR)
seqan3_config_print ("Required dependency: SDSL found.")
set (SEQAN3_DEPENDENCY_INCLUDE_DIRS ${SEQAN3_SDSL_INCLUDE_DIR} ${SEQAN3_DEPENDENCY_INCLUDE_DIRS})
else ()
seqan3_config_error ("The SDSL library is required, but wasn't found.")
endif ()
else ()
seqan3_config_error ("The SDSL library is required, but wasn't found.")
endif ()

# ----------------------------------------------------------------------------
# Force-deactivate optional dependencies
# ----------------------------------------------------------------------------
Expand Down
1 change: 0 additions & 1 deletion cmake/seqan3-install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@ install (FILES "${SEQAN3_CLONE_DIR}/cmake/seqan3-config.cmake" "${SEQAN3_CLONE_D
# install seqan3 header files in /include/seqan3
install (DIRECTORY "${SEQAN3_INCLUDE_DIR}/seqan3" TYPE INCLUDE)

install (DIRECTORY "${SEQAN3_SDSL_INCLUDE_DIR}/sdsl" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/seqan3/vendor")
install (DIRECTORY "${SEQAN3_CEREAL_INCLUDE_DIR}/cereal" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/seqan3/vendor")
3 changes: 1 addition & 2 deletions include/seqan3/alphabet/container/bitpacked_sequence.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@
#include <ranges>
#include <type_traits>

#include <sdsl/int_vector.hpp>

#include <seqan3/alphabet/detail/alphabet_proxy.hpp>
#include <seqan3/alphabet/views/to_char.hpp>
#include <seqan3/alphabet/views/to_rank.hpp>
#include <seqan3/contrib/sdsl-lite.hpp>
#include <seqan3/core/concept/cereal.hpp>
#include <seqan3/core/range/detail/random_access_iterator.hpp>
#include <seqan3/utility/math.hpp>
Expand Down
Loading

0 comments on commit a594be4

Please sign in to comment.