Skip to content
Commits on Source (4)
......@@ -5,6 +5,7 @@ Section: science
Priority: optional
Build-Depends: debhelper (>= 11~),
cmake,
d-shlibs,
libbioparser-dev
Standards-Version: 4.1.4
Vcs-Browser: https://salsa.debian.org/med-team/spoa
......@@ -15,10 +16,41 @@ Package: spoa
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends}
Description: SIMD partial order alignment tool/library
Description: SIMD partial order alignment tool
Spoa (SIMD POA) is a c++ implementation of the partial order alignment
(POA) algorithm (as described in 10.1093/bioinformatics/18.3.452) which
is used to generate consensus sequences (as described in
10.1093/bioinformatics/btg109). It supports three alignment modes: local
(Smith-Waterman), global (Needleman-Wunsch) and semi-global alignment
(overlap).
Package: libspoa1.1.3
Architecture: any
Section: libs
Depends: ${shlibs:Depends},
${misc:Depends}
Description: SIMD partial order alignment library
Spoa (SIMD POA) is a c++ implementation of the partial order alignment
(POA) algorithm (as described in 10.1093/bioinformatics/18.3.452) which
is used to generate consensus sequences (as described in
10.1093/bioinformatics/btg109). It supports three alignment modes: local
(Smith-Waterman), global (Needleman-Wunsch) and semi-global alignment
(overlap).
.
This package contains the shared library.
Package: libspoa-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends},
${misc:Depends},
libspoa1.1.3 (= ${binary:Version})
Description: SIMD partial order alignment library (development files)
Spoa (SIMD POA) is a c++ implementation of the partial order alignment
(POA) algorithm (as described in 10.1093/bioinformatics/18.3.452) which
is used to generate consensus sequences (as described in
10.1093/bioinformatics/btg109). It supports three alignment modes: local
(Smith-Waterman), global (Needleman-Wunsch) and semi-global alignment
(overlap).
.
This package contains the static library and the header files.
use_debian_packaged_libs.patch
shared_and_static.patch
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,9 +16,15 @@ option(spoa_build_executable "Build spoa
option(spoa_build_tests "Build spoa unit tests" OFF)
# build SPOA as a static library by default
-set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build all libraries as shared")
+# set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build all libraries as shared")
-add_library(spoa
+add_library(spoa SHARED
+ src/alignment_engine.cpp
+ src/graph.cpp
+ src/simd_alignment_engine.cpp
+ src/sisd_alignment_engine.cpp)
+
+add_library(spoa_static STATIC
src/alignment_engine.cpp
src/graph.cpp
src/simd_alignment_engine.cpp
@@ -28,6 +34,10 @@ target_include_directories(spoa PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
+target_include_directories(spoa_static PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include>)
+
set_target_properties(spoa
PROPERTIES
VERSION ${spoa_VERSION}
......@@ -13,7 +13,7 @@ Description: Use Debian packaged libraries
- endif()
-
- target_link_libraries(spoa_bin spoa bioparser)
+ target_link_libraries(spoa_bin spoa)
+ target_link_libraries(spoa_bin spoa z)
set_target_properties(spoa_bin PROPERTIES OUTPUT_NAME spoa)
install(TARGETS spoa_bin DESTINATION ${CMAKE_INSTALL_BINDIR})
......@@ -27,5 +27,5 @@ Description: Use Debian packaged libraries
- add_subdirectory(vendor/googletest/googletest EXCLUDE_FROM_ALL)
-
- target_link_libraries(spoa_test spoa bioparser gtest_main)
+ target_link_libraries(spoa_test spoa )
+ target_link_libraries(spoa_test spoa z)
endif(spoa_build_tests)
#!/usr/bin/make -f
# DH_VERBOSE := 1
export LC_ALL=C.UTF-8
include /usr/share/dpkg/default.mk
# this provides:
# DEB_SOURCE: the source package name
# DEB_VERSION: the full version of the package (epoch + upstream vers. + revision)
# DEB_VERSION_EPOCH_UPSTREAM: the package's version without the Debian revision
# DEB_VERSION_UPSTREAM_REVISION: the package's version without the Debian epoch
# DEB_VERSION_UPSTREAM: the package's upstream version
# DEB_DISTRIBUTION: the distribution(s) listed in the current entry of debian/changelog
# for hardening you might like to uncomment this:
# export DEB_BUILD_MAINT_OPTIONS=hardening=+all
DEB_CMAKE_EXTRA_FLAGS = -DCMAKE_BUILD_TYPE=Release \
-Dspoa_build_executable=ON \
-DBUILD_SHARED_LIBS=ON
%:
dh $@
#get-orig-source:
# . debian/get-orig-source
override_dh_auto_configure:
dh_auto_configure -- $(DEB_CMAKE_EXTRA_FLAGS)
override_dh_install:
dh_install
d-shlibmove --commit \
--multiarch \
--devunversioned \
--exclude-la \
--movedev debian/tmp/usr/include/* usr/include \
--movedev debian/tmp/usr/lib/*/cmake usr/lib/$(DEB_HOST_MULTIARCH) \
debian/tmp/usr/lib/*/*.so