diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ea8651..0ebd6ff 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -129,9 +129,8 @@
 
 IF ((NOT DEFINED SUITESPARSE) OR (DEFINED SUITESPARSE AND SUITESPARSE))
 # Check for SuiteSparse dependencies
-MESSAGE("-- Check for AMD")
-SET(AMD_FOUND TRUE)
 
+SET(AMD_FOUND TRUE)
 FIND_LIBRARY(AMD_LIB NAMES amd PATHS ${SUITESPARSE_SEARCH_LIBS})
 IF (EXISTS ${AMD_LIB})
   MESSAGE("-- Found AMD library: ${AMD_LIB}")
@@ -148,9 +147,7 @@
   SET(AMD_FOUND FALSE)
 ENDIF (EXISTS ${AMD_INCLUDE})
 
-MESSAGE("-- Check for CAMD")
 SET(CAMD_FOUND TRUE)
-
 FIND_LIBRARY(CAMD_LIB NAMES camd PATHS ${SUITESPARSE_SEARCH_LIBS})
 IF (EXISTS ${CAMD_LIB})
   MESSAGE("-- Found CAMD library: ${CAMD_LIB}")
@@ -167,9 +164,7 @@
   SET(CAMD_FOUND FALSE)
 ENDIF (EXISTS ${CAMD_INCLUDE})
 
-MESSAGE("-- Check for COLAMD")
 SET(COLAMD_FOUND TRUE)
-
 FIND_LIBRARY(COLAMD_LIB NAMES colamd PATHS ${SUITESPARSE_SEARCH_LIBS})
 IF (EXISTS ${COLAMD_LIB})
   MESSAGE("-- Found COLAMD library: ${COLAMD_LIB}")
@@ -186,9 +181,7 @@
   SET(COLAMD_FOUND FALSE)
 ENDIF (EXISTS ${COLAMD_INCLUDE})
 
-MESSAGE("-- Check for CCOLAMD")
 SET(CCOLAMD_FOUND TRUE)
-
 FIND_LIBRARY(CCOLAMD_LIB NAMES ccolamd PATHS ${SUITESPARSE_SEARCH_LIBS})
 IF (EXISTS ${CCOLAMD_LIB})
   MESSAGE("-- Found CCOLAMD library: ${CCOLAMD_LIB}")
@@ -205,9 +198,7 @@
   SET(CCOLAMD_FOUND FALSE)
 ENDIF (EXISTS ${CCOLAMD_INCLUDE})
 
-MESSAGE("-- Check for CHOLMOD")
 SET(CHOLMOD_FOUND TRUE)
-
 FIND_LIBRARY(CHOLMOD_LIB NAMES cholmod PATHS ${SUITESPARSE_SEARCH_LIBS})
 IF (EXISTS ${CHOLMOD_LIB})
   MESSAGE("-- Found CHOLMOD library: ${CHOLMOD_LIB}")
@@ -226,8 +217,8 @@
 
 # If SuiteSparse version is >= 4 then SuiteSparse_config is required.
 # For SuiteSparse 3, UFconfig.h is required.
-MESSAGE("-- Check for SuiteSparse_config (SuiteSparse v4)")
 SET(SUITESPARSE_CONFIG_FOUND TRUE)
+SET(UFCONFIG_FOUND TRUE)
 
 FIND_LIBRARY(SUITESPARSE_CONFIG_LIB
              NAMES suitesparseconfig
@@ -243,30 +234,25 @@
           PATHS ${SUITESPARSE_SEARCH_HEADERS})
 IF (EXISTS ${SUITESPARSE_CONFIG_INCLUDE})
   MESSAGE("-- Found SuiteSparse_config header in: ${SUITESPARSE_CONFIG_INCLUDE}")
+  SET(UFCONFIG_FOUND FALSE)
 ELSE (EXISTS ${SUITESPARSE_CONFIG_INCLUDE})
   MESSAGE("-- Did not find SuiteSparse_config header")
 ENDIF (EXISTS ${SUITESPARSE_CONFIG_INCLUDE})
 
 IF (NOT EXISTS ${SUITESPARSE_CONFIG_LIB} OR NOT EXISTS ${SUITESPARSE_CONFIG_INCLUDE})
   SET(SUITESPARSE_CONFIG_FOUND FALSE)
+  FIND_PATH(UFCONFIG_INCLUDE
+            NAMES UFconfig.h
+            PATHS ${SUITESPARSE_SEARCH_HEADERS})
+  IF (EXISTS ${UFCONFIG_INCLUDE})
+    MESSAGE("-- Found UFconfig header in: ${UFCONFIG_INCLUDE}")
+  ELSE (EXISTS ${UFCONFIG_INCLUDE})
+    MESSAGE("-- Did not find UFconfig header")
+    SET(UFCONFIG_FOUND FALSE)
+  ENDIF (EXISTS ${UFCONFIG_INCLUDE})
 ENDIF (NOT EXISTS ${SUITESPARSE_CONFIG_LIB} OR NOT EXISTS ${SUITESPARSE_CONFIG_INCLUDE})
 
-MESSAGE("-- Check for UFconfig (SuiteSparse v3)")
-SET(UFCONFIG_FOUND TRUE)
-
-FIND_PATH(UFCONFIG_INCLUDE
-          NAMES UFconfig.h
-          PATHS ${SUITESPARSE_SEARCH_HEADERS})
-IF (EXISTS ${UFCONFIG_INCLUDE})
-  MESSAGE("-- Found UFconfig header in: ${UFCONFIG_INCLUDE}")
-ELSE (EXISTS ${UFCONFIG_INCLUDE})
-  MESSAGE("-- Did not find UFconfig header")
-  SET(UFCONFIG_FOUND FALSE)
-ENDIF (EXISTS ${UFCONFIG_INCLUDE})
-
-MESSAGE("-- Check for METIS (optional)")
 FIND_LIBRARY(METIS_LIB NAMES metis PATHS ${SUITESPARSE_SEARCH_LIBS})
-
 IF (EXISTS ${METIS_LIB})
   MESSAGE("-- Found METIS library: ${METIS_LIB}")
 ELSE (EXISTS ${METIS_LIB})
@@ -346,9 +332,8 @@
 # built with CXSparse support. -DCXSPARSE=ON/OFF can be used to
 # enable/disable CXSparse explicitly.
 IF ((NOT DEFINED CXSPARSE) OR (DEFINED CXSPARSE AND CXSPARSE))
-MESSAGE("-- Check for CXSparse")
-SET(CXSPARSE_FOUND ON)
 
+SET(CXSPARSE_FOUND ON)
 FIND_LIBRARY(CXSPARSE_LIB NAMES cxsparse PATHS ${CXSPARSE_SEARCH_LIBS})
 IF (EXISTS ${CXSPARSE_LIB})
   MESSAGE("-- Found CXSparse library in: ${CXSPARSE_LIB}")
@@ -391,7 +376,6 @@
        ON)
 
 IF (GFLAGS)
-  MESSAGE("-- Check for Google Flags")
   FIND_LIBRARY(GFLAGS_LIB NAMES gflags PATHS ${SEARCH_LIBS})
   IF (NOT EXISTS ${GFLAGS_LIB})
     MESSAGE(FATAL_ERROR
@@ -413,7 +397,6 @@
 
 # Google Logging
 IF (NOT BUILD_ANDROID)
-  MESSAGE("-- Check for Google Log")
   FIND_LIBRARY(GLOG_LIB NAMES glog PATHS ${SEARCH_LIBS})
   IF (NOT EXISTS ${GLOG_LIB})
     MESSAGE(FATAL_ERROR
@@ -437,12 +420,12 @@
 ENDIF (NOT BUILD_ANDROID)
 
 # Eigen
-MESSAGE("-- Check for Eigen 3.x")
 FIND_PATH(EIGEN_INCLUDE NAMES Eigen/Core PATHS ${EIGEN_SEARCH_HEADERS})
 IF (NOT EXISTS ${EIGEN_INCLUDE})
   MESSAGE(FATAL_ERROR "Can't find Eigen. Try passing -DEIGEN_INCLUDE=...")
+ELSE (NOT EXISTS ${EIGEN_INCLUDE})
+  MESSAGE("-- Found Eigen 3.x: ${EIGEN_INCLUDE}")
 ENDIF (NOT EXISTS ${EIGEN_INCLUDE})
-MESSAGE("-- Found Eigen 3.x: ${EIGEN_INCLUDE}")
 
 # Template specializations for the Schur complement based solvers. If
 # compile time, binary size or compiler performance is an issue, you
