[Debian-med-packaging] Cmake help for htqc needed

Andreas Tille andreas at an3as.eu
Sat Jul 4 11:22:33 UTC 2015


Hi Leopold,

thanks for the patch and sorry for my delayed response.  I think with "
It works but not as expected" below you mean that the package fails to
build due to some not yet resolved problems.  I think we should involve
upstream who was quite responsive in other questions.  Thus the full
quote.

Xi Yang, do you think you could change the build system to link the
executables against a dynamic library as this is best practice in
Debian.  Moreover you could clarify the role of the static library and
header files which are also part of the install target.  I could create
a htqc-dev package to enable developers creating other applications
based on the library code - if this is really the intended purpose of
the code.

Kind regards and thanks for your support

     Andreas.

On Tue, Jun 23, 2015 at 04:31:03PM +0200, Leopold Palomo-Avellaneda wrote:
> El Dimarts, 23 de juny de 2015, a les 10:41:56, Andreas Tille va escriure:
> > Hi Leopold,
> > 
> > On Tue, Jun 23, 2015 at 09:51:43AM +0200, Leopold Palomo-Avellaneda wrote:
> > > > Now some other questions raised:
> > > >   1. How can I switch to dynamic linking of the set of executables?
> > > 
> > > AFAIK in the htqc sources there are two static libraries: htio2 and
> > > ht_common.
> > > 
> > > These two are defined in this file:
> > > src/CMakeLists.txt
> > > 
> > > add_library(htio2 STATIC ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> > > 
> > > add_library(ht_common STATIC ${HTQC_SOURCE_FILES})
> > > 
> > > 
> > > dropping the STATIC word the libraries in Debian would be dynamic (.so).
> > > If
> > > you expose that libraries (libXXXX and libXXXX-dev) remember that then to
> > > follow debian policies, you must add sonames.
> > 
> > That's correct.
> > 
> > > It you need it, I write you the line needed.
> > 
> > I would really appreciate if you could provide a patch that would build
> > *.so and *.a libraries.  If this works I'd provide a libhtqc and a
> > libhtqc-dev package.
> 
> Andreas,
> 
> I have made some patch to htqc. I have merged your changes. I have imported 
> them using gbp-pq. 
> 
> It works but not as expected. Upstream has some bug, because it creates two 
> libraries (htio2 and ht_common). However, one depends (or uses) functions of 
> the other. 
> So, if you use functions from htio2 _only_ nothing happens. You can use static 
> or dynamic. 
> If you use functions from ht_common only_ nothing happens. You can use static 
> or dynamic.
> 
> But if you use function from both (link against both), the linker fails. You 
> must then use one static. And I'm really lost with it now.
> 
> If you want I can make the push, but I would prefer that you look it.
> 
> Best regards,
> 
> Leopold
> 
> -- 
> --
> Linux User 152692     GPG: 05F4A7A949A2D9AA
> Catalonia
> -------------------------------------
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?

> From fecc65b2edf07208303d8f9d2b322ae081b64c00 Mon Sep 17 00:00:00 2001
> From: Leopold Palomo-Avellaneda <leopold.palomo at upc.edu>
> Date: Tue, 23 Jun 2015 15:28:40 +0200
> Subject: [PATCH 1/2] Merged patches from Andreas and mine
> 
> ---
>  debian/patches/0001-correct_cflags.patch           |  21 +
>  .../0002-Added-Debian-specific-SONAMEs.patch       | 449 +++++++++++++++++++++
>  debian/patches/correct_cflags.patch                |  21 -
>  debian/patches/series                              |   3 +-
>  4 files changed, 472 insertions(+), 22 deletions(-)
>  create mode 100644 debian/patches/0001-correct_cflags.patch
>  create mode 100644 debian/patches/0002-Added-Debian-specific-SONAMEs.patch
>  delete mode 100644 debian/patches/correct_cflags.patch
> 
> diff --git a/debian/patches/0001-correct_cflags.patch b/debian/patches/0001-correct_cflags.patch
> new file mode 100644
> index 0000000..8343844
> --- /dev/null
> +++ b/debian/patches/0001-correct_cflags.patch
> @@ -0,0 +1,21 @@
> +From: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
> +Date: Tue, 23 Jun 2015 13:16:51 +0200
> +Subject: correct_cflags
> +
> +---
> + CMakeLists.txt | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 73d0f1a..90fadcb 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -22,7 +22,7 @@ if (CMAKE_BUILD_TYPE STREQUAL "")
> +   set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None (CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
> + endif ()
> + 
> +-list(APPEND CMAKE_CXX_FLAGS "-std=c++11")
> ++SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -std=c++11")
> + #set(CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fsanitize=address)
> + 
> + set(CPACK_PACKAGE_VERSION_MAJOR 1)
> diff --git a/debian/patches/0002-Added-Debian-specific-SONAMEs.patch b/debian/patches/0002-Added-Debian-specific-SONAMEs.patch
> new file mode 100644
> index 0000000..17e1138
> --- /dev/null
> +++ b/debian/patches/0002-Added-Debian-specific-SONAMEs.patch
> @@ -0,0 +1,449 @@
> +From: Leopold Palomo-Avellaneda <leopold.palomo at upc.edu>
> +Date: Tue, 23 Jun 2015 15:23:35 +0200
> +Subject: Added Debian specific SONAMEs.patch
> +
> +---
> + src/CMakeLists.txt | 80 ++++++++++++++++++++++++++++++++++++++----------------
> + t/CMakeLists.txt   | 66 ++++++++++++++++++++++----------------------
> + 2 files changed, 90 insertions(+), 56 deletions(-)
> +
> +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
> +index a3bb0fc..6e0cf3c 100644
> +--- a/src/CMakeLists.txt
> ++++ b/src/CMakeLists.txt
> +@@ -5,22 +5,54 @@ file(GLOB HTIO_SOURCE_FILES htio2/*.cpp)
> + file(GLOB HTQC_SOURCE_FILES htqc/*.cpp)
> + file(GLOB JUCE_SOURCE_FILES htio2/JUCE-3.0.8/modules/*/*.cpp)
> + 
> +-add_library(htio2 STATIC ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> ++add_library(htio2_static STATIC ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> ++set_target_properties(htio2_static PROPERTIES 
> ++    OUTPUT_NAME htio2
> ++   INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++   CLEAN_DIRECT_OUTPUT 1)
> + 
> +-add_library(ht_common STATIC ${HTQC_SOURCE_FILES})
> ++#CPACK_PACKAGE_VERSION_MAJOR 1
> ++#CPACK_PACKAGE_VERSION_MINOR 92
> ++#CPACK_PACKAGE_VERSION_PATCH 1
> ++
> ++add_library(htio2_dynamic SHARED ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> ++set_target_properties( htio2_dynamic PROPERTIES
> ++  VERSION
> ++"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
> ++  SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}
> ++  OUTPUT_NAME htio2
> ++  LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}"
> ++  INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++  CLEAN_DIRECT_OUTPUT 1)
> ++
> ++add_library(ht_common_static STATIC ${HTQC_SOURCE_FILES})
> ++set_target_properties(ht_common_static PROPERTIES
> ++    OUTPUT_NAME ht_common
> ++   INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++   CLEAN_DIRECT_OUTPUT 1)
> ++
> ++add_library(ht_common_dynamic SHARED ${HTQC_SOURCE_FILES})
> ++set_target_properties( ht_common_dynamic PROPERTIES
> ++  VERSION 
> ++"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
> ++  SOVERSION "${CPACK_PACKAGE_VERSION_MAJOR}"
> ++  OUTPUT_NAME ht_common
> ++  LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" 
> ++  INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++  CLEAN_DIRECT_OUTPUT 1)
> + 
> + add_executable(ht2-convert ht2-convert.cpp)
> + target_link_libraries(ht2-convert
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-demul ht2-demul.cpp)
> + target_link_libraries(ht2-demul
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -30,71 +62,73 @@ add_executable(ht2-stat ht2-stat.cpp
> +     htqc/FastqStat.cpp
> + )
> + target_link_libraries(ht2-stat
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-trim ht2-trim.cpp)
> + target_link_libraries(ht2-trim
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-filter ht2-filter.cpp)
> + target_link_libraries(ht2-filter
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-rename ht2-rename.cpp)
> + target_link_libraries(ht2-rename
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-sample ht2-sample.cpp)
> + target_link_libraries(ht2-sample
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-overlap ht2-overlap.cpp)
> + target_link_libraries(ht2-overlap
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-primer-trim ht2-primer-trim.cpp)
> + target_link_libraries(ht2-primer-trim
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-lane-tile ht2-lane-tile.cpp)
> + target_link_libraries(ht2-lane-tile
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> +-install(TARGETS ht2-demul ht2-primer-trim ht2-convert ht2-stat ht2-trim ht2-filter ht2-sample ht2-overlap ht2-rename htio2
> ++install(TARGETS ht2-demul ht2-primer-trim ht2-convert ht2-stat ht2-trim ht2-filter ht2-sample ht2-overlap ht2-rename htio2_dynamic
> ++	htio2_static ht_common_static ht_common_dynamic
> +     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
> +     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
> ++   LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
> + )
> + install(PROGRAMS ht2-stat-draw.pl DESTINATION bin)
> + install(FILES ${CMAKE_BINARY_DIR}/src/htio2/config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/htio2)
> +diff --git a/t/CMakeLists.txt b/t/CMakeLists.txt
> +index 6ca515a..e44b87f 100644
> +--- a/t/CMakeLists.txt
> ++++ b/t/CMakeLists.txt
> +@@ -1,12 +1,12 @@
> + include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
> + configure_file(TestConfig.h.in TestConfig.h ESCAPE_QUOTES)
> + 
> +-add_library(TestFramework TestFramework.cpp)
> ++add_library(TestFramework SHARED TestFramework.cpp)
> + 
> + add_executable(t_text_file_equal t_text_file_equal.cpp)
> + target_link_libraries(t_text_file_equal
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -15,7 +15,7 @@ add_test(text_file_equal t_text_file_equal)
> + add_executable(t_kmer_nt5_16 t_kmer_nt5_16.cpp)
> + target_link_libraries(t_kmer_nt5_16
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -24,7 +24,7 @@ add_test(kmer_nt5_16 t_kmer_nt5_16)
> + add_executable(t_kmer_nt5_32 t_kmer_nt5_32.cpp)
> + target_link_libraries(t_kmer_nt5_32
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -33,7 +33,7 @@ add_test(kmer_nt5_32 t_kmer_nt5_32)
> + add_executable(t_kmer_nt5_64 t_kmer_nt5_64.cpp)
> + target_link_libraries(t_kmer_nt5_64
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -42,7 +42,7 @@ add_test(kmer_nt5_64 t_kmer_nt5_64)
> + add_executable(t_kmer_nt4_16 t_kmer_nt4_16.cpp)
> + target_link_libraries(t_kmer_nt4_16
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -51,7 +51,7 @@ add_test(kmer_nt4_16 t_kmer_nt4_16)
> + add_executable(t_kmer_nt4_32 t_kmer_nt4_32.cpp)
> + target_link_libraries(t_kmer_nt4_32
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -60,7 +60,7 @@ add_test(kmer_nt4_32 t_kmer_nt4_32)
> + add_executable(t_kmer_nt4_64 t_kmer_nt4_64.cpp)
> + target_link_libraries(t_kmer_nt4_64
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -69,7 +69,7 @@ add_test(kmer_nt4_64 t_kmer_nt4_64)
> + add_executable(t_kmer_aa t_kmer_aa.cpp)
> + target_link_libraries(t_kmer_aa
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -78,7 +78,7 @@ add_test(kmer_aa t_kmer_aa)
> + add_executable(t_ref_counted t_ref_counted.cpp)
> + target_link_libraries(t_ref_counted
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -87,7 +87,7 @@ add_test(ref_counted t_ref_counted)
> + add_executable(t_simple_seq t_simple_seq.cpp)
> + target_link_libraries(t_simple_seq
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -96,7 +96,7 @@ add_test(simple_seq t_simple_seq)
> + add_executable(t_plain_file_handle t_plain_file_handle.cpp)
> + target_link_libraries(t_plain_file_handle
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -105,7 +105,7 @@ add_test(plain_file_handle t_plain_file_handle)
> + add_executable(t_gzip_file_handle t_gzip_file_handle.cpp)
> + target_link_libraries(t_gzip_file_handle
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -114,7 +114,7 @@ add_test(gzip_file_handle t_gzip_file_handle)
> + add_executable(t_fastq_io t_fastq_io.cpp)
> + target_link_libraries(t_fastq_io
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -123,7 +123,7 @@ add_test(fastq_io t_fastq_io)
> + add_executable(t_fasta_io t_fasta_io.cpp)
> + target_link_libraries(t_fasta_io
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -132,7 +132,7 @@ add_test(fasta_io t_fasta_io)
> + add_executable(t_header_util t_header_util.cpp)
> + target_link_libraries(t_header_util
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -141,8 +141,8 @@ add_test(header_util t_header_util)
> + add_executable(t_multi_seq_file_se t_multi_seq_file_se.cpp)
> + target_link_libraries(t_multi_seq_file_se
> +     TestFramework
> +-    ht_common
> +-    htio2
> ++    htio2_dynamic
> ++    ht_common_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -151,8 +151,8 @@ add_test(multi_seq_file_se t_multi_seq_file_se)
> + add_executable(t_multi_seq_file_pe t_multi_seq_file_pe.cpp)
> + target_link_libraries(t_multi_seq_file_pe
> +     TestFramework
> +-    ht_common
> +-    htio2
> ++    htio2_dynamic
> ++    ht_common_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -161,7 +161,7 @@ add_test(multi_seq_file_pe t_multi_seq_file_pe)
> + add_executable(t_ht_sample t_ht_sample.cpp)
> + target_link_libraries(t_ht_sample
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -170,7 +170,7 @@ add_test(ht_sample t_ht_sample)
> + add_executable(t_ht_trim t_ht_trim.cpp)
> + target_link_libraries(t_ht_trim
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -179,7 +179,7 @@ add_test(ht_trim t_ht_trim)
> + add_executable(t_ht_rename t_ht_rename.cpp)
> + target_link_libraries(t_ht_rename
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -188,7 +188,7 @@ add_test(ht_rename t_ht_rename)
> + add_executable(t_ht_overlap t_ht_overlap.cpp)
> + target_link_libraries(t_ht_overlap
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -197,7 +197,7 @@ add_test(ht_overlap t_ht_overlap)
> + add_executable(t_ht_filter t_ht_filter.cpp)
> + target_link_libraries(t_ht_filter
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -206,7 +206,7 @@ add_test(ht_filter t_ht_filter)
> + add_executable(t_ht_convert t_ht_convert.cpp)
> + target_link_libraries(t_ht_convert
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -215,7 +215,7 @@ add_test(ht_convert t_ht_convert)
> + add_executable(t_ht_demul t_ht_demul.cpp)
> + target_link_libraries(t_ht_demul
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -224,7 +224,7 @@ add_test(ht_demul t_ht_demul)
> + add_executable(t_ht_lane_tile t_ht_lane_tile.cpp)
> + target_link_libraries(t_ht_lane_tile
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -233,7 +233,7 @@ add_test(ht_lane_tile t_ht_lane_tile)
> + add_executable(t_string t_string.cpp)
> + target_link_libraries(t_string
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -242,7 +242,7 @@ add_test(string t_string)
> + add_executable(t_cast t_cast.cpp)
> + target_link_libraries(t_cast
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -250,7 +250,7 @@ add_test(cast t_cast)
> + 
> + add_executable(option_parser option_parser.cpp)
> + target_link_libraries(option_parser
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -258,7 +258,7 @@ target_link_libraries(option_parser
> + add_executable(t_ring_buffer t_ring_buffer.cpp)
> + target_link_libraries(t_ring_buffer
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -267,7 +267,7 @@ add_test(ring_buffer t_ring_buffer)
> + add_executable(t_mt19937 t_mt19937.cpp)
> + target_link_libraries(t_mt19937
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> diff --git a/debian/patches/correct_cflags.patch b/debian/patches/correct_cflags.patch
> deleted file mode 100644
> index fc0cc28..0000000
> --- a/debian/patches/correct_cflags.patch
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -Author: Gert Wollny <gw.fossdev at gmail.com>
> -Last-Update: Mon, 22 Jun 2015 15:49:39 +0200
> -Description: Fix cmake file
> - The htqc authors might have used a version of cmake that interprets the
> - CMAKE_CXX_FLAGS as a list, and Elements of lists in cmake are separated
> - by ';'.
> - .
> - Apparently this is no longer possible so you'll have to (re-)set the
> - cxx_flags string directly.
> -
> ---- a/CMakeLists.txt
> -+++ b/CMakeLists.txt
> -@@ -22,7 +22,7 @@ if (CMAKE_BUILD_TYPE STREQUAL "")
> -   set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None (CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
> - endif ()
> - 
> --list(APPEND CMAKE_CXX_FLAGS "-std=c++11")
> -+SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -std=c++11")
> - #set(CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fsanitize=address)
> - 
> - set(CPACK_PACKAGE_VERSION_MAJOR 1)
> diff --git a/debian/patches/series b/debian/patches/series
> index fae8aa2..a205427 100644
> --- a/debian/patches/series
> +++ b/debian/patches/series
> @@ -1,2 +1,3 @@
> -correct_cflags.patch
> +0001-correct_cflags.patch
> +0002-Added-Debian-specific-SONAMEs.patch
>  enable_testing.patch
> -- 
> 2.1.4
> 
> 
> From 7f07b7f417d64bda7ca80772f3f03cf732c2b408 Mon Sep 17 00:00:00 2001
> From: Leopold Palomo-Avellaneda <leopold.palomo at upc.edu>
> Date: Tue, 23 Jun 2015 15:32:24 +0200
> Subject: [PATCH 2/2] Imported patches with gbp-pq
> 
> ---
>  .../0002-Added-Debian-specific-SONAMEs.patch       | 449 ---------------------
>  .../0002-Added-Debian-specific-SONAMEs.patch.patch | 449 +++++++++++++++++++++
>  debian/patches/0003-enable_testing.patch           |  19 +
>  debian/patches/enable_testing.patch                |  13 -
>  debian/patches/series                              |   4 +-
>  5 files changed, 470 insertions(+), 464 deletions(-)
>  delete mode 100644 debian/patches/0002-Added-Debian-specific-SONAMEs.patch
>  create mode 100644 debian/patches/0002-Added-Debian-specific-SONAMEs.patch.patch
>  create mode 100644 debian/patches/0003-enable_testing.patch
>  delete mode 100644 debian/patches/enable_testing.patch
> 
> diff --git a/debian/patches/0002-Added-Debian-specific-SONAMEs.patch b/debian/patches/0002-Added-Debian-specific-SONAMEs.patch
> deleted file mode 100644
> index 17e1138..0000000
> --- a/debian/patches/0002-Added-Debian-specific-SONAMEs.patch
> +++ /dev/null
> @@ -1,449 +0,0 @@
> -From: Leopold Palomo-Avellaneda <leopold.palomo at upc.edu>
> -Date: Tue, 23 Jun 2015 15:23:35 +0200
> -Subject: Added Debian specific SONAMEs.patch
> -
> ----
> - src/CMakeLists.txt | 80 ++++++++++++++++++++++++++++++++++++++----------------
> - t/CMakeLists.txt   | 66 ++++++++++++++++++++++----------------------
> - 2 files changed, 90 insertions(+), 56 deletions(-)
> -
> -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
> -index a3bb0fc..6e0cf3c 100644
> ---- a/src/CMakeLists.txt
> -+++ b/src/CMakeLists.txt
> -@@ -5,22 +5,54 @@ file(GLOB HTIO_SOURCE_FILES htio2/*.cpp)
> - file(GLOB HTQC_SOURCE_FILES htqc/*.cpp)
> - file(GLOB JUCE_SOURCE_FILES htio2/JUCE-3.0.8/modules/*/*.cpp)
> - 
> --add_library(htio2 STATIC ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> -+add_library(htio2_static STATIC ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> -+set_target_properties(htio2_static PROPERTIES 
> -+    OUTPUT_NAME htio2
> -+   INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> -+   CLEAN_DIRECT_OUTPUT 1)
> - 
> --add_library(ht_common STATIC ${HTQC_SOURCE_FILES})
> -+#CPACK_PACKAGE_VERSION_MAJOR 1
> -+#CPACK_PACKAGE_VERSION_MINOR 92
> -+#CPACK_PACKAGE_VERSION_PATCH 1
> -+
> -+add_library(htio2_dynamic SHARED ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> -+set_target_properties( htio2_dynamic PROPERTIES
> -+  VERSION
> -+"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
> -+  SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}
> -+  OUTPUT_NAME htio2
> -+  LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}"
> -+  INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> -+  CLEAN_DIRECT_OUTPUT 1)
> -+
> -+add_library(ht_common_static STATIC ${HTQC_SOURCE_FILES})
> -+set_target_properties(ht_common_static PROPERTIES
> -+    OUTPUT_NAME ht_common
> -+   INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> -+   CLEAN_DIRECT_OUTPUT 1)
> -+
> -+add_library(ht_common_dynamic SHARED ${HTQC_SOURCE_FILES})
> -+set_target_properties( ht_common_dynamic PROPERTIES
> -+  VERSION 
> -+"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
> -+  SOVERSION "${CPACK_PACKAGE_VERSION_MAJOR}"
> -+  OUTPUT_NAME ht_common
> -+  LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" 
> -+  INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> -+  CLEAN_DIRECT_OUTPUT 1)
> - 
> - add_executable(ht2-convert ht2-convert.cpp)
> - target_link_libraries(ht2-convert
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-demul ht2-demul.cpp)
> - target_link_libraries(ht2-demul
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -30,71 +62,73 @@ add_executable(ht2-stat ht2-stat.cpp
> -     htqc/FastqStat.cpp
> - )
> - target_link_libraries(ht2-stat
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-trim ht2-trim.cpp)
> - target_link_libraries(ht2-trim
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-filter ht2-filter.cpp)
> - target_link_libraries(ht2-filter
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-rename ht2-rename.cpp)
> - target_link_libraries(ht2-rename
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-sample ht2-sample.cpp)
> - target_link_libraries(ht2-sample
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-overlap ht2-overlap.cpp)
> - target_link_libraries(ht2-overlap
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-primer-trim ht2-primer-trim.cpp)
> - target_link_libraries(ht2-primer-trim
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> - add_executable(ht2-lane-tile ht2-lane-tile.cpp)
> - target_link_libraries(ht2-lane-tile
> --    ht_common
> --    htio2
> -+    ht_common_dynamic
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> - 
> --install(TARGETS ht2-demul ht2-primer-trim ht2-convert ht2-stat ht2-trim ht2-filter ht2-sample ht2-overlap ht2-rename htio2
> -+install(TARGETS ht2-demul ht2-primer-trim ht2-convert ht2-stat ht2-trim ht2-filter ht2-sample ht2-overlap ht2-rename htio2_dynamic
> -+	htio2_static ht_common_static ht_common_dynamic
> -     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
> -     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
> -+   LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
> - )
> - install(PROGRAMS ht2-stat-draw.pl DESTINATION bin)
> - install(FILES ${CMAKE_BINARY_DIR}/src/htio2/config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/htio2)
> -diff --git a/t/CMakeLists.txt b/t/CMakeLists.txt
> -index 6ca515a..e44b87f 100644
> ---- a/t/CMakeLists.txt
> -+++ b/t/CMakeLists.txt
> -@@ -1,12 +1,12 @@
> - include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
> - configure_file(TestConfig.h.in TestConfig.h ESCAPE_QUOTES)
> - 
> --add_library(TestFramework TestFramework.cpp)
> -+add_library(TestFramework SHARED TestFramework.cpp)
> - 
> - add_executable(t_text_file_equal t_text_file_equal.cpp)
> - target_link_libraries(t_text_file_equal
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -15,7 +15,7 @@ add_test(text_file_equal t_text_file_equal)
> - add_executable(t_kmer_nt5_16 t_kmer_nt5_16.cpp)
> - target_link_libraries(t_kmer_nt5_16
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -24,7 +24,7 @@ add_test(kmer_nt5_16 t_kmer_nt5_16)
> - add_executable(t_kmer_nt5_32 t_kmer_nt5_32.cpp)
> - target_link_libraries(t_kmer_nt5_32
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -33,7 +33,7 @@ add_test(kmer_nt5_32 t_kmer_nt5_32)
> - add_executable(t_kmer_nt5_64 t_kmer_nt5_64.cpp)
> - target_link_libraries(t_kmer_nt5_64
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -42,7 +42,7 @@ add_test(kmer_nt5_64 t_kmer_nt5_64)
> - add_executable(t_kmer_nt4_16 t_kmer_nt4_16.cpp)
> - target_link_libraries(t_kmer_nt4_16
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -51,7 +51,7 @@ add_test(kmer_nt4_16 t_kmer_nt4_16)
> - add_executable(t_kmer_nt4_32 t_kmer_nt4_32.cpp)
> - target_link_libraries(t_kmer_nt4_32
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -60,7 +60,7 @@ add_test(kmer_nt4_32 t_kmer_nt4_32)
> - add_executable(t_kmer_nt4_64 t_kmer_nt4_64.cpp)
> - target_link_libraries(t_kmer_nt4_64
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -69,7 +69,7 @@ add_test(kmer_nt4_64 t_kmer_nt4_64)
> - add_executable(t_kmer_aa t_kmer_aa.cpp)
> - target_link_libraries(t_kmer_aa
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -78,7 +78,7 @@ add_test(kmer_aa t_kmer_aa)
> - add_executable(t_ref_counted t_ref_counted.cpp)
> - target_link_libraries(t_ref_counted
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -87,7 +87,7 @@ add_test(ref_counted t_ref_counted)
> - add_executable(t_simple_seq t_simple_seq.cpp)
> - target_link_libraries(t_simple_seq
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -96,7 +96,7 @@ add_test(simple_seq t_simple_seq)
> - add_executable(t_plain_file_handle t_plain_file_handle.cpp)
> - target_link_libraries(t_plain_file_handle
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -105,7 +105,7 @@ add_test(plain_file_handle t_plain_file_handle)
> - add_executable(t_gzip_file_handle t_gzip_file_handle.cpp)
> - target_link_libraries(t_gzip_file_handle
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -114,7 +114,7 @@ add_test(gzip_file_handle t_gzip_file_handle)
> - add_executable(t_fastq_io t_fastq_io.cpp)
> - target_link_libraries(t_fastq_io
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -123,7 +123,7 @@ add_test(fastq_io t_fastq_io)
> - add_executable(t_fasta_io t_fasta_io.cpp)
> - target_link_libraries(t_fasta_io
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -132,7 +132,7 @@ add_test(fasta_io t_fasta_io)
> - add_executable(t_header_util t_header_util.cpp)
> - target_link_libraries(t_header_util
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -141,8 +141,8 @@ add_test(header_util t_header_util)
> - add_executable(t_multi_seq_file_se t_multi_seq_file_se.cpp)
> - target_link_libraries(t_multi_seq_file_se
> -     TestFramework
> --    ht_common
> --    htio2
> -+    htio2_dynamic
> -+    ht_common_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -151,8 +151,8 @@ add_test(multi_seq_file_se t_multi_seq_file_se)
> - add_executable(t_multi_seq_file_pe t_multi_seq_file_pe.cpp)
> - target_link_libraries(t_multi_seq_file_pe
> -     TestFramework
> --    ht_common
> --    htio2
> -+    htio2_dynamic
> -+    ht_common_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -161,7 +161,7 @@ add_test(multi_seq_file_pe t_multi_seq_file_pe)
> - add_executable(t_ht_sample t_ht_sample.cpp)
> - target_link_libraries(t_ht_sample
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -170,7 +170,7 @@ add_test(ht_sample t_ht_sample)
> - add_executable(t_ht_trim t_ht_trim.cpp)
> - target_link_libraries(t_ht_trim
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -179,7 +179,7 @@ add_test(ht_trim t_ht_trim)
> - add_executable(t_ht_rename t_ht_rename.cpp)
> - target_link_libraries(t_ht_rename
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -188,7 +188,7 @@ add_test(ht_rename t_ht_rename)
> - add_executable(t_ht_overlap t_ht_overlap.cpp)
> - target_link_libraries(t_ht_overlap
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -197,7 +197,7 @@ add_test(ht_overlap t_ht_overlap)
> - add_executable(t_ht_filter t_ht_filter.cpp)
> - target_link_libraries(t_ht_filter
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -206,7 +206,7 @@ add_test(ht_filter t_ht_filter)
> - add_executable(t_ht_convert t_ht_convert.cpp)
> - target_link_libraries(t_ht_convert
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -215,7 +215,7 @@ add_test(ht_convert t_ht_convert)
> - add_executable(t_ht_demul t_ht_demul.cpp)
> - target_link_libraries(t_ht_demul
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -224,7 +224,7 @@ add_test(ht_demul t_ht_demul)
> - add_executable(t_ht_lane_tile t_ht_lane_tile.cpp)
> - target_link_libraries(t_ht_lane_tile
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -233,7 +233,7 @@ add_test(ht_lane_tile t_ht_lane_tile)
> - add_executable(t_string t_string.cpp)
> - target_link_libraries(t_string
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -242,7 +242,7 @@ add_test(string t_string)
> - add_executable(t_cast t_cast.cpp)
> - target_link_libraries(t_cast
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -250,7 +250,7 @@ add_test(cast t_cast)
> - 
> - add_executable(option_parser option_parser.cpp)
> - target_link_libraries(option_parser
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -258,7 +258,7 @@ target_link_libraries(option_parser
> - add_executable(t_ring_buffer t_ring_buffer.cpp)
> - target_link_libraries(t_ring_buffer
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> -@@ -267,7 +267,7 @@ add_test(ring_buffer t_ring_buffer)
> - add_executable(t_mt19937 t_mt19937.cpp)
> - target_link_libraries(t_mt19937
> -     TestFramework
> --    htio2
> -+    htio2_dynamic
> -     ${juce_dep_libs}
> -     ${ZLIB_LIBRARIES}
> - )
> diff --git a/debian/patches/0002-Added-Debian-specific-SONAMEs.patch.patch b/debian/patches/0002-Added-Debian-specific-SONAMEs.patch.patch
> new file mode 100644
> index 0000000..17e1138
> --- /dev/null
> +++ b/debian/patches/0002-Added-Debian-specific-SONAMEs.patch.patch
> @@ -0,0 +1,449 @@
> +From: Leopold Palomo-Avellaneda <leopold.palomo at upc.edu>
> +Date: Tue, 23 Jun 2015 15:23:35 +0200
> +Subject: Added Debian specific SONAMEs.patch
> +
> +---
> + src/CMakeLists.txt | 80 ++++++++++++++++++++++++++++++++++++++----------------
> + t/CMakeLists.txt   | 66 ++++++++++++++++++++++----------------------
> + 2 files changed, 90 insertions(+), 56 deletions(-)
> +
> +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
> +index a3bb0fc..6e0cf3c 100644
> +--- a/src/CMakeLists.txt
> ++++ b/src/CMakeLists.txt
> +@@ -5,22 +5,54 @@ file(GLOB HTIO_SOURCE_FILES htio2/*.cpp)
> + file(GLOB HTQC_SOURCE_FILES htqc/*.cpp)
> + file(GLOB JUCE_SOURCE_FILES htio2/JUCE-3.0.8/modules/*/*.cpp)
> + 
> +-add_library(htio2 STATIC ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> ++add_library(htio2_static STATIC ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> ++set_target_properties(htio2_static PROPERTIES 
> ++    OUTPUT_NAME htio2
> ++   INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++   CLEAN_DIRECT_OUTPUT 1)
> + 
> +-add_library(ht_common STATIC ${HTQC_SOURCE_FILES})
> ++#CPACK_PACKAGE_VERSION_MAJOR 1
> ++#CPACK_PACKAGE_VERSION_MINOR 92
> ++#CPACK_PACKAGE_VERSION_PATCH 1
> ++
> ++add_library(htio2_dynamic SHARED ${HTIO_SOURCE_FILES} ${JUCE_SOURCE_FILES})
> ++set_target_properties( htio2_dynamic PROPERTIES
> ++  VERSION
> ++"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
> ++  SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}
> ++  OUTPUT_NAME htio2
> ++  LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}"
> ++  INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++  CLEAN_DIRECT_OUTPUT 1)
> ++
> ++add_library(ht_common_static STATIC ${HTQC_SOURCE_FILES})
> ++set_target_properties(ht_common_static PROPERTIES
> ++    OUTPUT_NAME ht_common
> ++   INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++   CLEAN_DIRECT_OUTPUT 1)
> ++
> ++add_library(ht_common_dynamic SHARED ${HTQC_SOURCE_FILES})
> ++set_target_properties( ht_common_dynamic PROPERTIES
> ++  VERSION 
> ++"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
> ++  SOVERSION "${CPACK_PACKAGE_VERSION_MAJOR}"
> ++  OUTPUT_NAME ht_common
> ++  LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" 
> ++  INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}"
> ++  CLEAN_DIRECT_OUTPUT 1)
> + 
> + add_executable(ht2-convert ht2-convert.cpp)
> + target_link_libraries(ht2-convert
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-demul ht2-demul.cpp)
> + target_link_libraries(ht2-demul
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -30,71 +62,73 @@ add_executable(ht2-stat ht2-stat.cpp
> +     htqc/FastqStat.cpp
> + )
> + target_link_libraries(ht2-stat
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-trim ht2-trim.cpp)
> + target_link_libraries(ht2-trim
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-filter ht2-filter.cpp)
> + target_link_libraries(ht2-filter
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-rename ht2-rename.cpp)
> + target_link_libraries(ht2-rename
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-sample ht2-sample.cpp)
> + target_link_libraries(ht2-sample
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-overlap ht2-overlap.cpp)
> + target_link_libraries(ht2-overlap
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-primer-trim ht2-primer-trim.cpp)
> + target_link_libraries(ht2-primer-trim
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> + add_executable(ht2-lane-tile ht2-lane-tile.cpp)
> + target_link_libraries(ht2-lane-tile
> +-    ht_common
> +-    htio2
> ++    ht_common_dynamic
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> + 
> +-install(TARGETS ht2-demul ht2-primer-trim ht2-convert ht2-stat ht2-trim ht2-filter ht2-sample ht2-overlap ht2-rename htio2
> ++install(TARGETS ht2-demul ht2-primer-trim ht2-convert ht2-stat ht2-trim ht2-filter ht2-sample ht2-overlap ht2-rename htio2_dynamic
> ++	htio2_static ht_common_static ht_common_dynamic
> +     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
> +     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
> ++   LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
> + )
> + install(PROGRAMS ht2-stat-draw.pl DESTINATION bin)
> + install(FILES ${CMAKE_BINARY_DIR}/src/htio2/config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/htio2)
> +diff --git a/t/CMakeLists.txt b/t/CMakeLists.txt
> +index 6ca515a..e44b87f 100644
> +--- a/t/CMakeLists.txt
> ++++ b/t/CMakeLists.txt
> +@@ -1,12 +1,12 @@
> + include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
> + configure_file(TestConfig.h.in TestConfig.h ESCAPE_QUOTES)
> + 
> +-add_library(TestFramework TestFramework.cpp)
> ++add_library(TestFramework SHARED TestFramework.cpp)
> + 
> + add_executable(t_text_file_equal t_text_file_equal.cpp)
> + target_link_libraries(t_text_file_equal
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -15,7 +15,7 @@ add_test(text_file_equal t_text_file_equal)
> + add_executable(t_kmer_nt5_16 t_kmer_nt5_16.cpp)
> + target_link_libraries(t_kmer_nt5_16
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -24,7 +24,7 @@ add_test(kmer_nt5_16 t_kmer_nt5_16)
> + add_executable(t_kmer_nt5_32 t_kmer_nt5_32.cpp)
> + target_link_libraries(t_kmer_nt5_32
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -33,7 +33,7 @@ add_test(kmer_nt5_32 t_kmer_nt5_32)
> + add_executable(t_kmer_nt5_64 t_kmer_nt5_64.cpp)
> + target_link_libraries(t_kmer_nt5_64
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -42,7 +42,7 @@ add_test(kmer_nt5_64 t_kmer_nt5_64)
> + add_executable(t_kmer_nt4_16 t_kmer_nt4_16.cpp)
> + target_link_libraries(t_kmer_nt4_16
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -51,7 +51,7 @@ add_test(kmer_nt4_16 t_kmer_nt4_16)
> + add_executable(t_kmer_nt4_32 t_kmer_nt4_32.cpp)
> + target_link_libraries(t_kmer_nt4_32
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -60,7 +60,7 @@ add_test(kmer_nt4_32 t_kmer_nt4_32)
> + add_executable(t_kmer_nt4_64 t_kmer_nt4_64.cpp)
> + target_link_libraries(t_kmer_nt4_64
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -69,7 +69,7 @@ add_test(kmer_nt4_64 t_kmer_nt4_64)
> + add_executable(t_kmer_aa t_kmer_aa.cpp)
> + target_link_libraries(t_kmer_aa
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -78,7 +78,7 @@ add_test(kmer_aa t_kmer_aa)
> + add_executable(t_ref_counted t_ref_counted.cpp)
> + target_link_libraries(t_ref_counted
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -87,7 +87,7 @@ add_test(ref_counted t_ref_counted)
> + add_executable(t_simple_seq t_simple_seq.cpp)
> + target_link_libraries(t_simple_seq
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -96,7 +96,7 @@ add_test(simple_seq t_simple_seq)
> + add_executable(t_plain_file_handle t_plain_file_handle.cpp)
> + target_link_libraries(t_plain_file_handle
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -105,7 +105,7 @@ add_test(plain_file_handle t_plain_file_handle)
> + add_executable(t_gzip_file_handle t_gzip_file_handle.cpp)
> + target_link_libraries(t_gzip_file_handle
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -114,7 +114,7 @@ add_test(gzip_file_handle t_gzip_file_handle)
> + add_executable(t_fastq_io t_fastq_io.cpp)
> + target_link_libraries(t_fastq_io
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -123,7 +123,7 @@ add_test(fastq_io t_fastq_io)
> + add_executable(t_fasta_io t_fasta_io.cpp)
> + target_link_libraries(t_fasta_io
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -132,7 +132,7 @@ add_test(fasta_io t_fasta_io)
> + add_executable(t_header_util t_header_util.cpp)
> + target_link_libraries(t_header_util
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -141,8 +141,8 @@ add_test(header_util t_header_util)
> + add_executable(t_multi_seq_file_se t_multi_seq_file_se.cpp)
> + target_link_libraries(t_multi_seq_file_se
> +     TestFramework
> +-    ht_common
> +-    htio2
> ++    htio2_dynamic
> ++    ht_common_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -151,8 +151,8 @@ add_test(multi_seq_file_se t_multi_seq_file_se)
> + add_executable(t_multi_seq_file_pe t_multi_seq_file_pe.cpp)
> + target_link_libraries(t_multi_seq_file_pe
> +     TestFramework
> +-    ht_common
> +-    htio2
> ++    htio2_dynamic
> ++    ht_common_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -161,7 +161,7 @@ add_test(multi_seq_file_pe t_multi_seq_file_pe)
> + add_executable(t_ht_sample t_ht_sample.cpp)
> + target_link_libraries(t_ht_sample
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -170,7 +170,7 @@ add_test(ht_sample t_ht_sample)
> + add_executable(t_ht_trim t_ht_trim.cpp)
> + target_link_libraries(t_ht_trim
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -179,7 +179,7 @@ add_test(ht_trim t_ht_trim)
> + add_executable(t_ht_rename t_ht_rename.cpp)
> + target_link_libraries(t_ht_rename
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -188,7 +188,7 @@ add_test(ht_rename t_ht_rename)
> + add_executable(t_ht_overlap t_ht_overlap.cpp)
> + target_link_libraries(t_ht_overlap
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -197,7 +197,7 @@ add_test(ht_overlap t_ht_overlap)
> + add_executable(t_ht_filter t_ht_filter.cpp)
> + target_link_libraries(t_ht_filter
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -206,7 +206,7 @@ add_test(ht_filter t_ht_filter)
> + add_executable(t_ht_convert t_ht_convert.cpp)
> + target_link_libraries(t_ht_convert
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -215,7 +215,7 @@ add_test(ht_convert t_ht_convert)
> + add_executable(t_ht_demul t_ht_demul.cpp)
> + target_link_libraries(t_ht_demul
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -224,7 +224,7 @@ add_test(ht_demul t_ht_demul)
> + add_executable(t_ht_lane_tile t_ht_lane_tile.cpp)
> + target_link_libraries(t_ht_lane_tile
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -233,7 +233,7 @@ add_test(ht_lane_tile t_ht_lane_tile)
> + add_executable(t_string t_string.cpp)
> + target_link_libraries(t_string
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -242,7 +242,7 @@ add_test(string t_string)
> + add_executable(t_cast t_cast.cpp)
> + target_link_libraries(t_cast
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -250,7 +250,7 @@ add_test(cast t_cast)
> + 
> + add_executable(option_parser option_parser.cpp)
> + target_link_libraries(option_parser
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -258,7 +258,7 @@ target_link_libraries(option_parser
> + add_executable(t_ring_buffer t_ring_buffer.cpp)
> + target_link_libraries(t_ring_buffer
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> +@@ -267,7 +267,7 @@ add_test(ring_buffer t_ring_buffer)
> + add_executable(t_mt19937 t_mt19937.cpp)
> + target_link_libraries(t_mt19937
> +     TestFramework
> +-    htio2
> ++    htio2_dynamic
> +     ${juce_dep_libs}
> +     ${ZLIB_LIBRARIES}
> + )
> diff --git a/debian/patches/0003-enable_testing.patch b/debian/patches/0003-enable_testing.patch
> new file mode 100644
> index 0000000..db38a39
> --- /dev/null
> +++ b/debian/patches/0003-enable_testing.patch
> @@ -0,0 +1,19 @@
> +From: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
> +Date: Tue, 23 Jun 2015 15:29:55 +0200
> +Subject: enable_testing
> +
> +---
> + CMakeLists.txt | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 90fadcb..716aad5 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -53,5 +53,6 @@ include_directories(
> + 
> + set(juce_dep_libs pthread rt dl)
> + 
> ++enable_testing()
> + add_subdirectory(src)
> + add_subdirectory(t)
> diff --git a/debian/patches/enable_testing.patch b/debian/patches/enable_testing.patch
> deleted file mode 100644
> index 2fe9c49..0000000
> --- a/debian/patches/enable_testing.patch
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -Author: Leopold Palomo-Avellaneda <leo at alaxarxa.net>
> -Last-Update: Tue, 23 Jun 2015 09:51:43 +0200
> -Description: Enable testing
> -
> ---- a/CMakeLists.txt
> -+++ b/CMakeLists.txt
> -@@ -53,5 +53,6 @@ include_directories(
> - 
> - set(juce_dep_libs pthread rt dl)
> - 
> -+enable_testing()
> - add_subdirectory(src)
> - add_subdirectory(t)
> diff --git a/debian/patches/series b/debian/patches/series
> index a205427..05334d6 100644
> --- a/debian/patches/series
> +++ b/debian/patches/series
> @@ -1,3 +1,3 @@
>  0001-correct_cflags.patch
> -0002-Added-Debian-specific-SONAMEs.patch
> -enable_testing.patch
> +0002-Added-Debian-specific-SONAMEs.patch.patch
> +0003-enable_testing.patch
> -- 
> 2.1.4
> 




-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list