[med-svn] [seqan2] 01/01: New upstream version 2.3.0~0.20161019~af07bc1+dfsg

Michael Crusoe misterc-guest at moszumanska.debian.org
Thu Oct 20 09:33:42 UTC 2016


This is an automated email from the git hooks/post-receive script.

misterc-guest pushed a commit to annotated tag upstream/2.3.0_0.20161019_af07bc1+dfsg
in repository seqan2.

commit 97da30dcb5e22030cbbeb46790967798947b9f16
Author: Michael R. Crusoe <michael.crusoe at gmail.com>
Date:   Thu Oct 20 02:19:09 2016 -0700

    New upstream version 2.3.0~0.20161019~af07bc1+dfsg
---
 apps/alf/CMakeLists.txt                           |  4 +-
 apps/bs_tools/CMakeLists.txt                      |  8 +--
 apps/bs_tools/casbar.h                            | 14 ++---
 apps/bs_tools/casbar_score.h                      |  2 +
 apps/dfi/CMakeLists.txt                           |  4 +-
 apps/dfi/dfi.cpp                                  |  2 +
 apps/fiona/CMakeLists.txt                         | 10 ++--
 apps/fx_tools/CMakeLists.txt                      |  4 +-
 apps/gustaf/CMakeLists.txt                        |  4 +-
 apps/insegt/CMakeLists.txt                        |  4 +-
 apps/mason2/CMakeLists.txt                        |  8 +--
 apps/micro_razers/CMakeLists.txt                  |  4 +-
 apps/ngs_roi/CMakeLists.txt                       |  6 ++-
 apps/pair_align/CMakeLists.txt                    |  4 +-
 apps/param_chooser/CMakeLists.txt                 |  4 +-
 apps/rabema/CMakeLists.txt                        |  6 ++-
 apps/razers/CMakeLists.txt                        |  4 +-
 apps/razers/readSimulator.h                       |  2 +
 apps/razers3/CMakeLists.txt                       | 10 ++--
 apps/razers3/readSimulator.h                      |  2 +
 apps/rep_sep/CMakeLists.txt                       |  4 +-
 apps/sak/CMakeLists.txt                           |  4 +-
 apps/sam2matrix/CMakeLists.txt                    |  4 +-
 apps/samcat/CMakeLists.txt                        |  8 +--
 apps/searchjoin/CMakeLists.txt                    |  6 ++-
 apps/seqan_tcoffee/CMakeLists.txt                 |  4 +-
 apps/seqcons2/CMakeLists.txt                      |  6 ++-
 apps/sgip/CMakeLists.txt                          |  4 +-
 apps/snp_store/CMakeLists.txt                     |  8 +--
 apps/splazers/CMakeLists.txt                      |  4 +-
 apps/splazers/readSimulator.h                     |  2 +
 apps/stellar/CMakeLists.txt                       |  4 +-
 apps/tree_recon/CMakeLists.txt                    |  4 +-
 apps/yara/CMakeLists.txt                          | 10 ++--
 include/seqan/bam_io/cigar.h                      | 19 ++++---
 include/seqan/blast/blast_tabular_in.h            |  1 +
 include/seqan/graph_align/graph_impl_align.h      | 12 +++++
 include/seqan/graph_types/graph_impl_automaton.h  | 55 +++++++++++++++++++
 include/seqan/graph_types/graph_impl_directed.h   | 64 ++++++++++++++++++++++-
 include/seqan/graph_types/graph_impl_hmm.h        | 12 +++++
 include/seqan/graph_types/graph_impl_tree.h       | 12 +++++
 include/seqan/graph_types/graph_impl_undirected.h | 50 ++++++++++++++++++
 include/seqan/graph_types/graph_interface.h       | 14 +++++
 include/seqan/index/pump_extender7.h              | 24 ++++-----
 include/seqan/index/shape_threshold.h             |  2 +
 include/seqan/journaled_set/score_biaffine.h      | 31 ++++++++---
 include/seqan/parallel/parallel_lock.h            | 24 ++++++---
 include/seqan/pipe/pipe_edit_environment.h        |  2 +
 include/seqan/platform.h                          | 13 +++++
 include/seqan/seeds/banded_chain_alignment_impl.h | 19 ++++++-
 tests/align/CMakeLists.txt                        |  4 +-
 tests/align_extend/CMakeLists.txt                 |  4 +-
 tests/align_profile/CMakeLists.txt                |  4 +-
 tests/align_split/CMakeLists.txt                  |  4 +-
 tests/alignment_free/CMakeLists.txt               |  4 +-
 tests/arg_parse/CMakeLists.txt                    |  4 +-
 tests/bam_io/CMakeLists.txt                       |  6 ++-
 tests/basic/CMakeLists.txt                        |  4 +-
 tests/bed_io/CMakeLists.txt                       |  4 +-
 tests/blast/CMakeLists.txt                        |  4 +-
 tests/consensus/CMakeLists.txt                    |  4 +-
 tests/consensus_v2/CMakeLists.txt                 |  4 +-
 tests/find/CMakeLists.txt                         |  4 +-
 tests/gff_io/CMakeLists.txt                       |  4 +-
 tests/graph_algorithms/CMakeLists.txt             |  4 +-
 tests/graph_align/CMakeLists.txt                  |  4 +-
 tests/graph_align/test_graph_impl_align.h         | 10 ++++
 tests/graph_msa/CMakeLists.txt                    |  4 +-
 tests/graph_types/CMakeLists.txt                  |  4 +-
 tests/graph_types/test_graph_types_types.cpp      | 58 +++++++++++++++++++-
 tests/index/CMakeLists.txt                        |  6 ++-
 tests/journaled_set/CMakeLists.txt                |  4 +-
 tests/journaled_string_tree/CMakeLists.txt        |  6 ++-
 tests/map/CMakeLists.txt                          |  4 +-
 tests/misc/CMakeLists.txt                         |  4 +-
 tests/modifier/CMakeLists.txt                     |  4 +-
 tests/modifier_cyclic_shape/CMakeLists.txt        |  4 +-
 tests/multiple_translation_units/CMakeLists.txt   |  4 +-
 tests/parallel/CMakeLists.txt                     |  6 ++-
 tests/parse_lm/CMakeLists.txt                     |  4 +-
 tests/pipe/CMakeLists.txt                         |  4 +-
 tests/platform/CMakeLists.txt                     |  4 +-
 tests/random/CMakeLists.txt                       |  4 +-
 tests/realign/CMakeLists.txt                      |  4 +-
 tests/reduced_aminoacid/CMakeLists.txt            |  4 +-
 tests/roi_io/CMakeLists.txt                       |  4 +-
 tests/score/CMakeLists.txt                        |  4 +-
 tests/seeds/CMakeLists.txt                        |  4 +-
 tests/seeds/test_align_banded_chain_impl.cpp      | 18 +++++++
 tests/seq_io/CMakeLists.txt                       |  8 +--
 tests/sequence/CMakeLists.txt                     |  4 +-
 tests/sequence_journaled/CMakeLists.txt           |  4 +-
 tests/simple_intervals_io/CMakeLists.txt          |  4 +-
 tests/statistics/CMakeLists.txt                   |  4 +-
 tests/store/CMakeLists.txt                        |  6 ++-
 tests/stream/CMakeLists.txt                       |  8 +--
 tests/swift_local/CMakeLists.txt                  |  4 +-
 tests/tabix_io/CMakeLists.txt                     |  6 ++-
 tests/translation/CMakeLists.txt                  |  6 ++-
 tests/ucsc_io/CMakeLists.txt                      |  4 +-
 tests/vcf_io/CMakeLists.txt                       |  4 +-
 util/cmake/SeqAnBuildSystem.cmake                 | 17 ++++--
 102 files changed, 692 insertions(+), 157 deletions(-)

diff --git a/apps/alf/CMakeLists.txt b/apps/alf/CMakeLists.txt
index dd46ac5..081ec24 100644
--- a/apps/alf/CMakeLists.txt
+++ b/apps/alf/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.1.6")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/bs_tools/CMakeLists.txt b/apps/bs_tools/CMakeLists.txt
index 1b9aa03..1272a0f 100644
--- a/apps/bs_tools/CMakeLists.txt
+++ b/apps/bs_tools/CMakeLists.txt
@@ -22,9 +22,11 @@ endif ()
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (Boost)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (Boost)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 if (NOT Boost_FOUND OR NOT ZLIB_FOUND)
     message (STATUS "  Boost or zlib not found: Not building bs_tools.")
diff --git a/apps/bs_tools/casbar.h b/apps/bs_tools/casbar.h
index 5ee5ad9..1831843 100755
--- a/apps/bs_tools/casbar.h
+++ b/apps/bs_tools/casbar.h
@@ -722,13 +722,13 @@ int readMatchesFromSamBam(
                 {
                     switch (record.cigar[i].operation)
                     {
-                        case 'D': std::cout << 'D' << record.cigar[i].count;
-                       // case 'N': std::cout << 'N' << record.cigar[i].count;
-                       // case 'P': std::cout << 'P' << record.cigar[i].count;
-                        case 'I': std::cout << 'I' << record.cigar[i].count;
-                        case 'M': std::cout << 'M' << record.cigar[i].count;
-                       // case 'S': std::cout << 'S' << record.cigar[i].count;
-                       case 'X': std::cout << 'X' << record.cigar[i].count;
+                        case 'D': std::cout << 'D' << record.cigar[i].count; break;
+                       // case 'N': std::cout << 'N' << record.cigar[i].count; break;
+                       // case 'P': std::cout << 'P' << record.cigar[i].count; break;
+                        case 'I': std::cout << 'I' << record.cigar[i].count; break;
+                        case 'M': std::cout << 'M' << record.cigar[i].count; break;
+                       // case 'S': std::cout << 'S' << record.cigar[i].count; break;
+                       case 'X': std::cout << 'X' << record.cigar[i].count; break;
                     }
                 }
                 std::cout << std::endl;
diff --git a/apps/bs_tools/casbar_score.h b/apps/bs_tools/casbar_score.h
index 847fced..50ece61 100644
--- a/apps/bs_tools/casbar_score.h
+++ b/apps/bs_tools/casbar_score.h
@@ -188,6 +188,7 @@ assignTargetFreqs(Score<TValue, BsTagList<TBsProfileScore, TModel, TCellDescript
                 me.targetFreqs[i][1] += (estMethLevel/sum)/4.0;         // C
                 me.targetFreqs[i][2] += (1.0/sum)/4.0;                  // G
                 me.targetFreqs[i][3] += ((1.0-estMethLevel)/sum)/4.0;   // T
+                SEQAN_FALLTHROUGH
             case -1: // Ref gap
                 refGap = 1;     // Helper to take ref gap into account
                 break;
@@ -263,6 +264,7 @@ assignTargetFreqs(Score<TValue, BsTagList<TBsProfileScore, TModel, TCellDescript
                 me.targetFreqs[i][1] += (1.0/sum)/4.0;                  // C
                 me.targetFreqs[i][2] += (estMethLevel/sum)/4.0;         // G
                 me.targetFreqs[i][3] += (1.0/sum)/4.0;                  // T
+                SEQAN_FALLTHROUGH
             case -1: // Ref gap
                 refGap = 1;
                 break;
diff --git a/apps/dfi/CMakeLists.txt b/apps/dfi/CMakeLists.txt
index 28aca24..224aafa 100644
--- a/apps/dfi/CMakeLists.txt
+++ b/apps/dfi/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "2.1.6")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/dfi/dfi.cpp b/apps/dfi/dfi.cpp
index 3bedb96..97a1ac2 100644
--- a/apps/dfi/dfi.cpp
+++ b/apps/dfi/dfi.cpp
@@ -836,6 +836,7 @@ int main(int argc, const char *argv[])
 				case 1: return runDFI<PredMinFreq, PredMaxFreq, AminoAcid> (getArgumentValues(parser, 0), options.minFreq, options.maxFreq, options.maximal, options);
 				case 2: return runDFI<PredMinFreq, PredMaxFreq, Dna> (getArgumentValues(parser, 0), options.minFreq, options.maxFreq, options.maximal, options);
 			}
+			break;
 		case 1:
 			switch (options.alphabet)
 			{
@@ -843,6 +844,7 @@ int main(int argc, const char *argv[])
 				case 1: return runDFI<PredMinSupp, PredEmerging, AminoAcid> (getArgumentValues(parser, 0), options.minSupp, options.growthRate, options.maximal, options);
 				case 2: return runDFI<PredMinSupp, PredEmerging, Dna> (getArgumentValues(parser, 0), options.minSupp, options.growthRate, options.maximal, options);
 			}
+			break;
 		case 2:
 			switch (options.alphabet)
 			{
diff --git a/apps/fiona/CMakeLists.txt b/apps/fiona/CMakeLists.txt
index 7b1a457..19c0915 100644
--- a/apps/fiona/CMakeLists.txt
+++ b/apps/fiona/CMakeLists.txt
@@ -17,10 +17,12 @@ set (SEQAN_APP_VERSION "0.2.6")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (ZLIB)
-find_package (Boost)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (ZLIB)
+    find_package (Boost)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # Stop here if we cannot find Boost or OpenMP.
 if (NOT Boost_FOUND OR NOT OPENMP_FOUND)
diff --git a/apps/fx_tools/CMakeLists.txt b/apps/fx_tools/CMakeLists.txt
index b1dba00..4fff732 100644
--- a/apps/fx_tools/CMakeLists.txt
+++ b/apps/fx_tools/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "0.2.6")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/gustaf/CMakeLists.txt b/apps/gustaf/CMakeLists.txt
index ba8de50..bb869c7 100644
--- a/apps/gustaf/CMakeLists.txt
+++ b/apps/gustaf/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.0.6")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/insegt/CMakeLists.txt b/apps/insegt/CMakeLists.txt
index c121b5d..618234b 100644
--- a/apps/insegt/CMakeLists.txt
+++ b/apps/insegt/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.1.6")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/mason2/CMakeLists.txt b/apps/mason2/CMakeLists.txt
index a2f93ad..fe446fe 100644
--- a/apps/mason2/CMakeLists.txt
+++ b/apps/mason2/CMakeLists.txt
@@ -17,9 +17,11 @@ set (SEQAN_APP_VERSION "2.0.5")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 if (NOT ZLIB_FOUND)
   message (STATUS "  ZLIB not found: MASON2 will not be built.")
diff --git a/apps/micro_razers/CMakeLists.txt b/apps/micro_razers/CMakeLists.txt
index 2bfe6de..c964ce3 100644
--- a/apps/micro_razers/CMakeLists.txt
+++ b/apps/micro_razers/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.0.7")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/ngs_roi/CMakeLists.txt b/apps/ngs_roi/CMakeLists.txt
index 1c35b9c..975f7cd 100644
--- a/apps/ngs_roi/CMakeLists.txt
+++ b/apps/ngs_roi/CMakeLists.txt
@@ -18,8 +18,10 @@ set (SEQAN_APP_VERSION "0.2.8")
 
 # Search SeqAn and select dependencies.
 
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/pair_align/CMakeLists.txt b/apps/pair_align/CMakeLists.txt
index 2a8d343..7141472 100644
--- a/apps/pair_align/CMakeLists.txt
+++ b/apps/pair_align/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.3.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/param_chooser/CMakeLists.txt b/apps/param_chooser/CMakeLists.txt
index 8172966..c52ce86 100644
--- a/apps/param_chooser/CMakeLists.txt
+++ b/apps/param_chooser/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "0.0.5")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/rabema/CMakeLists.txt b/apps/rabema/CMakeLists.txt
index b329515..eaba075 100644
--- a/apps/rabema/CMakeLists.txt
+++ b/apps/rabema/CMakeLists.txt
@@ -17,8 +17,10 @@ set (SEQAN_APP_VERSION "1.2.6")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 if (NOT ZLIB_FOUND)
   message (STATUS "  ZLIB not found: RABEMA will not be built.")
diff --git a/apps/razers/CMakeLists.txt b/apps/razers/CMakeLists.txt
index aafa2d0..5af8db4 100644
--- a/apps/razers/CMakeLists.txt
+++ b/apps/razers/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.5.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/razers/readSimulator.h b/apps/razers/readSimulator.h
index 2aaa3df..bc04f2d 100644
--- a/apps/razers/readSimulator.h
+++ b/apps/razers/readSimulator.h
@@ -305,6 +305,7 @@ void simulateReads(
 	
 					case SEQAN_DELETE:
 						++del;
+						SEQAN_FALLTHROUGH
 		
 					case SEQAN_INSERT:
 						++err;
@@ -331,6 +332,7 @@ void simulateReads(
 		
 						case SEQAN_DELETE:
 							++del;
+							SEQAN_FALLTHROUGH
 			
 						case SEQAN_INSERT:
 							++err;
diff --git a/apps/razers3/CMakeLists.txt b/apps/razers3/CMakeLists.txt
index bcb8e32..a4b347f 100644
--- a/apps/razers3/CMakeLists.txt
+++ b/apps/razers3/CMakeLists.txt
@@ -23,10 +23,12 @@ if (SEQAN_TRAVIS_BUILD)
 endif ()
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (ZLIB)
-find_package (BZip2)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (ZLIB)
+    find_package (BZip2)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/razers3/readSimulator.h b/apps/razers3/readSimulator.h
index f08ee0e..aa3df4c 100644
--- a/apps/razers3/readSimulator.h
+++ b/apps/razers3/readSimulator.h
@@ -308,6 +308,7 @@ void simulateReads(
 
                         case SEQAN_DELETE:
                             ++del;
+                            SEQAN_FALLTHROUGH
 
                         case SEQAN_INSERT:
                             ++err;
@@ -334,6 +335,7 @@ void simulateReads(
 
                             case SEQAN_DELETE:
                                 ++del;
+                                SEQAN_FALLTHROUGH
 
                             case SEQAN_INSERT:
                                 ++err;
diff --git a/apps/rep_sep/CMakeLists.txt b/apps/rep_sep/CMakeLists.txt
index c7a6535..55ee89a 100644
--- a/apps/rep_sep/CMakeLists.txt
+++ b/apps/rep_sep/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "0.1.7")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/sak/CMakeLists.txt b/apps/sak/CMakeLists.txt
index 3d6425e..dd7b49e 100644
--- a/apps/sak/CMakeLists.txt
+++ b/apps/sak/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "0.4.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/sam2matrix/CMakeLists.txt b/apps/sam2matrix/CMakeLists.txt
index b27a258..ceb2576 100644
--- a/apps/sam2matrix/CMakeLists.txt
+++ b/apps/sam2matrix/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "0.3.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/samcat/CMakeLists.txt b/apps/samcat/CMakeLists.txt
index a517812..a9dfa1b 100644
--- a/apps/samcat/CMakeLists.txt
+++ b/apps/samcat/CMakeLists.txt
@@ -17,9 +17,11 @@ set (SEQAN_APP_VERSION "0.3.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/searchjoin/CMakeLists.txt b/apps/searchjoin/CMakeLists.txt
index 8cca23c..f3cde97 100644
--- a/apps/searchjoin/CMakeLists.txt
+++ b/apps/searchjoin/CMakeLists.txt
@@ -17,8 +17,10 @@ set (SEQAN_APP_VERSION "0.5.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/seqan_tcoffee/CMakeLists.txt b/apps/seqan_tcoffee/CMakeLists.txt
index 346b1c8..54ce1d8 100644
--- a/apps/seqan_tcoffee/CMakeLists.txt
+++ b/apps/seqan_tcoffee/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.13.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/seqcons2/CMakeLists.txt b/apps/seqcons2/CMakeLists.txt
index b6355fa..37d1fe5 100644
--- a/apps/seqcons2/CMakeLists.txt
+++ b/apps/seqcons2/CMakeLists.txt
@@ -17,8 +17,10 @@ set (SEQAN_APP_VERSION "2.0.5")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/sgip/CMakeLists.txt b/apps/sgip/CMakeLists.txt
index 3cdd6d7..3e9b2b3 100755
--- a/apps/sgip/CMakeLists.txt
+++ b/apps/sgip/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.4.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/snp_store/CMakeLists.txt b/apps/snp_store/CMakeLists.txt
index 5a3221d..08a709c 100644
--- a/apps/snp_store/CMakeLists.txt
+++ b/apps/snp_store/CMakeLists.txt
@@ -17,9 +17,11 @@ set (SEQAN_APP_VERSION "1.3.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (Boost)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (Boost)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 if (NOT Boost_FOUND OR NOT ZLIB_FOUND)
     message (STATUS "  Boost or zlib not found: Not building snp_store.")
diff --git a/apps/splazers/CMakeLists.txt b/apps/splazers/CMakeLists.txt
index dda53b9..0731a5e 100644
--- a/apps/splazers/CMakeLists.txt
+++ b/apps/splazers/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.3.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
     message (STATUS "  Not building splazers on 32bit architectures.")
diff --git a/apps/splazers/readSimulator.h b/apps/splazers/readSimulator.h
index 8c84453..4c53fee 100644
--- a/apps/splazers/readSimulator.h
+++ b/apps/splazers/readSimulator.h
@@ -308,6 +308,7 @@ void simulateReads(
 	
 					case SEQAN_DELETE:
 						++del;
+						SEQAN_FALLTHROUGH
 		
 					case SEQAN_INSERT:
 						++err;
@@ -334,6 +335,7 @@ void simulateReads(
 		
 						case SEQAN_DELETE:
 							++del;
+							SEQAN_FALLTHROUGH
 			
 						case SEQAN_INSERT:
 							++err;
diff --git a/apps/stellar/CMakeLists.txt b/apps/stellar/CMakeLists.txt
index 5be5713..b6ba635 100644
--- a/apps/stellar/CMakeLists.txt
+++ b/apps/stellar/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.4.7")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/tree_recon/CMakeLists.txt b/apps/tree_recon/CMakeLists.txt
index e18c3af..045d62b 100644
--- a/apps/tree_recon/CMakeLists.txt
+++ b/apps/tree_recon/CMakeLists.txt
@@ -17,7 +17,9 @@ set (SEQAN_APP_VERSION "1.4.4")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/apps/yara/CMakeLists.txt b/apps/yara/CMakeLists.txt
index 1098717..9b70998 100644
--- a/apps/yara/CMakeLists.txt
+++ b/apps/yara/CMakeLists.txt
@@ -20,10 +20,12 @@ if (COMPILER_MSVC)
 endif ()
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (ZLIB)
-find_package (BZip2)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (ZLIB)
+    find_package (BZip2)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # Warn if OpenMP was not found.
 if (NOT OPENMP_FOUND)
diff --git a/include/seqan/bam_io/cigar.h b/include/seqan/bam_io/cigar.h
index 9a75797..8a61fef 100644
--- a/include/seqan/bam_io/cigar.h
+++ b/include/seqan/bam_io/cigar.h
@@ -145,18 +145,19 @@ inline bool operator==(CigarElement<TOperation, TCount> const & lhs,
 // ----------------------------------------------------------------------------
 
 template <typename TOperation, typename TCount>
+[[deprecated("The behavior is not clear. This function should not be used anymore.")]]
 uint32_t toBamCigarElement(CigarElement<TOperation, TCount> const & cigarElement)
 {
     char operation = 0;
     switch (cigarElement.operation) {
-        case 'X': operation += 1;
-        case '=': operation += 1;
-        case 'P': operation += 1;
-        case 'H': operation += 1;
-        case 'S': operation += 1;
-        case 'N': operation += 1;
-        case 'D': operation += 1;
-        case 'I': operation += 1;
+        case 'X': operation += 1; SEQAN_FALLTHROUGH
+        case '=': operation += 1; SEQAN_FALLTHROUGH
+        case 'P': operation += 1; SEQAN_FALLTHROUGH
+        case 'H': operation += 1; SEQAN_FALLTHROUGH
+        case 'S': operation += 1; SEQAN_FALLTHROUGH
+        case 'N': operation += 1; SEQAN_FALLTHROUGH
+        case 'D': operation += 1; SEQAN_FALLTHROUGH
+        case 'I': operation += 1; SEQAN_FALLTHROUGH
         case 'M': break;
     }
     return (cigarElement.count << 4) | operation;
@@ -648,6 +649,7 @@ unsigned cigarToGapAnchorRead(TGaps & gaps, TCigarString const & cigar)
                 if (atBegin)
                     beginGaps += cigar[i].count;
                 insertGaps(it, cigar[i].count);
+                SEQAN_FALLTHROUGH
             case 'I':
             case 'M':
             case 'S':
@@ -677,6 +679,7 @@ unsigned cigarToGapAnchorContig(TGaps & gaps, TCigarString const & cigar)
                 if (atBegin)
                     beginGaps += cigar[i].count;
                 insertGaps(it, cigar[i].count);
+                SEQAN_FALLTHROUGH
             case 'D':
             case 'M':
             case 'N':
diff --git a/include/seqan/blast/blast_tabular_in.h b/include/seqan/blast/blast_tabular_in.h
index 16224ca..c4d5eea 100644
--- a/include/seqan/blast/blast_tabular_in.h
+++ b/include/seqan/blast/blast_tabular_in.h
@@ -548,6 +548,7 @@ _readField(BlastMatch<TAlignRow0, TAlignRow1, TPos, TQId, TSId> & match,
             break;
         case BlastMatchField<>::Enum::P_POS:
             match.alignStats.alignmentSimilarity = lexicalCast<double>(context._stringBuffer);
+            break;
         case BlastMatchField<>::Enum::FRAMES:
         {
             clear(context._setBuffer2);
diff --git a/include/seqan/graph_align/graph_impl_align.h b/include/seqan/graph_align/graph_impl_align.h
index 76c436a..d78aa7d 100644
--- a/include/seqan/graph_align/graph_impl_align.h
+++ b/include/seqan/graph_align/graph_impl_align.h
@@ -666,6 +666,18 @@ getAdjacencyMatrix(Graph<Alignment<TStringSet, TCargo, TSpec> > const& g,
 
 //////////////////////////////////////////////////////////////////////////////
 
+template<typename TVector, typename TStringSet, typename TCargo, typename TSpec, typename TVertex>
+inline void
+getVertexAdjacencyVector(TVector & vectIn,
+                         TVector & vectOut,
+                         Graph<Alignment<TStringSet, TCargo, TSpec> > const & g,
+                         TVertex const & vertex)
+{
+    getVertexAdjacencyVector(vectIn, vectOut, g.data_align, vertex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
 template<typename TStringSet, typename TCargo, typename TSpec, typename TVertexDescriptor>
 inline typename EdgeDescriptor<Graph<Alignment<TStringSet, TCargo, TSpec> > >::Type
 findEdge(Graph<Alignment<TStringSet, TCargo, TSpec> > const& g,
diff --git a/include/seqan/graph_types/graph_impl_automaton.h b/include/seqan/graph_types/graph_impl_automaton.h
index 1adb8e1..ce5128e 100644
--- a/include/seqan/graph_types/graph_impl_automaton.h
+++ b/include/seqan/graph_types/graph_impl_automaton.h
@@ -574,6 +574,61 @@ getAdjacencyMatrix(Graph<Automaton<TAlphabet, TCargo, TSpec> > const& g,
 
 //////////////////////////////////////////////////////////////////////////////
 
+template<typename TVector, typename TAlphabet, typename TCargo, typename TSpec, typename TVertex>
+inline void
+getVertexAdjacencyVector(TVector & vectIn,
+                         TVector & vectOut,
+                         Graph<Automaton<TAlphabet, TCargo, TSpec> > const & g,
+                         TVertex const & vertex)
+{
+    typedef Graph<Automaton<TAlphabet, TCargo, TSpec> > TGraph;
+    typedef typename VertexDescriptor<TGraph>::Type TVertexDescriptor;
+    typedef typename Size<TGraph>::Type TGraphSize;
+    typedef typename EdgeType<TGraph>::Type TEdgeStump;
+    typedef typename Size<TVector>::Type TSize;
+    typedef typename Iterator<String<AutomatonEdgeArray<TEdgeStump, TAlphabet> > const, Standard>::Type TIterConst;
+    typedef typename Value<TVector>::Type TMatValue;
+
+    TVertexDescriptor nilVal = getNil<TVertexDescriptor>();
+    TSize lenVectIn = inDegree(g, vertex);
+    TSize lenVectOut = outDegree(g, vertex);
+    clear(vectIn);
+    clear(vectOut);
+    resize(vectIn, lenVectIn, 0);
+    resize(vectOut, lenVectOut, 0);
+    TIterConst itIn = begin(g.data_vertex, Standard());
+    TIterConst itEndIn = end(g.data_vertex, Standard());
+    TSize count = 0;
+    TVertexDescriptor pos = 0;
+    for(; itIn != itEndIn; ++itIn, ++pos)
+    {
+        if (idInUse(g.data_id_managerV, pos))
+        {
+            for(TSize i = 0; i < static_cast<TSize>(ValueSize<TAlphabet>::VALUE); ++i)
+            {
+                if ((*itIn).data_edge[i].data_target == vertex)
+                {
+                    TVertexDescriptor source = pos;
+                    vectIn[count] = static_cast<TMatValue>(static_cast<TGraphSize>(vectIn[count]) + source);
+                    ++count;
+                }
+            }
+        }
+    }
+    count = 0;
+    for(TSize i = 0; i < static_cast<TSize>(ValueSize<TAlphabet>::VALUE); ++i)
+    {
+        TVertexDescriptor target = static_cast<TVertexDescriptor>(getTarget(& g.data_vertex[vertex].data_edge[i]));
+        if ( target != nilVal)
+        {
+            vectOut[count] = static_cast<TMatValue>(static_cast<TGraphSize>(vectOut[count]) + target);
+            ++count;
+        }
+    }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
 template<typename TAlphabet, typename TCargo, typename TSpec, typename TVertexDescriptor, typename TLabel>
 inline typename EdgeDescriptor<Graph<Automaton<TAlphabet, TCargo, TSpec> > >::Type
 findEdge(Graph<Automaton<TAlphabet, TCargo, TSpec> >& g,
diff --git a/include/seqan/graph_types/graph_impl_directed.h b/include/seqan/graph_types/graph_impl_directed.h
index b9261cd..4fd7dc4 100644
--- a/include/seqan/graph_types/graph_impl_directed.h
+++ b/include/seqan/graph_types/graph_impl_directed.h
@@ -33,7 +33,7 @@
 #ifndef SEQAN_HEADER_GRAPH_IMPL_DIRECTED_H
 #define SEQAN_HEADER_GRAPH_IMPL_DIRECTED_H
 
-// TODO(holtgrew): The graph uses linked lists for storing edges. Thus, the graphs are not guaranteed to have good cache locality. We should also have a forward star/adjacency array implementation.
+// TODO(holtgrew): The graph uses linked lists for storing edges. Thus, the graphs are not guaranteed to have good cache locality.
 
 namespace seqan
 {
@@ -892,6 +892,68 @@ getAdjacencyMatrix(Graph<Directed<TCargo, TSpec> > const & g,
 
 //////////////////////////////////////////////////////////////////////////////
 
+template<typename TVector, typename TGraph, typename TVertex>
+inline void
+_getVertexAdjacencyVector(TVector & vectIn,
+                         TVector & vectOut,
+                         TGraph const & g,
+                         TVertex const & vertex)
+{
+    typedef typename Size<TGraph>::Type TGraphSize;
+    typedef typename EdgeType<TGraph>::Type TEdgeStump;
+    typedef typename Size<TVector>::Type TSize;
+    typedef typename VertexDescriptor<TGraph>::Type TVertexDescriptor;
+    typedef typename Iterator<String<TEdgeStump*> const, Standard>::Type TIterConst;
+    typedef typename Value<TVector>::Type TMatValue;
+
+    TSize lenVectIn = inDegree(g, vertex);
+    TSize lenVectOut = outDegree(g, vertex);
+    clear(vectIn);
+    clear(vectOut);
+    resize(vectIn, lenVectIn, 0);
+    resize(vectOut, lenVectOut, 0);
+    TIterConst itIn = begin(g.data_vertex, Standard());
+    TIterConst itEndIn = end(g.data_vertex, Standard());
+    TSize count = 0;
+    for(; itIn != itEndIn; ++itIn)
+    {
+        TEdgeStump * currentIn = *itIn;
+        while(currentIn != 0)
+        {
+            if ((TVertexDescriptor) getTarget(currentIn) == vertex)
+            {
+                TVertexDescriptor source = sourceVertex(g, currentIn);
+                vectIn[count] = static_cast<TMatValue>(static_cast<TGraphSize>(vectIn[count]) + source);
+                ++count;
+            }
+            currentIn = getNextT(currentIn);
+        }
+    }
+    count = 0;
+    TEdgeStump * currentOut = getValue(g.data_vertex, vertex);
+    while(currentOut != 0)
+    {
+        TVertexDescriptor target = targetVertex(g, currentOut);
+        vectOut[count] = static_cast<TMatValue>(static_cast<TGraphSize>(vectOut[count]) + target);
+        currentOut = getNextT(currentOut);
+        ++count;
+    }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TVector, typename TCargo, typename TSpec, typename TVertex>
+inline void
+getVertexAdjacencyVector(TVector & vectIn,
+                         TVector & vectOut,
+                         Graph<Directed<TCargo, TSpec> > const & g,
+                         TVertex const & vertex)
+{
+    _getVertexAdjacencyVector(vectIn, vectOut, g, vertex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
 template <typename TCargo, typename TSpec, typename TVertexDescriptor>
 inline typename EdgeDescriptor<Graph<Directed<TCargo, TSpec> > >::Type
 findEdge(Graph<Directed<TCargo, TSpec> > const & g,
diff --git a/include/seqan/graph_types/graph_impl_hmm.h b/include/seqan/graph_types/graph_impl_hmm.h
index adea5a4..98aa06d 100644
--- a/include/seqan/graph_types/graph_impl_hmm.h
+++ b/include/seqan/graph_types/graph_impl_hmm.h
@@ -462,6 +462,18 @@ getAdjacencyMatrix(Graph<Hmm<TAlphabet, TCargo, TSpec> > const& g,
 
 //////////////////////////////////////////////////////////////////////////////
 
+template<typename TVector, typename TAlphabet, typename TCargo, typename TSpec, typename TVertex>
+inline void
+getVertexAdjacencyVector(TVector & vectIn,
+                         TVector & vectOut,
+                         Graph<Hmm<TAlphabet, TCargo, TSpec> > const & g,
+                         TVertex const & vertex)
+{
+    getVertexAdjacencyVector(vectIn, vectOut, g.data_model, vertex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
 template<typename TAlphabet, typename TCargo, typename TSpec, typename TVertexDescriptor>
 inline typename EdgeDescriptor<Graph<Hmm<TAlphabet, TCargo, TSpec> > >::Type
 findEdge(Graph<Hmm<TAlphabet, TCargo, TSpec> > const& g,
diff --git a/include/seqan/graph_types/graph_impl_tree.h b/include/seqan/graph_types/graph_impl_tree.h
index a3decae..121620c 100644
--- a/include/seqan/graph_types/graph_impl_tree.h
+++ b/include/seqan/graph_types/graph_impl_tree.h
@@ -639,6 +639,18 @@ getAdjacencyMatrix(Graph<Tree<TCargo, TSpec> > const& g,
 
 //////////////////////////////////////////////////////////////////////////////
 
+template<typename TVector, typename TCargo, typename TSpec, typename TVertex>
+inline void
+getVertexAdjacencyVector(TVector & vectIn,
+                         TVector & vectOut,
+                         Graph<Tree<TCargo, TSpec> > const & g,
+                         TVertex const & vertex)
+{
+    _getVertexAdjacencyVector(vectIn, vectOut, g, vertex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
 template<typename TCargo, typename TSpec, typename TVertexDescriptor>
 inline typename EdgeDescriptor<Graph<Tree<TCargo, TSpec> > >::Type
 findEdge(Graph<Tree<TCargo, TSpec> >& g,
diff --git a/include/seqan/graph_types/graph_impl_undirected.h b/include/seqan/graph_types/graph_impl_undirected.h
index 3634775..8fa3e20 100644
--- a/include/seqan/graph_types/graph_impl_undirected.h
+++ b/include/seqan/graph_types/graph_impl_undirected.h
@@ -689,6 +689,56 @@ getAdjacencyMatrix(Graph<Undirected<TCargo, TSpec> > const& g,
 
 //////////////////////////////////////////////////////////////////////////////
 
+template<typename TVector, typename TCargo, typename TSpec, typename TVertex>
+inline void
+getVertexAdjacencyVector(TVector & vectOut,
+                         Graph<Undirected<TCargo, TSpec> > const & g,
+                         TVertex const & vertex)
+{
+    typedef Graph<Undirected<TCargo, TSpec> > TGraph;
+    typedef typename Size<TGraph>::Type TGraphSize;
+    typedef typename VertexDescriptor<TGraph>::Type TVertexDescriptor;
+    typedef typename EdgeType<TGraph>::Type TEdgeStump;
+    typedef typename Size<TVector>::Type TSize;
+    typedef typename Value<TVector>::Type TMatValue;
+
+    TSize lenVectOut = outDegree(g, vertex);
+    clear(vectOut);
+    resize(vectOut, lenVectOut, 0);
+    TSize count=0;
+    TEdgeStump * currentOut = g.data_vertex[vertex];
+    while(currentOut!=0)
+    {
+        TVertexDescriptor target = targetVertex(g, currentOut);
+        if (target == vertex)
+        {
+            currentOut = getNextT(currentOut);
+        } else
+        {
+            vectOut[count] = static_cast<TMatValue>(static_cast<TGraphSize>(vectOut[count]) + target);
+            currentOut = getNextS(currentOut);
+        }
+        ++count;
+    }
+}
+
+template<typename TVector, typename TCargo, typename TSpec, typename TVertex>
+inline void
+getVertexAdjacencyVector(TVector & vectIn,
+                         TVector & vectOut,
+                         Graph<Undirected<TCargo, TSpec> > const & g,
+                         TVertex const & vertex)
+{
+    // vectIn and vectOut are equal for undirected graphs
+    getVertexAdjacencyVector(vectOut, g, vertex);
+    clear(vectIn);
+    resize(vectIn, length(vectOut), 0);
+    for(unsigned i = 0; i < length(vectOut); ++i)
+        vectIn[i] = vectOut[i];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
 template<typename TCargo, typename TSpec, typename TVertexDescriptor>
 inline typename EdgeDescriptor<Graph<Undirected<TCargo, TSpec> > >::Type
 findEdge(Graph<Undirected<TCargo, TSpec> > const& g,
diff --git a/include/seqan/graph_types/graph_interface.h b/include/seqan/graph_types/graph_interface.h
index cebb167..efb38bf 100644
--- a/include/seqan/graph_types/graph_interface.h
+++ b/include/seqan/graph_types/graph_interface.h
@@ -568,6 +568,20 @@ struct Alphabet<Graph<Hmm<TAlphabet, TCargo, TSpec> > const> {
  */
 
 /*!
+ * @fn Graph#getVertexAdjacencyVector
+ * @brief Build an adjacency vector representation of a vertex of the graph.
+ *
+ * @signature void getVertexAdjacencyVector(vectIn, vectOut, g, vertex);
+ *
+ * @param[out] vectIn A @link String @endlink filled with <tt>n</tt> elements of @link IntegerConcept @endlink
+ *                    where <tt>vectIn[i]</tt> gives the id number of the source vertex
+ * @param[out] vectOut A @link String @endlink filled with <tt>n</tt> elements of @link IntegerConcept @endlink
+ *                    where <tt>vectOut[i]</tt> gives the id number of the target vertex
+ * @param[in]  g      The Graph under exploration.
+ * @param[in]  vertex The vertex to compute ajacency vector for.
+ */
+
+/*!
  * @fn Graph#findEdge
  * @brief Finds an edge.
  *
diff --git a/include/seqan/index/pump_extender7.h b/include/seqan/index/pump_extender7.h
index 1b1a949..0e8adc7 100644
--- a/include/seqan/index/pump_extender7.h
+++ b/include/seqan/index/pump_extender7.h
@@ -140,28 +140,28 @@ namespace seqan
         switch (r) {
         case 6:
 /* 6 */                                                                    cp___(o6,0,    *textIn); ++textIn; o6.i1 = p--;
-
+            SEQAN_FALLTHROUGH
         case 5:
 /* 5 */                                                         cp___(o5,0,cp___(o6,1,    *textIn)); ++textIn; o5.i1 = p--;
-
+            SEQAN_FALLTHROUGH
         case 4:
 /* 4 */                                                 o4.i2[0] = o5.i2[0] = o6.i2[0] = (*nameIn).i2; ++nameIn; o4.i1 = p--;
                                                      cp___(o4,0,cp___(o5,1,cp___(o6,2,    *textIn))); ++textIn;
-
+            SEQAN_FALLTHROUGH
         case 3:
 /* 3 */                                   cp___(o3,0,cp___(o4,1,cp___(o5,2,cp___(o6,3,   *textIn)))); ++textIn; o3.i1 = p--;
-
+            SEQAN_FALLTHROUGH
         case 2:
 /* 2 */                           o2.i2[0] = o3.i2[0] = o4.i2[1] = o5.i2[1] = o6.i2[1] = (*nameIn).i2; ++nameIn; o2.i1 = p--;
                                cp___(o2,0,cp___(o3,1,cp___(o4,2,cp___(o5,3,cp___(o6,4,    *textIn))))); ++textIn;
-
+            SEQAN_FALLTHROUGH
         case 1:
 /* 1 */                o1.i2[0] = o2.i2[1] = o3.i2[1] = o4.i2[2] = o5.i2[2] = o6.i2[2] = (*nameIn).i2; ++nameIn; o1.i1 = p--;
                     cp___(o1,0,cp___(o2,1,cp___(o3,2,                                     *textIn))); ++textIn;
             if (r >= 6) push(out6, o6);
             if (r >= 5) push(out5, o5);
             if (r >= 4) push(out124, o4);
-
+            SEQAN_FALLTHROUGH
         case 0:;
         }
 
@@ -393,28 +393,28 @@ namespace seqan
             switch (r) {
             case 6:
     /* 6 */                                                                    cp___(o6,0,    *textIn); ++textIn; o6.i1 = p; ++p;
-
+                SEQAN_FALLTHROUGH
             case 5:
     /* 5 */                                                         cp___(o5,0,cp___(o6,1,    *textIn)); ++textIn; o5.i1 = p; ++p;
-
+                SEQAN_FALLTHROUGH
             case 4:
     /* 4 */                                                 o4.i2[0] = o5.i2[0] = o6.i2[0] = (*nameIn4).i2; ++nameIn4; o4.i1 = p; ++p;
                                                         cp___(o4,0,cp___(o5,1,cp___(o6,2,    *textIn))); ++textIn;
-
+                SEQAN_FALLTHROUGH
             case 3:
     /* 3 */                                   cp___(o3,0,cp___(o4,1,cp___(o5,2,cp___(o6,3,   *textIn)))); ++textIn; o3.i1 = p; ++p;
-
+                SEQAN_FALLTHROUGH
             case 2:
     /* 2 */                           o2.i2[0] = o3.i2[0] = o4.i2[1] = o5.i2[1] = o6.i2[1] = (*nameIn2).i2; ++nameIn2; o2.i1 = p; ++p;
                                 cp___(o2,0,cp___(o3,1,cp___(o4,2,cp___(o5,3,cp___(o6,4,    *textIn))))); ++textIn;
-
+                SEQAN_FALLTHROUGH
             case 1:
     /* 1 */                o1.i2[0] = o2.i2[1] = o3.i2[1] = o4.i2[2] = o5.i2[2] = o6.i2[2] = (*nameIn1).i2; ++nameIn1; o1.i1 = p; ++p;
                         cp___(o1,0,cp___(o2,1,cp___(o3,2,                                     *textIn))); ++textIn;
                 if (r >= 6) push(out6, o6);
                 if (r >= 5) push(out5, o5);
                 if (r >= 4) push(out124, o4);
-
+                SEQAN_FALLTHROUGH
             case 0:;
             }
 
diff --git a/include/seqan/index/shape_threshold.h b/include/seqan/index/shape_threshold.h
index c0f8592..d4ab53d 100644
--- a/include/seqan/index/shape_threshold.h
+++ b/include/seqan/index/shape_threshold.h
@@ -699,6 +699,7 @@ void initPatterns(
 
                 case SEQAN_DELETE:
                     ++del;
+                    SEQAN_FALLTHROUGH
 
                 case SEQAN_INSERT:
                     ++err;
@@ -719,6 +720,7 @@ void initPatterns(
 
                 case SEQAN_DELETE:
                     ++del;
+                    SEQAN_FALLTHROUGH
 
                 case SEQAN_INSERT:
                     ++err;
diff --git a/include/seqan/journaled_set/score_biaffine.h b/include/seqan/journaled_set/score_biaffine.h
index 57e3dfe..88e6296 100644
--- a/include/seqan/journaled_set/score_biaffine.h
+++ b/include/seqan/journaled_set/score_biaffine.h
@@ -90,13 +90,6 @@ class Score<TScoreValue, BiAffine>
                                                                         _gapOpenHorizontal(gapOpenHorizontal),
                                                                         _gapExtendVertical(gapExtendVertical),
                                                                         _gapOpenVertical(gapOpenVertical) {}
-
-    Score(Score const & other) : _match(other._match),
-                                 _mismatch(other._mismatch),
-                                 _gapExtendHorizontal(other._gapExtendHorizontal),
-                                 _gapOpenHorizontal(other._gapOpenHorizontal),
-                                 _gapExtendVertical(other._gapExtendVertical),
-                                 _gapOpenVertical(other._gapOpenVertical) {}
 };
 
 // ============================================================================
@@ -187,17 +180,39 @@ setScoreMatch(Score<TScoreValue, BiAffine> & scoringScheme, TScoreValue const &
 }
 
 // ----------------------------------------------------------------------------
+// Function scoreMatch()
+// ----------------------------------------------------------------------------
+
+template <typename TScoreValue>
+inline TScoreValue
+scoreMatch(Score<TScoreValue, BiAffine> const & scoringScheme)
+{
+    return scoringScheme._match;
+}
+
+// ----------------------------------------------------------------------------
 // Function setScoreMismatch()
 // ----------------------------------------------------------------------------
 
 template <typename TScoreValue>
 inline void
-setScoreMismatch(Score<TScoreValue, BiAffine>  & scoringScheme, TScoreValue const & score)
+setScoreMismatch(Score<TScoreValue, BiAffine> & scoringScheme, TScoreValue const & score)
 {
     scoringScheme._mismatch = score;
 }
 
 // ----------------------------------------------------------------------------
+// Function scoreMismatch()
+// ----------------------------------------------------------------------------
+
+template <typename TScoreValue>
+inline TScoreValue
+scoreMismatch(Score<TScoreValue, BiAffine> const & scoringScheme)
+{
+    return scoringScheme._mismatch;
+}
+
+// ----------------------------------------------------------------------------
 // Function setScoreGap()
 // ----------------------------------------------------------------------------
 
diff --git a/include/seqan/parallel/parallel_lock.h b/include/seqan/parallel/parallel_lock.h
index 028f95d..ba48e26 100644
--- a/include/seqan/parallel/parallel_lock.h
+++ b/include/seqan/parallel/parallel_lock.h
@@ -213,14 +213,26 @@ struct ScopedWriteLock<TLock, Serial>
 inline void
 yieldProcessor()
 {
-#if defined(__arm__) || defined(_M_ARM)
-    asm volatile ("yield" ::: "memory");
-#elif defined(STDLIB_VS)
+#if defined(STDLIB_VS)  // Visual Studio - all platforms.
     YieldProcessor();
-#elif defined(__SSE2__)
-    _mm_pause();
+#elif defined(__arm__) || defined(__aarch64__)  // ARM.
+    __asm__ __volatile__ ("yield" ::: "memory");
+#elif defined(__sparc) || defined(__sparc__)  // SPARC
+#if definde(__SUNPRO_C)
+    __asm __volatile__ ("rd %%ccr, %%g0\n\t"
+                        "rd %%ccr, %%g0\n\t"
+                        "rd %%ccr, %%g0")
 #else
-    __asm__ __volatile__("rep; nop" : : );
+    __asm __volatile__ ("rd %ccr, %g0\n\t"
+                        "rd %ccr, %g0\n\t"
+                        "rd %ccr, %g0")
+#endif  // defined(__SUNPRO_C)
+#elif defined(__ppc__) || defined(__ppc64__) || defined(_ARCH_PPC)  || defined(_ARCH_PPC64)  // PowerPC
+    __asm__ __volatile__ ("or 27,27,27" ::: "memory");
+#elif defined(__SSE2__)  // AMD and Intel
+    _mm_pause();
+#else  // everything else.
+    asm volatile ("nop" ::: "memory");  // default operation - does nothing => Might lead to passive spinning.
 #endif
 }
 
diff --git a/include/seqan/pipe/pipe_edit_environment.h b/include/seqan/pipe/pipe_edit_environment.h
index 17b197f..a5522f3 100644
--- a/include/seqan/pipe/pipe_edit_environment.h
+++ b/include/seqan/pipe/pipe_edit_environment.h
@@ -209,6 +209,7 @@ namespace seqan
 
             case INSERT_EOS_:
                 state = INSERT_;
+                SEQAN_FALLTHROUGH
             case INSERT_:
             case INSERT_LAST_:
                 // before INSERT_ (prev=orig, ++in; tmp=prev) holds
@@ -244,6 +245,7 @@ namespace seqan
                     }
                     assignValue(tmp.i2, errorPos, (TValue) 0);
                 }
+                break;
             default:;
             }
             return *this;
diff --git a/include/seqan/platform.h b/include/seqan/platform.h
index 60bc6b6..9511300 100644
--- a/include/seqan/platform.h
+++ b/include/seqan/platform.h
@@ -398,6 +398,19 @@ typedef int8_t __int8;     // nolint
 // backwards compatibility
 #define SEQAN_UNUSED_TYPEDEF SEQAN_UNUSED
 
+// eliminate fallthrough warnings
+#define SEQAN_FALLTHROUGH
+#if defined(__has_cpp_attribute)
+    #if __has_cpp_attribute(fallthrough)
+        #undef SEQAN_FALLTHROUGH
+        #if __cplusplus < 201500 && defined(COMPILER_GCC)
+            #define SEQAN_FALLTHROUGH [[gnu::fallthrough]];
+        #else
+            #define SEQAN_FALLTHROUGH [[fallthrough]];
+        #endif
+    #endif
+#endif
+
 // HAS_EXECINFO
 // note that this is always set by FindSeqAn.cmake
 // this is a fallback for non cmake environments
diff --git a/include/seqan/seeds/banded_chain_alignment_impl.h b/include/seqan/seeds/banded_chain_alignment_impl.h
index 6203472..a99a14e 100644
--- a/include/seqan/seeds/banded_chain_alignment_impl.h
+++ b/include/seqan/seeds/banded_chain_alignment_impl.h
@@ -81,6 +81,20 @@ struct BandedChainTracking
 // ============================================================================
 
 // ----------------------------------------------------------------------------
+// Function _checkScoreOverflow()
+// ----------------------------------------------------------------------------
+
+template <typename TDist,
+          typename TScoreValue, typename TScoreSpec>
+inline bool _checkScoreOverflow(TDist const distance,
+                                Score<TScoreValue, TScoreSpec> const & score)
+{
+    auto mxScore = _max(scoreMatch(score), std::abs(scoreMismatch(score)));
+    return static_cast<decltype(BitsPerValue<TScoreValue>::VALUE)>(bitScanReverse(mxScore) + bitScanReverse(distance))
+            <= BitsPerValue<TScoreValue>::VALUE - 1;
+}
+
+// ----------------------------------------------------------------------------
 // Function _isLastSeed()
 // ----------------------------------------------------------------------------
 
@@ -769,7 +783,6 @@ _initializeBandedChain(TTraceSet & globalTraceSet,
     // The first anchor does not cross the first row or column. Hence we have to fill the gap first.
     if (horizontalNextGridOrigin != 0u || verticalNextGridOrigin != 0u)
     {
-
         // INITIALIZATION
         _initiaizeBeginningOfBandedChain(scoutState, upperDiagonal(band) + 1, 1 - lowerDiagonal(band), scoreSchemeGap,
                                          dpProfile);
@@ -803,6 +816,8 @@ _initializeBandedChain(TTraceSet & globalTraceSet,
     gridEnd.i1 = _min(length(seqH), endPositionH(seed) + bandExtension);
     gridEnd.i2 = _min(length(seqV), endPositionV(seed) + bandExtension);
 
+    SEQAN_ASSERT(_checkScoreOverflow(gridEnd.i1 - gridBegin.i1 + gridEnd.i2 - gridBegin.i2, scoreSchemeGap));
+
     // Define area covering the infixes.
     infixH = infix(seqH, gridBegin.i1, gridEnd.i1);
     infixV = infix(seqV, gridBegin.i2, gridEnd.i2);
@@ -904,6 +919,8 @@ _computeGapArea(TTraceSet & globalTraceSet,
     TGridPoint gridEnd(beginPositionH(currentSeed) + 1 + bandExtension + _horizontalBandShiftBeginPoint(currentSeed),
                        beginPositionV(currentSeed) + 1 + bandExtension + _verticalBandShiftBeginPoint(currentSeed));
 
+    SEQAN_ASSERT(_checkScoreOverflow(gridEnd.i1 - gridBegin.i1 + gridEnd.i2 - gridBegin.i2, scoreScheme));
+
     // Define infix area for alignment.
     TInfixH infixH = infix(seqH, gridBegin.i1, gridEnd.i1);
     TInfixV infixV = infix(seqV, gridBegin.i2, gridEnd.i2);
diff --git a/tests/align/CMakeLists.txt b/tests/align/CMakeLists.txt
index 6276232..c028716 100644
--- a/tests/align/CMakeLists.txt
+++ b/tests/align/CMakeLists.txt
@@ -23,7 +23,9 @@ endif ()
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/align_extend/CMakeLists.txt b/tests/align_extend/CMakeLists.txt
index 05cbef8..b89f1b4 100644
--- a/tests/align_extend/CMakeLists.txt
+++ b/tests/align_extend/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/align_extend")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/align_profile/CMakeLists.txt b/tests/align_profile/CMakeLists.txt
index 858e79c..868c689 100644
--- a/tests/align_profile/CMakeLists.txt
+++ b/tests/align_profile/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/align_profile")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/align_split/CMakeLists.txt b/tests/align_split/CMakeLists.txt
index 40c988e..580b00d 100644
--- a/tests/align_split/CMakeLists.txt
+++ b/tests/align_split/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/align_split")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/alignment_free/CMakeLists.txt b/tests/alignment_free/CMakeLists.txt
index 5164354..bfb1120 100644
--- a/tests/alignment_free/CMakeLists.txt
+++ b/tests/alignment_free/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/alignment_free")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/arg_parse/CMakeLists.txt b/tests/arg_parse/CMakeLists.txt
index fa530ed..b341e15 100644
--- a/tests/arg_parse/CMakeLists.txt
+++ b/tests/arg_parse/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/arg_parse")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/bam_io/CMakeLists.txt b/tests/bam_io/CMakeLists.txt
index c3bc83d..9b0708a 100644
--- a/tests/bam_io/CMakeLists.txt
+++ b/tests/bam_io/CMakeLists.txt
@@ -15,8 +15,10 @@ message (STATUS "Configuring tests/bam_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/basic/CMakeLists.txt b/tests/basic/CMakeLists.txt
index ba294ba..bb15a93 100644
--- a/tests/basic/CMakeLists.txt
+++ b/tests/basic/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/basic")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/bed_io/CMakeLists.txt b/tests/bed_io/CMakeLists.txt
index a4f0427..86cd079 100644
--- a/tests/bed_io/CMakeLists.txt
+++ b/tests/bed_io/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/bed_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/blast/CMakeLists.txt b/tests/blast/CMakeLists.txt
index 870f0dc..a75bd56 100644
--- a/tests/blast/CMakeLists.txt
+++ b/tests/blast/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/blast")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/consensus/CMakeLists.txt b/tests/consensus/CMakeLists.txt
index 5e5dde1..cce1c39 100644
--- a/tests/consensus/CMakeLists.txt
+++ b/tests/consensus/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/consensus")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/consensus_v2/CMakeLists.txt b/tests/consensus_v2/CMakeLists.txt
index d95a3b2..53858b9 100644
--- a/tests/consensus_v2/CMakeLists.txt
+++ b/tests/consensus_v2/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/consensus_v2")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/find/CMakeLists.txt b/tests/find/CMakeLists.txt
index 38c9c4c..2176919 100644
--- a/tests/find/CMakeLists.txt
+++ b/tests/find/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/find")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/gff_io/CMakeLists.txt b/tests/gff_io/CMakeLists.txt
index 6adf994..2ecaff7 100644
--- a/tests/gff_io/CMakeLists.txt
+++ b/tests/gff_io/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/gff_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/graph_algorithms/CMakeLists.txt b/tests/graph_algorithms/CMakeLists.txt
index f170553..1dfbd93 100644
--- a/tests/graph_algorithms/CMakeLists.txt
+++ b/tests/graph_algorithms/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/graph_algorithms")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/graph_align/CMakeLists.txt b/tests/graph_align/CMakeLists.txt
index 228617f..a552d3f 100644
--- a/tests/graph_align/CMakeLists.txt
+++ b/tests/graph_align/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/graph_align")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/graph_align/test_graph_impl_align.h b/tests/graph_align/test_graph_impl_align.h
index d91deba..22dcef6 100644
--- a/tests/graph_align/test_graph_impl_align.h
+++ b/tests/graph_align/test_graph_impl_align.h
@@ -230,6 +230,16 @@ SEQAN_DEFINE_TEST(Test_Refinement_AlignmentGraphNoEdgeWeights)
     SEQAN_ASSERT_EQ(getValue(mat, 0 * len + 2), getValue(mat, 2 * len + 0));
     SEQAN_ASSERT_EQ(getValue(mat, 1 * len + 4), getValue(mat, 4 * len + 1));
     SEQAN_ASSERT_EQ(getValue(mat, 2 * len + 4), getValue(mat, 4 * len + 2));
+
+    // Vertex Adjacency vectors
+    String<unsigned int> vectIn, vectOut;
+    getVertexAdjacencyVector(vectIn, vectOut, g, 2u);
+    SEQAN_ASSERT(length(vectIn) == 2);
+    SEQAN_ASSERT(length(vectOut) == 2);
+    SEQAN_ASSERT(vectIn[0] == 4);
+    SEQAN_ASSERT(vectIn[1] == 0);
+    SEQAN_ASSERT(vectOut[0] == 4);
+    SEQAN_ASSERT(vectOut[1] == 0);
 }
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/tests/graph_msa/CMakeLists.txt b/tests/graph_msa/CMakeLists.txt
index 9a4b282..85bdd50 100644
--- a/tests/graph_msa/CMakeLists.txt
+++ b/tests/graph_msa/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/graph_msa")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/graph_types/CMakeLists.txt b/tests/graph_types/CMakeLists.txt
index d46fa5a..dd58f1f 100644
--- a/tests/graph_types/CMakeLists.txt
+++ b/tests/graph_types/CMakeLists.txt
@@ -16,7 +16,9 @@ message (STATUS "Configuring tests/graph_types")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # Clang 3.2.0 has a bug that prevents test_graph_types from compiling.  See
 # http://llvm.org/bugs/show_bug.cgi?id=14538
diff --git a/tests/graph_types/test_graph_types_types.cpp b/tests/graph_types/test_graph_types_types.cpp
index b01afa8..b782697 100644
--- a/tests/graph_types/test_graph_types_types.cpp
+++ b/tests/graph_types/test_graph_types_types.cpp
@@ -201,6 +201,18 @@ SEQAN_DEFINE_TEST(test_graph_types_types_directed)
     SEQAN_ASSERT(getValue(mat, 2 * len + 4) == 1);
     SEQAN_ASSERT(getValue(mat, 2 * len + 2) == 0);
 
+    // Vertex Adjacency vectors
+    String<unsigned int> vectIn, vectOut;
+    getVertexAdjacencyVector(vectIn, vectOut, g, 1u);
+    SEQAN_ASSERT(length(vectIn) == 0);
+    SEQAN_ASSERT(vectOut[0] == 4);
+    SEQAN_ASSERT(length(vectOut) == 1);
+    getVertexAdjacencyVector(vectIn, vectOut, g, 4u);
+    SEQAN_ASSERT(length(vectIn) == 2);
+    SEQAN_ASSERT(vectIn[0] == 1);
+    SEQAN_ASSERT(vectIn[1] == 2);
+    SEQAN_ASSERT(length(vectOut) == 0);
+
 //____________________________________________________________________________
 //Graph with edge cargo and edge ids
     typedef Pair<char, int> TPair;
@@ -459,6 +471,18 @@ SEQAN_DEFINE_TEST(test_graph_types_types_directed)
     SEQAN_ASSERT(getValue(mat4, 1 * len4 + 4) == 1);
     SEQAN_ASSERT(getValue(mat4, 2 * len4 + 4) == 1);
     SEQAN_ASSERT(getValue(mat4, 2 * len4 + 2) == 0);
+
+    // Vertex Adjacency vectors
+    String<unsigned int> vectIn4, vectOut4;
+    getVertexAdjacencyVector(vectIn4, vectOut4, g4, 1u);
+    SEQAN_ASSERT(length(vectIn4) == 0);
+    SEQAN_ASSERT(vectOut4[0] == 4);
+    SEQAN_ASSERT(length(vectOut4) == 1);
+    getVertexAdjacencyVector(vectIn4, vectOut4, g4, 4u);
+    SEQAN_ASSERT(length(vectIn4) == 2);
+    SEQAN_ASSERT(vectIn4[0] == 1);
+    SEQAN_ASSERT(vectIn4[1] == 2);
+    SEQAN_ASSERT(length(vectOut4) == 0);
 }
 
 SEQAN_DEFINE_TEST(test_graph_types_types_undirected)
@@ -617,6 +641,16 @@ SEQAN_DEFINE_TEST(test_graph_types_types_undirected)
     SEQAN_ASSERT(getValue(mat, 1 * len + 4) == getValue(mat, 4 * len + 1));
     SEQAN_ASSERT(getValue(mat, 2 * len + 4) == getValue(mat, 4 * len + 2));
 
+    // Vertex Adjacency vectors
+    String<unsigned int> vectIn, vectOut;
+    getVertexAdjacencyVector(vectIn, vectOut, g, 2u);
+    SEQAN_ASSERT(length(vectIn) == 2);
+    SEQAN_ASSERT(vectIn[0] == 4);
+    SEQAN_ASSERT(vectIn[1] == 0);
+    SEQAN_ASSERT(vectOut[0] == 4);
+    SEQAN_ASSERT(vectOut[1] == 0);
+    SEQAN_ASSERT(length(vectOut) == 2);
+
 //____________________________________________________________________________
 //Graph with edge cargo and edge ids
     typedef Pair<char, int> TPair;
@@ -975,6 +1009,18 @@ SEQAN_DEFINE_TEST(test_graph_types_types_automaton)
     SEQAN_ASSERT(getValue(mat, 2 * len + 4) == 1);
     SEQAN_ASSERT(getValue(mat, 0 * len + 2) == 0);
 
+    // Vertex Adjacency vectors
+    String<unsigned int> vectIn, vectOut;
+    getVertexAdjacencyVector(vectIn, vectOut, g, 1u);
+    SEQAN_ASSERT(length(vectIn) == 0);
+    SEQAN_ASSERT(length(vectOut) == 1);
+    SEQAN_ASSERT(vectOut[0] == 4);
+    getVertexAdjacencyVector(vectIn, vectOut, g, 4u);
+    SEQAN_ASSERT(length(vectIn) == 2);
+    SEQAN_ASSERT(length(vectOut) == 0);
+    SEQAN_ASSERT(vectIn[0] == 1);
+    SEQAN_ASSERT(vectIn[1] == 2);
+
     // Test iterators
     typedef Iterator<StandardAutomaton, VertexIterator>::Type TVertexIterator;
     TVertexIterator itVert(g);
@@ -1479,7 +1525,8 @@ SEQAN_DEFINE_TEST(test_graph_types_types_word_tree)
     childC2C1C1C1 = addChild(g, childC2C1C1);
     childC2C1C1C2 = addChild(g, childC2C1C1);
     childC4 = addChild(g, rootV);
-    String<unsigned int> mat;   // Adjacency matrix
+    String<unsigned int> mat;   
+    // Adjacency matrix
     getAdjacencyMatrix(g, mat);
     unsigned int len = (unsigned int) std::sqrt((double) length(mat));
     SEQAN_ASSERT(getValue(mat, 0 * len + 8) == 1);
@@ -1489,6 +1536,15 @@ SEQAN_DEFINE_TEST(test_graph_types_types_word_tree)
     SEQAN_ASSERT(getValue(mat, 0 * len + 4) == 0);
     SEQAN_ASSERT(numEdges(g) == 8);
     SEQAN_ASSERT(numVertices(g) == 9);
+    // Vertex Adjacency vectors
+    String<unsigned int> vectIn, vectOut;
+    getVertexAdjacencyVector(vectIn, vectOut, g, 5u);
+    SEQAN_ASSERT(length(vectIn) == 1);
+    SEQAN_ASSERT(length(vectOut) == 2);
+    SEQAN_ASSERT(vectIn[0] == 4);
+    SEQAN_ASSERT(vectOut[0] == 7);
+    SEQAN_ASSERT(vectOut[1] == 6);
+    // Transpose the graph
     transpose(g);
     SEQAN_ASSERT(numEdges(g) == 8);
     SEQAN_ASSERT(numVertices(g) == 9);
diff --git a/tests/index/CMakeLists.txt b/tests/index/CMakeLists.txt
index 343d72a..eed4089 100644
--- a/tests/index/CMakeLists.txt
+++ b/tests/index/CMakeLists.txt
@@ -15,8 +15,10 @@ message (STATUS "Configuring tests/index")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/journaled_set/CMakeLists.txt b/tests/journaled_set/CMakeLists.txt
index 38bb44e..625aef1 100644
--- a/tests/journaled_set/CMakeLists.txt
+++ b/tests/journaled_set/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/journaled_set")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/journaled_string_tree/CMakeLists.txt b/tests/journaled_string_tree/CMakeLists.txt
index c20c8d7..690d0cb 100644
--- a/tests/journaled_string_tree/CMakeLists.txt
+++ b/tests/journaled_string_tree/CMakeLists.txt
@@ -15,8 +15,10 @@ message (STATUS "Configuring tests/journaled_string_tree")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/map/CMakeLists.txt b/tests/map/CMakeLists.txt
index fc9f599..66b57a0 100644
--- a/tests/map/CMakeLists.txt
+++ b/tests/map/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/map")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/misc/CMakeLists.txt b/tests/misc/CMakeLists.txt
index bdd109e..46df3fd 100644
--- a/tests/misc/CMakeLists.txt
+++ b/tests/misc/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/misc")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/modifier/CMakeLists.txt b/tests/modifier/CMakeLists.txt
index 2baaa98..5c82f02 100644
--- a/tests/modifier/CMakeLists.txt
+++ b/tests/modifier/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/modifier")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/modifier_cyclic_shape/CMakeLists.txt b/tests/modifier_cyclic_shape/CMakeLists.txt
index 43d7d4f..e38751a 100644
--- a/tests/modifier_cyclic_shape/CMakeLists.txt
+++ b/tests/modifier_cyclic_shape/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/modifier_cyclic_shape")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/multiple_translation_units/CMakeLists.txt b/tests/multiple_translation_units/CMakeLists.txt
index 9bc4f3c..df2a47d 100644
--- a/tests/multiple_translation_units/CMakeLists.txt
+++ b/tests/multiple_translation_units/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/multiple_translation_units")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/parallel/CMakeLists.txt b/tests/parallel/CMakeLists.txt
index b5583d5..245675d 100644
--- a/tests/parallel/CMakeLists.txt
+++ b/tests/parallel/CMakeLists.txt
@@ -15,8 +15,10 @@ message (STATUS "Configuring tests/parallel")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/parse_lm/CMakeLists.txt b/tests/parse_lm/CMakeLists.txt
index b681fe4..1bfc210 100644
--- a/tests/parse_lm/CMakeLists.txt
+++ b/tests/parse_lm/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/parse_lm")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/pipe/CMakeLists.txt b/tests/pipe/CMakeLists.txt
index d301421..6847ef4 100644
--- a/tests/pipe/CMakeLists.txt
+++ b/tests/pipe/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/pipe")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/platform/CMakeLists.txt b/tests/platform/CMakeLists.txt
index 012785a..5960929 100644
--- a/tests/platform/CMakeLists.txt
+++ b/tests/platform/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/platform")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/random/CMakeLists.txt b/tests/random/CMakeLists.txt
index 00b3b67..91a1b75 100644
--- a/tests/random/CMakeLists.txt
+++ b/tests/random/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/random")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/realign/CMakeLists.txt b/tests/realign/CMakeLists.txt
index b0f963d..e88c3ec 100644
--- a/tests/realign/CMakeLists.txt
+++ b/tests/realign/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/realign")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/reduced_aminoacid/CMakeLists.txt b/tests/reduced_aminoacid/CMakeLists.txt
index 0cceb9f..7d3daef 100644
--- a/tests/reduced_aminoacid/CMakeLists.txt
+++ b/tests/reduced_aminoacid/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/reduced_aminoacid")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/roi_io/CMakeLists.txt b/tests/roi_io/CMakeLists.txt
index 3ecc42f..edfeaf9 100644
--- a/tests/roi_io/CMakeLists.txt
+++ b/tests/roi_io/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/roi_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/score/CMakeLists.txt b/tests/score/CMakeLists.txt
index bcd57d3..05661a8 100644
--- a/tests/score/CMakeLists.txt
+++ b/tests/score/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/score")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/seeds/CMakeLists.txt b/tests/seeds/CMakeLists.txt
index c016c06..9d3cb76 100644
--- a/tests/seeds/CMakeLists.txt
+++ b/tests/seeds/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/seeds")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/seeds/test_align_banded_chain_impl.cpp b/tests/seeds/test_align_banded_chain_impl.cpp
index 82e2bcc..af04e69 100644
--- a/tests/seeds/test_align_banded_chain_impl.cpp
+++ b/tests/seeds/test_align_banded_chain_impl.cpp
@@ -1075,6 +1075,23 @@ SEQAN_DEFINE_TEST(test_banded_chain_alignment_band_extensions_affine)
     testBandedChainAlignmentBandExtension(seqan::AffineGaps());
 }
 
+SEQAN_DEFINE_TEST(test_banded_chain_score_overflow_detection)
+{
+    using namespace seqan;
+    Score<int8_t> score(2, -5, -2);
+    SEQAN_ASSERT(!_checkScoreOverflow(127, score));
+    SEQAN_ASSERT(_checkScoreOverflow(50, score));
+    SEQAN_ASSERT(_checkScoreOverflow(24, score));
+    SEQAN_ASSERT(_checkScoreOverflow(15, score));
+
+    Score<int32_t> score2(2, -5, -2);
+    SEQAN_ASSERT(_checkScoreOverflow(655536, score2));
+    SEQAN_ASSERT(_checkScoreOverflow(127, score2));
+    SEQAN_ASSERT(_checkScoreOverflow(50, score2));
+    SEQAN_ASSERT(_checkScoreOverflow(24, score2));
+    SEQAN_ASSERT(_checkScoreOverflow(15, score2));
+}
+
 SEQAN_BEGIN_TESTSUITE(test_banded_chain_impl)
 {
     SEQAN_CALL_TEST(test_banded_chain_alignment_empty_set_linear);
@@ -1090,5 +1107,6 @@ SEQAN_BEGIN_TESTSUITE(test_banded_chain_impl)
     SEQAN_CALL_TEST(test_banded_chain_alignment_band_extensions_linear);
     SEQAN_CALL_TEST(test_banded_chain_alignment_band_extensions_affine);
     SEQAN_CALL_TEST(test_banded_chain_alignment_issue_1020);
+    SEQAN_CALL_TEST(test_banded_chain_score_overflow_detection);
 }
 SEQAN_END_TESTSUITE
diff --git a/tests/seq_io/CMakeLists.txt b/tests/seq_io/CMakeLists.txt
index f2ad42d..c2ec8fa 100644
--- a/tests/seq_io/CMakeLists.txt
+++ b/tests/seq_io/CMakeLists.txt
@@ -15,9 +15,11 @@ message (STATUS "Configuring tests/seq_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (BZip2)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (BZip2)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/sequence/CMakeLists.txt b/tests/sequence/CMakeLists.txt
index 34011ef..da008e6 100644
--- a/tests/sequence/CMakeLists.txt
+++ b/tests/sequence/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/sequence")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 # ----------------------------------------------------------------------------
 # Build Setup
 # ----------------------------------------------------------------------------
diff --git a/tests/sequence_journaled/CMakeLists.txt b/tests/sequence_journaled/CMakeLists.txt
index 8e3238d..a352b79 100644
--- a/tests/sequence_journaled/CMakeLists.txt
+++ b/tests/sequence_journaled/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/sequence_journaled")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/simple_intervals_io/CMakeLists.txt b/tests/simple_intervals_io/CMakeLists.txt
index 4fd7e80..557469e 100644
--- a/tests/simple_intervals_io/CMakeLists.txt
+++ b/tests/simple_intervals_io/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/simple_intervals_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/statistics/CMakeLists.txt b/tests/statistics/CMakeLists.txt
index 4fdc834..5815bee 100644
--- a/tests/statistics/CMakeLists.txt
+++ b/tests/statistics/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/statistics")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/store/CMakeLists.txt b/tests/store/CMakeLists.txt
index 25fa08c..00f5ab2 100644
--- a/tests/store/CMakeLists.txt
+++ b/tests/store/CMakeLists.txt
@@ -15,8 +15,10 @@ message (STATUS "Configuring tests/store")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/stream/CMakeLists.txt b/tests/stream/CMakeLists.txt
index 9765f90..ec5c87e 100644
--- a/tests/stream/CMakeLists.txt
+++ b/tests/stream/CMakeLists.txt
@@ -15,9 +15,11 @@ message (STATUS "Configuring tests/stream")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (BZip2)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (BZip2)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/swift_local/CMakeLists.txt b/tests/swift_local/CMakeLists.txt
index b8497ef..e92dc7d 100644
--- a/tests/swift_local/CMakeLists.txt
+++ b/tests/swift_local/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/find_swift")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/tabix_io/CMakeLists.txt b/tests/tabix_io/CMakeLists.txt
index 8f3a735..9c0feba 100644
--- a/tests/tabix_io/CMakeLists.txt
+++ b/tests/tabix_io/CMakeLists.txt
@@ -15,8 +15,10 @@ message (STATUS "Configuring tests/tabix_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (ZLIB)
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (ZLIB)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/translation/CMakeLists.txt b/tests/translation/CMakeLists.txt
index 692cee7..60be705 100644
--- a/tests/translation/CMakeLists.txt
+++ b/tests/translation/CMakeLists.txt
@@ -15,8 +15,10 @@ message (STATUS "Configuring tests/translation")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (OpenMP)
-find_package(SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (OpenMP)
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/ucsc_io/CMakeLists.txt b/tests/ucsc_io/CMakeLists.txt
index e7eaf8c..0963216 100644
--- a/tests/ucsc_io/CMakeLists.txt
+++ b/tests/ucsc_io/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/test_ucsc_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/tests/vcf_io/CMakeLists.txt b/tests/vcf_io/CMakeLists.txt
index d17da17..4327a68 100644
--- a/tests/vcf_io/CMakeLists.txt
+++ b/tests/vcf_io/CMakeLists.txt
@@ -15,7 +15,9 @@ message (STATUS "Configuring tests/vcf_io")
 # ----------------------------------------------------------------------------
 
 # Search SeqAn and select dependencies.
-find_package (SeqAn REQUIRED)
+if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
+    find_package (SeqAn REQUIRED)
+endif ()
 
 # ----------------------------------------------------------------------------
 # Build Setup
diff --git a/util/cmake/SeqAnBuildSystem.cmake b/util/cmake/SeqAnBuildSystem.cmake
index 0b6d2f5..ce28c25 100644
--- a/util/cmake/SeqAnBuildSystem.cmake
+++ b/util/cmake/SeqAnBuildSystem.cmake
@@ -303,6 +303,16 @@ macro (seqan_build_system_init)
     # TODO(h-2): for icc on windows, replace the " -" in SEQAN_CXX_FLAGS with " /"
     #            find out whether clang/c2 takes - or / options
 
+    # search dependencies once, globally, if in DEVELOP
+    if (SEQAN_BUILD_SYSTEM STREQUAL "DEVELOP")
+        message (STATUS "Scanning dependencies once in DEVELOP mode...")
+        find_package(OpenMP)
+        find_package(ZLIB)
+        find_package(BZip2)
+        find_package(Boost)
+        find_package(SeqAn REQUIRED)
+    endif ()
+
 endmacro (seqan_build_system_init)
 
 # ---------------------------------------------------------------------------
@@ -714,11 +724,8 @@ function (seqan_register_demos PREFIX)
           ${CMAKE_CURRENT_SOURCE_DIR}/[!.]*.cpp
           ${CMAKE_CURRENT_SOURCE_DIR}/[!.]*.cu)
 
-    # Find SeqAn with all dependencies.
-    find_package (OpenMP)
-    find_package (ZLIB)
-    find_package (BZip2)
-    find_package (SeqAn REQUIRED)
+    # NOTE(h-2): we do not need to search for dependencies, because this is
+    # done globally for DEVELOP (and demos are only built with DEVELOP)
 
     # Supress unused parameter warnings for demos.
     if (COMPILER_GCC OR COMPILER_CLANG)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/seqan2.git



More information about the debian-med-commit mailing list