diff --git a/FileIO/SHPInterface.h b/FileIO/SHPInterface.h
index 171dd252eab36fb363044b9e27d558847d7641d2..6930a80add8aea3ce734b8a3228f26fe842d2f6e 100644
--- a/FileIO/SHPInterface.h
+++ b/FileIO/SHPInterface.h
@@ -50,7 +50,7 @@ private:
 	/// Reads lines into a vector of Polyline and Surface objects.
 	void readPolygons  (const SHPHandle &hSHP, int numberOfElements, std::string listName);
 
-	void adjustPolylines (std::vector<GeoLib::Polyline*>* lines, std::vector<size_t>  id_map);
+	void adjustPolylines (std::vector<GeoLib::Polyline*>* lines, std::vector<std::size_t>  id_map);
 
 	GeoLib::GEOObjects* _geoObjects;
 };
diff --git a/GeoLib/AABB.h b/GeoLib/AABB.h
index 6bc1829d8cdd6a473374f3db6ae05dc25814b1e3..a9735afb9fc2c7ba530674a743afaedb07221f52 100644
--- a/GeoLib/AABB.h
+++ b/GeoLib/AABB.h
@@ -69,7 +69,7 @@ public:
 
 	void update(PNT_TYPE const & pnt)
 	{
-		for (size_t k(0); k<3; k++) {
+		for (int k(0); k<3; k++) {
 			if (pnt[k] < _min_pnt[k])
 				_min_pnt[k] = pnt[k];
 			if (_max_pnt[k] < pnt[k])
diff --git a/GeoLib/Raster.h b/GeoLib/Raster.h
index 8301ab8f3062672fe69087e6699f1a2e3ae4c41f..95ec4e2c441f777aafd94cd341b12a3c13c90e1a 100644
--- a/GeoLib/Raster.h
+++ b/GeoLib/Raster.h
@@ -47,7 +47,7 @@ public:
 	static Raster* getRasterFromSurface(Surface const& sfc, double cell_size, double no_data_val = -9999);
 
 private:
-	static bool readASCHeader(std::ifstream &in, size_t &n_cols, std::size_t &n_rows,
+	static bool readASCHeader(std::ifstream &in, std::size_t &n_cols, std::size_t &n_rows,
 					double &xllcorner, double &yllcorner, double &cell_size, double &no_data_val);
 	void setCellSize(double cell_size);
 	void setNoDataVal (double no_data_val);
diff --git a/ThirdParty/quickcheck b/ThirdParty/quickcheck
index 8822bc07dc9557797f5ee9920b64fc34793feb01..ffe048be480061f3472d8e7fdb79b54c4b073cce 160000
--- a/ThirdParty/quickcheck
+++ b/ThirdParty/quickcheck
@@ -1 +1 @@
-Subproject commit 8822bc07dc9557797f5ee9920b64fc34793feb01
+Subproject commit ffe048be480061f3472d8e7fdb79b54c4b073cce
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index 1f2fd56c5b52ba806ff7efbe700b0efa644c901f..3e06d36ee4e5ed12518594a30d22d5a267bab6e4 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -18,14 +18,14 @@ ENDIF()
 FIND_PROGRAM(DOT_TOOL_PATH dot DOC "Dot tool from graphviz")
 
 # Find doxygen
-FIND_PACKAGE(Doxygen)
+FIND_PACKAGE(Doxygen QUIET)
 
 # Find gnu profiler gprof
-FIND_PROGRAM(GPROF_PATH gprof DOC "GNU profiler gprof")
+FIND_PROGRAM(GPROF_PATH gprof DOC "GNU profiler gprof" QUIET)
 
-FIND_PACKAGE(cppcheck)
+FIND_PACKAGE(cppcheck QUIET)
 
-FIND_PACKAGE(PythonInterp)
+FIND_PACKAGE(PythonInterp QUIET)
 
 FIND_PACKAGE(GitHub)
 
@@ -53,7 +53,7 @@ IF(OPENMP_FOUND)
 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
 ENDIF()
 
-FIND_PACKAGE(Metis)
+FIND_PACKAGE(Metis QUIET)
 
 ## Qt4 library ##
 IF(NOT OGS_DONT_USE_QT)
@@ -80,10 +80,10 @@ IF ( CMAKE_USE_PTHREADS_INIT )
 ENDIF (CMAKE_USE_PTHREADS_INIT )
 
 # blas
-FIND_PACKAGE ( BLAS )
+#FIND_PACKAGE ( BLAS QUIET )
 
 # lapack
-FIND_PACKAGE ( LAPACK )
+FIND_PACKAGE ( LAPACK QUIET )
 
 ## VTK ##
 IF (OGS_LIBS_DIR_FOUND)
@@ -109,7 +109,6 @@ IF("${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_PATCH_VERSION}" VERSION_GREA
 ENDIF()
 
 IF(VTK_NETCDF_FOUND)
-	MESSAGE(STATUS "VTKs NetCDF found.")
 	ADD_DEFINITIONS(-DVTK_NETCDF_FOUND)
 	INCLUDE_DIRECTORIES(
 		${VTK_NETCDF_FOUND} ${VTK_DIR}/Utilities ${VTK_NETCDF_FOUND}/..
diff --git a/scripts/cmake/SubmoduleCheck.sh b/scripts/cmake/SubmoduleCheck.sh
index 85d61dfcf33c960efc3eabf461897374912532de..726930c4a45ba0e9ebcb97e8dada699145406074 100755
--- a/scripts/cmake/SubmoduleCheck.sh
+++ b/scripts/cmake/SubmoduleCheck.sh
@@ -1,5 +1,14 @@
 # Checks for unitialized git submodules
 # Parameter 1: The path to the submodule
-# Returns 0 if there is no such submodule
-# Returns 1 if the module is already initialized
-result=$(git submodule status $1 | grep '^-' | wc -l); exit $result
\ No newline at end of file
+# Returns 0 if the module is already initialized
+# Returns 1 if there is no such submodule
+# Returns 2 if the checked out submodule is out of date
+
+# Check for modified
+result=$(git submodule status $1 | grep '^+' | wc -l);
+if [[ result -eq 0 ]]; then
+	result=$(git submodule status $1 | grep '^-' | wc -l);
+	exit $result;
+else
+	exit 2;
+fi
diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index 06d8946c0f0ad596cac8c3c2fdae48e1b6689652..b39652a139d4029bd64c270894843e4cead809b1 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -10,14 +10,20 @@ FOREACH(SUBMODULE ${REQUIRED_SUBMODULES})
 	EXECUTE_PROCESS(
 		COMMAND ${BASH_TOOL_PATH} ${CMAKE_SOURCE_DIR}/scripts/cmake/SubmoduleCheck.sh ${SUBMODULE}
 		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-		RESULT_VARIABLE SUBMODULE_IS_NOT_INITIALIZED
+		RESULT_VARIABLE SUBMODULE_STATE
 	)
 
-	IF(SUBMODULE_IS_NOT_INITIALIZED)
+	IF(SUBMODULE_STATE EQUAL 1)
 		MESSAGE(STATUS "Initializing submodule ${SUBMODULE}")
 		EXECUTE_PROCESS(
 			COMMAND git submodule update --init ${SUBMODULE}
 			WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
 		)
+	ELSEIF(SUBMODULE_STATE EQUAL 2)
+		MESSAGE(STATUS "Updating submodule ${SUBMODULE}")
+		EXECUTE_PROCESS(
+			COMMAND git submodule update ${SUBMODULE}
+			WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+		)
 	ENDIF()
 ENDFOREACH()
\ No newline at end of file
diff --git a/scripts/cmake/cmake/FindLAPACK.cmake b/scripts/cmake/cmake/FindLAPACK.cmake
index bf45406772253f858fd68b04a933f3da9d2af678..ecec521f1e8418d859f2039554a3ee85cb977409 100644
--- a/scripts/cmake/cmake/FindLAPACK.cmake
+++ b/scripts/cmake/cmake/FindLAPACK.cmake
@@ -131,13 +131,19 @@ set(LAPACK_LINKER_FLAGS)
 set(LAPACK_LIBRARIES)
 set(LAPACK95_LIBRARIES)
 
-
-if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
-  find_package(BLAS)
-else(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
-  find_package(BLAS REQUIRED)
-endif(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
-
+if(LAPACK_FIND_QUIETLY)
+  if(LAPACK_FIND_REQUIRED)
+    find_package(BLAS QUIET REQUIRED)
+  else()
+    find_package(BLAS QUIET)
+  endif()
+else()
+  if(LAPACK_FIND_REQUIRED)
+    find_package(BLAS REQUIRED)
+  else()
+    find_package(BLAS)
+  endif()
+endif()
 
 if(BLAS_FOUND)
   set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS})