|  | @@ -48,6 +48,15 @@
 | 
	
		
			
				|  |  |  #     install, in which case found version of SuiteSparse cannot be used to link
 | 
	
		
			
				|  |  |  #     a shared library due to a bug (static linking is unaffected).
 | 
	
		
			
				|  |  |  #
 | 
	
		
			
				|  |  | +# The following variables control the behaviour of this module:
 | 
	
		
			
				|  |  | +#
 | 
	
		
			
				|  |  | +# SUITESPARSE_INCLUDE_DIR_HINTS: List of additional directories in which to
 | 
	
		
			
				|  |  | +#                                search for SuiteSparse includes,
 | 
	
		
			
				|  |  | +#                                e.g: /timbuktu/include.
 | 
	
		
			
				|  |  | +# SUITESPARSE_LIBRARY_DIR_HINTS: List of additional directories in which to
 | 
	
		
			
				|  |  | +#                                search for SuiteSparse libraries,
 | 
	
		
			
				|  |  | +#                                e.g: /timbuktu/lib.
 | 
	
		
			
				|  |  | +#
 | 
	
		
			
				|  |  |  # The following variables define the presence / includes & libraries for the
 | 
	
		
			
				|  |  |  # SuiteSparse components searched for, the SUITESPARSE_XX variables are the
 | 
	
		
			
				|  |  |  # union of the variables for all components.
 | 
	
	
		
			
				|  | @@ -101,9 +110,31 @@
 | 
	
		
			
				|  |  |  # TBB_FOUND
 | 
	
		
			
				|  |  |  # TBB_LIBRARIES
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +# Called if we failed to find SuiteSparse or any of it's required dependencies,
 | 
	
		
			
				|  |  | +# unsets all public (designed to be used externally) variables and reports
 | 
	
		
			
				|  |  | +# error message at priority depending upon [REQUIRED/QUIET/<NONE>] argument.
 | 
	
		
			
				|  |  | +MACRO(SUITESPARSE_REPORT_NOT_FOUND REASON_MSG)
 | 
	
		
			
				|  |  | +  UNSET(SUITESPARSE_FOUND)
 | 
	
		
			
				|  |  | +  UNSET(SUITESPARSE_INCLUDE_DIRS)
 | 
	
		
			
				|  |  | +  UNSET(SUITESPARSE_LIBRARIES)
 | 
	
		
			
				|  |  | +  UNSET(SUITESPARSE_VERSION)
 | 
	
		
			
				|  |  | +  UNSET(SUITESPARSE_MAIN_VERSION)
 | 
	
		
			
				|  |  | +  UNSET(SUITESPARSE_SUB_VERSION)
 | 
	
		
			
				|  |  | +  UNSET(SUITESPARSE_SUBSUB_VERSION)
 | 
	
		
			
				|  |  | +  # Note <package>_FIND_[REQUIRED/QUIETLY] variables defined by FindPackage()
 | 
	
		
			
				|  |  | +  # use the camelcase library name, not uppercase.
 | 
	
		
			
				|  |  | +  IF (SuiteSparse_FIND_QUIETLY)
 | 
	
		
			
				|  |  | +    MESSAGE(STATUS "Failed to find SuiteSparse - " ${REASON_MSG} ${ARGN})
 | 
	
		
			
				|  |  | +  ELSE (SuiteSparse_FIND_QUIETLY)
 | 
	
		
			
				|  |  | +    MESSAGE(FATAL_ERROR "Failed to find SuiteSparse - " ${REASON_MSG} ${ARGN})
 | 
	
		
			
				|  |  | +  ENDIF (SuiteSparse_FIND_QUIETLY)
 | 
	
		
			
				|  |  | +ENDMACRO(SUITESPARSE_REPORT_NOT_FOUND)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  # Specify search directories for include files and libraries (this is the union
 | 
	
		
			
				|  |  | -# of the search directories for all OSs).
 | 
	
		
			
				|  |  | +# of the search directories for all OSs).  Search user-specified hint
 | 
	
		
			
				|  |  | +# directories first if supplied.
 | 
	
		
			
				|  |  |  LIST(APPEND SUITESPARSE_CHECK_INCLUDE_DIRS
 | 
	
		
			
				|  |  | +  ${SUITESPARSE_INCLUDE_DIR_HINTS}
 | 
	
		
			
				|  |  |    /opt/local/include
 | 
	
		
			
				|  |  |    /opt/local/include/ufsparse # Mac OS X
 | 
	
		
			
				|  |  |    /usr/include
 | 
	
	
		
			
				|  | @@ -112,6 +143,7 @@ LIST(APPEND SUITESPARSE_CHECK_INCLUDE_DIRS
 | 
	
		
			
				|  |  |    /usr/local/include
 | 
	
		
			
				|  |  |    /usr/local/include/suitesparse)
 | 
	
		
			
				|  |  |  LIST(APPEND SUITESPARSE_CHECK_LIBRARY_DIRS
 | 
	
		
			
				|  |  | +  ${SUITESPARSE_LIBRARY_DIR_HINTS}
 | 
	
		
			
				|  |  |    /opt/local/lib
 | 
	
		
			
				|  |  |    /opt/local/lib/ufsparse # Mac OS X
 | 
	
		
			
				|  |  |    /usr/lib
 | 
	
	
		
			
				|  | @@ -123,13 +155,15 @@ LIST(APPEND SUITESPARSE_CHECK_LIBRARY_DIRS
 | 
	
		
			
				|  |  |  # BLAS.
 | 
	
		
			
				|  |  |  FIND_PACKAGE(BLAS QUIET)
 | 
	
		
			
				|  |  |  IF (NOT BLAS_FOUND)
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find BLAS library (required for SuiteSparse).")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND(
 | 
	
		
			
				|  |  | +    "Did not find BLAS library (required for SuiteSparse).")
 | 
	
		
			
				|  |  |  ENDIF (NOT BLAS_FOUND)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # LAPACK.
 | 
	
		
			
				|  |  |  FIND_PACKAGE(LAPACK QUIET)
 | 
	
		
			
				|  |  |  IF (NOT LAPACK_FOUND)
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find LAPACK library (required for SuiteSparse).")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND(
 | 
	
		
			
				|  |  | +    "Did not find LAPACK library (required for SuiteSparse).")
 | 
	
		
			
				|  |  |  ENDIF (NOT LAPACK_FOUND)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # AMD.
 | 
	
	
		
			
				|  | @@ -137,9 +171,9 @@ SET(AMD_FOUND TRUE)
 | 
	
		
			
				|  |  |  FIND_LIBRARY(AMD_LIBRARY NAMES amd
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${AMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found AMD library: ${AMD_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found AMD library: ${AMD_LIBRARY}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${AMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find AMD library")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find AMD library.")
 | 
	
		
			
				|  |  |    SET(AMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${AMD_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(AMD_LIBRARY)
 | 
	
	
		
			
				|  | @@ -147,9 +181,9 @@ MARK_AS_ADVANCED(AMD_LIBRARY)
 | 
	
		
			
				|  |  |  FIND_PATH(AMD_INCLUDE_DIR NAMES amd.h
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${AMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found AMD header in: ${AMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found AMD header in: ${AMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${AMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find AMD header")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find AMD header.")
 | 
	
		
			
				|  |  |    SET(AMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${AMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(AMD_INCLUDE_DIR)
 | 
	
	
		
			
				|  | @@ -159,9 +193,9 @@ SET(CAMD_FOUND TRUE)
 | 
	
		
			
				|  |  |  FIND_LIBRARY(CAMD_LIBRARY NAMES camd
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${CAMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found CAMD library: ${CAMD_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found CAMD library: ${CAMD_LIBRARY}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${CAMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find CAMD library")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find CAMD library.")
 | 
	
		
			
				|  |  |    SET(CAMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${CAMD_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(CAMD_LIBRARY)
 | 
	
	
		
			
				|  | @@ -169,9 +203,9 @@ MARK_AS_ADVANCED(CAMD_LIBRARY)
 | 
	
		
			
				|  |  |  FIND_PATH(CAMD_INCLUDE_DIR NAMES camd.h
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${CAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found CAMD header in: ${CAMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found CAMD header in: ${CAMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${CAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find CAMD header")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find CAMD header.")
 | 
	
		
			
				|  |  |    SET(CAMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${CAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(CAMD_INCLUDE_DIR)
 | 
	
	
		
			
				|  | @@ -181,9 +215,9 @@ SET(COLAMD_FOUND TRUE)
 | 
	
		
			
				|  |  |  FIND_LIBRARY(COLAMD_LIBRARY NAMES colamd
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${COLAMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found COLAMD library: ${COLAMD_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found COLAMD library: ${COLAMD_LIBRARY}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${COLAMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find COLAMD library")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find COLAMD library.")
 | 
	
		
			
				|  |  |    SET(COLAMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${COLAMD_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(COLAMD_LIBRARY)
 | 
	
	
		
			
				|  | @@ -191,9 +225,9 @@ MARK_AS_ADVANCED(COLAMD_LIBRARY)
 | 
	
		
			
				|  |  |  FIND_PATH(COLAMD_INCLUDE_DIR NAMES colamd.h
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${COLAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found COLAMD header in: ${COLAMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found COLAMD header in: ${COLAMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${COLAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find COLAMD header")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find COLAMD header.")
 | 
	
		
			
				|  |  |    SET(COLAMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${COLAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(COLAMD_INCLUDE_DIR)
 | 
	
	
		
			
				|  | @@ -203,9 +237,9 @@ SET(CCOLAMD_FOUND TRUE)
 | 
	
		
			
				|  |  |  FIND_LIBRARY(CCOLAMD_LIBRARY NAMES ccolamd
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${CCOLAMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found CCOLAMD library: ${CCOLAMD_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found CCOLAMD library: ${CCOLAMD_LIBRARY}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${CCOLAMD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find CCOLAMD library")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find CCOLAMD library.")
 | 
	
		
			
				|  |  |    SET(CCOLAMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${CCOLAMD_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(CCOLAMD_LIBRARY)
 | 
	
	
		
			
				|  | @@ -213,9 +247,9 @@ MARK_AS_ADVANCED(CCOLAMD_LIBRARY)
 | 
	
		
			
				|  |  |  FIND_PATH(CCOLAMD_INCLUDE_DIR NAMES ccolamd.h
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${CCOLAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found CCOLAMD header in: ${CCOLAMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found CCOLAMD header in: ${CCOLAMD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${CCOLAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find CCOLAMD header")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find CCOLAMD header.")
 | 
	
		
			
				|  |  |    SET(CCOLAMD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${CCOLAMD_INCLUDE_DIR})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(CCOLAMD_INCLUDE_DIR)
 | 
	
	
		
			
				|  | @@ -225,9 +259,9 @@ SET(CHOLMOD_FOUND TRUE)
 | 
	
		
			
				|  |  |  FIND_LIBRARY(CHOLMOD_LIBRARY NAMES cholmod
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${CHOLMOD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found CHOLMOD library: ${CHOLMOD_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found CHOLMOD library: ${CHOLMOD_LIBRARY}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${CHOLMOD_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find CHOLMOD library")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find CHOLMOD library.")
 | 
	
		
			
				|  |  |    SET(CHOLMOD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${CHOLMOD_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(CHOLMOD_LIBRARY)
 | 
	
	
		
			
				|  | @@ -235,9 +269,9 @@ MARK_AS_ADVANCED(CHOLMOD_LIBRARY)
 | 
	
		
			
				|  |  |  FIND_PATH(CHOLMOD_INCLUDE_DIR NAMES cholmod.h
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${CHOLMOD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found CHOLMOD header in: ${CHOLMOD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found CHOLMOD header in: ${CHOLMOD_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${CHOLMOD_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find CHOLMOD header")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find CHOLMOD header.")
 | 
	
		
			
				|  |  |    SET(CHOLMOD_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${CHOLMOD_INCLUDE_DIR})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(CHOLMOD_INCLUDE_DIR)
 | 
	
	
		
			
				|  | @@ -247,9 +281,9 @@ SET(SUITESPARSEQR_FOUND TRUE)
 | 
	
		
			
				|  |  |  FIND_LIBRARY(SUITESPARSEQR_LIBRARY NAMES spqr
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${SUITESPARSEQR_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found SuiteSparseQR library: ${SUITESPARSEQR_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found SuiteSparseQR library: ${SUITESPARSEQR_LIBRARY}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${SUITESPARSEQR_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find SUITESPARSEQR library")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find SUITESPARSEQR library.")
 | 
	
		
			
				|  |  |    SET(SUITESPARSEQR_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${SUITESPARSEQR_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(SUITESPARSEQR_LIBRARY)
 | 
	
	
		
			
				|  | @@ -257,9 +291,9 @@ MARK_AS_ADVANCED(SUITESPARSEQR_LIBRARY)
 | 
	
		
			
				|  |  |  FIND_PATH(SUITESPARSEQR_INCLUDE_DIR NAMES SuiteSparseQR.hpp
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${SUITESPARSEQR_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found SuiteSparseQR header in: ${SUITESPARSEQR_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found SuiteSparseQR header in: ${SUITESPARSEQR_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${SUITESPARSEQR_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find SUITESPARSEQR header")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND("Did not find SUITESPARSEQR header.")
 | 
	
		
			
				|  |  |    SET(SUITESPARSEQR_FOUND FALSE)
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${SUITESPARSEQR_INCLUDE_DIR})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(SUITESPARSEQR_INCLUDE_DIR)
 | 
	
	
		
			
				|  | @@ -272,10 +306,11 @@ IF (SUITESPARSEQR_FOUND)
 | 
	
		
			
				|  |  |    FIND_LIBRARY(TBB_LIBRARIES NAMES tbb
 | 
	
		
			
				|  |  |      PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |    IF (EXISTS ${TBB_LIBRARIES})
 | 
	
		
			
				|  |  | -    MESSAGE("-- Found Intel Thread Building Blocks (TBB) library: ${TBB_LIBRARIES}, "
 | 
	
		
			
				|  |  | -      "assuming SuiteSparseQR was compiled with TBB.")
 | 
	
		
			
				|  |  | +    MESSAGE(STATUS "Found Intel Thread Building Blocks (TBB) library: "
 | 
	
		
			
				|  |  | +      "${TBB_LIBRARIES}, assuming SuiteSparseQR was compiled with TBB.")
 | 
	
		
			
				|  |  |    ELSE (EXISTS ${TBB_LIBRARIES})
 | 
	
		
			
				|  |  | -    MESSAGE("-- Did not find TBB library")
 | 
	
		
			
				|  |  | +    MESSAGE(STATUS "Did not find Intel TBB library, assuming SuiteSparseQR was "
 | 
	
		
			
				|  |  | +      "not compiled with TBB.")
 | 
	
		
			
				|  |  |      SET(TBB_FOUND FALSE)
 | 
	
		
			
				|  |  |    ENDIF (EXISTS ${TBB_LIBRARIES})
 | 
	
		
			
				|  |  |    MARK_AS_ADVANCED(TBB_LIBRARIES)
 | 
	
	
		
			
				|  | @@ -284,7 +319,7 @@ IF (SUITESPARSEQR_FOUND)
 | 
	
		
			
				|  |  |      FIND_LIBRARY(TBB_MALLOC_LIB NAMES tbbmalloc
 | 
	
		
			
				|  |  |        PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |      IF (EXISTS ${TBB_MALLOC_LIB})
 | 
	
		
			
				|  |  | -      MESSAGE("-- Found Intel Thread Building Blocks (TBB) Malloc library: "
 | 
	
		
			
				|  |  | +      MESSAGE(STATUS "Found Intel Thread Building Blocks (TBB) Malloc library: "
 | 
	
		
			
				|  |  |          "${TBB_MALLOC_LIB}")
 | 
	
		
			
				|  |  |        # Append TBB malloc library to TBB libraries list whilst retaining
 | 
	
		
			
				|  |  |        # any CMake generated help string (cache variable).
 | 
	
	
		
			
				|  | @@ -299,7 +334,7 @@ IF (SUITESPARSEQR_FOUND)
 | 
	
		
			
				|  |  |      ELSE (EXISTS ${TBB_MALLOC_LIB})
 | 
	
		
			
				|  |  |        # If we cannot find all required TBB components do not include it as
 | 
	
		
			
				|  |  |        # a dependency.
 | 
	
		
			
				|  |  | -      MESSAGE("-- Did not find Intel Thread Building Blocks (TBB) Malloc "
 | 
	
		
			
				|  |  | +      MESSAGE(STATUS "Did not find Intel Thread Building Blocks (TBB) Malloc "
 | 
	
		
			
				|  |  |          "Library, discarding TBB as a dependency.")
 | 
	
		
			
				|  |  |        SET(TBB_FOUND FALSE)
 | 
	
		
			
				|  |  |      ENDIF (EXISTS ${TBB_MALLOC_LIB})
 | 
	
	
		
			
				|  | @@ -317,19 +352,23 @@ SET(UFCONFIG_FOUND TRUE)
 | 
	
		
			
				|  |  |  FIND_LIBRARY(SUITESPARSE_CONFIG_LIBRARY NAMES suitesparseconfig
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${SUITESPARSE_CONFIG_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found SuiteSparse_config library: ${SUITESPARSE_CONFIG_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found SuiteSparse_config library: "
 | 
	
		
			
				|  |  | +    "${SUITESPARSE_CONFIG_LIBRARY}")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${SUITESPARSE_CONFIG_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find SuiteSparse_config library")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Did not find SuiteSparse_config library (should be present "
 | 
	
		
			
				|  |  | +    "in SuiteSparse >= v4 installs).")
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${SUITESPARSE_CONFIG_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(SUITESPARSE_CONFIG_LIBRARY)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  FIND_PATH(SUITESPARSE_CONFIG_INCLUDE_DIR NAMES SuiteSparse_config.h
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${SUITESPARSE_CONFIG_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found SuiteSparse_config header in: ${SUITESPARSE_CONFIG_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found SuiteSparse_config header in: "
 | 
	
		
			
				|  |  | +    "${SUITESPARSE_CONFIG_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |    SET(UFCONFIG_FOUND FALSE)
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${SUITESPARSE_CONFIG_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find SuiteSparse_config header")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Did not find SuiteSparse_config header (should be present "
 | 
	
		
			
				|  |  | +    "in SuiteSparse >= v4 installs).")
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${SUITESPARSE_CONFIG_INCLUDE_DIR})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(SUITESPARSE_CONFIG_INCLUDE_DIR)
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -342,9 +381,11 @@ IF (EXISTS ${SUITESPARSE_CONFIG_LIBRARY} AND
 | 
	
		
			
				|  |  |      FIND_LIBRARY(LIBRT_LIBRARY NAMES rt
 | 
	
		
			
				|  |  |        PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |      IF (LIBRT_LIBRARY)
 | 
	
		
			
				|  |  | -      MESSAGE("-- Adding librt: ${LIBRT_LIBRARY} to SuiteSparse_config libraries.")
 | 
	
		
			
				|  |  | +      MESSAGE(STATUS "Adding librt: ${LIBRT_LIBRARY} to "
 | 
	
		
			
				|  |  | +        "SuiteSparse_config libraries (required on Linux & Unix [not OSX] if "
 | 
	
		
			
				|  |  | +        "SuiteSparse is compiled with timing).")
 | 
	
		
			
				|  |  |      ELSE (LIBRT_LIBRARY)
 | 
	
		
			
				|  |  | -      MESSAGE("-- Could not find librt, but found SuiteSparse_config, "
 | 
	
		
			
				|  |  | +      MESSAGE(STATUS "Could not find librt, but found SuiteSparse_config, "
 | 
	
		
			
				|  |  |          "assuming that SuiteSparse was compiled without timing.")
 | 
	
		
			
				|  |  |      ENDIF (LIBRT_LIBRARY)
 | 
	
		
			
				|  |  |      MARK_AS_ADVANCED(LIBRT_LIBRARY)
 | 
	
	
		
			
				|  | @@ -356,9 +397,10 @@ ELSE (EXISTS ${SUITESPARSE_CONFIG_LIBRARY} AND
 | 
	
		
			
				|  |  |    FIND_PATH(UFCONFIG_INCLUDE_DIR NAMES UFconfig.h
 | 
	
		
			
				|  |  |      PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
 | 
	
		
			
				|  |  |    IF (EXISTS ${UFCONFIG_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -    MESSAGE("-- Found UFconfig header in: ${UFCONFIG_INCLUDE_DIR}")
 | 
	
		
			
				|  |  | +    MESSAGE(STATUS "Found UFconfig header in: ${UFCONFIG_INCLUDE_DIR}")
 | 
	
		
			
				|  |  |    ELSE (EXISTS ${UFCONFIG_INCLUDE_DIR})
 | 
	
		
			
				|  |  | -    MESSAGE("-- Did not find UFconfig header")
 | 
	
		
			
				|  |  | +    MESSAGE(STATUS "Did not find UFconfig header (should be present "
 | 
	
		
			
				|  |  | +      "in SuiteSparse < v4 installs)")
 | 
	
		
			
				|  |  |      SET(UFCONFIG_FOUND FALSE)
 | 
	
		
			
				|  |  |    ENDIF (EXISTS ${UFCONFIG_INCLUDE_DIR})
 | 
	
		
			
				|  |  |    MARK_AS_ADVANCED(UFCONFIG_INCLUDE_DIR)
 | 
	
	
		
			
				|  | @@ -369,60 +411,83 @@ ENDIF (EXISTS ${SUITESPARSE_CONFIG_LIBRARY} AND
 | 
	
		
			
				|  |  |  # <= v3, SuiteSparse_config.h for >= v4).
 | 
	
		
			
				|  |  |  IF (UFCONFIG_FOUND)
 | 
	
		
			
				|  |  |    # SuiteSparse version <= 3.
 | 
	
		
			
				|  |  | -  FILE(READ "${UFCONFIG_INCLUDE_DIR}/UFconfig.h" UFCONFIG_CONTENTS)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  STRING(REGEX MATCH "#define SUITESPARSE_MAIN_VERSION [0-9]+"
 | 
	
		
			
				|  |  | -    SUITESPARSE_MAIN_VERSION "${UFCONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | -  STRING(REGEX REPLACE "#define SUITESPARSE_MAIN_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | -    SUITESPARSE_MAIN_VERSION "${SUITESPARSE_MAIN_VERSION}")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  STRING(REGEX MATCH "#define SUITESPARSE_SUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUB_VERSION "${UFCONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | -  STRING(REGEX REPLACE "#define SUITESPARSE_SUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUB_VERSION "${SUITESPARSE_SUB_VERSION}")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  STRING(REGEX MATCH "#define SUITESPARSE_SUBSUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUBSUB_VERSION "${UFCONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | -  STRING(REGEX REPLACE "#define SUITESPARSE_SUBSUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUBSUB_VERSION "${SUITESPARSE_SUBSUB_VERSION}")
 | 
	
		
			
				|  |  | +  SET(SUITESPARSE_VERSION_FILE ${UFCONFIG_INCLUDE_DIR}/UFconfig.h)
 | 
	
		
			
				|  |  | +  IF (NOT EXISTS ${SUITESPARSE_VERSION_FILE})
 | 
	
		
			
				|  |  | +    SUITESPARSE_REPORT_NOT_FOUND(
 | 
	
		
			
				|  |  | +      "Could not find file: ${SUITESPARSE_VERSION_FILE} containing version "
 | 
	
		
			
				|  |  | +      "information for <= v3 SuiteSparse installs, but UFconfig was found "
 | 
	
		
			
				|  |  | +      "(only present in <= v3 installs).")
 | 
	
		
			
				|  |  | +  ELSE (NOT EXISTS ${SUITESPARSE_VERSION_FILE})
 | 
	
		
			
				|  |  | +    FILE(READ ${SUITESPARSE_VERSION_FILE} UFCONFIG_CONTENTS)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    STRING(REGEX MATCH "#define SUITESPARSE_MAIN_VERSION [0-9]+"
 | 
	
		
			
				|  |  | +      SUITESPARSE_MAIN_VERSION "${UFCONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | +    STRING(REGEX REPLACE "#define SUITESPARSE_MAIN_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | +      SUITESPARSE_MAIN_VERSION "${SUITESPARSE_MAIN_VERSION}")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    STRING(REGEX MATCH "#define SUITESPARSE_SUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUB_VERSION "${UFCONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | +    STRING(REGEX REPLACE "#define SUITESPARSE_SUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUB_VERSION "${SUITESPARSE_SUB_VERSION}")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    STRING(REGEX MATCH "#define SUITESPARSE_SUBSUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUBSUB_VERSION "${UFCONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | +    STRING(REGEX REPLACE "#define SUITESPARSE_SUBSUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUBSUB_VERSION "${SUITESPARSE_SUBSUB_VERSION}")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    # This is on a single line s/t CMake does not interpret it as a list of
 | 
	
		
			
				|  |  | +    # elements and insert ';' separators which would result in 4.;2.;1 nonsense.
 | 
	
		
			
				|  |  | +    SET(SUITESPARSE_VERSION
 | 
	
		
			
				|  |  | +      "${SUITESPARSE_MAIN_VERSION}.${SUITESPARSE_SUB_VERSION}.${SUITESPARSE_SUBSUB_VERSION}")
 | 
	
		
			
				|  |  | +  ENDIF (NOT EXISTS ${SUITESPARSE_VERSION_FILE})
 | 
	
		
			
				|  |  |  ENDIF (UFCONFIG_FOUND)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  IF (SUITESPARSE_CONFIG_FOUND)
 | 
	
		
			
				|  |  |    # SuiteSparse version >= 4.
 | 
	
		
			
				|  |  | -  FILE(READ "${SUITESPARSE_CONFIG_INCLUDE_DIR}/SuiteSparse_config.h"
 | 
	
		
			
				|  |  | -    SUITESPARSE_CONFIG_CONTENTS)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  STRING(REGEX MATCH "#define SUITESPARSE_MAIN_VERSION [0-9]+"
 | 
	
		
			
				|  |  | -    SUITESPARSE_MAIN_VERSION "${SUITESPARSE_CONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | -  STRING(REGEX REPLACE "#define SUITESPARSE_MAIN_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | -    SUITESPARSE_MAIN_VERSION "${SUITESPARSE_MAIN_VERSION}")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  STRING(REGEX MATCH "#define SUITESPARSE_SUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUB_VERSION "${SUITESPARSE_CONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | -  STRING(REGEX REPLACE "#define SUITESPARSE_SUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUB_VERSION "${SUITESPARSE_SUB_VERSION}")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  STRING(REGEX MATCH "#define SUITESPARSE_SUBSUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUBSUB_VERSION "${SUITESPARSE_CONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | -  STRING(REGEX REPLACE "#define SUITESPARSE_SUBSUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | -    SUITESPARSE_SUBSUB_VERSION "${SUITESPARSE_SUBSUB_VERSION}")
 | 
	
		
			
				|  |  | +  SET(SUITESPARSE_VERSION_FILE
 | 
	
		
			
				|  |  | +    ${SUITESPARSE_CONFIG_INCLUDE_DIR}/SuiteSparse_config.h)
 | 
	
		
			
				|  |  | +  IF (NOT EXISTS ${SUITESPARSE_VERSION_FILE})
 | 
	
		
			
				|  |  | +    SUITESPARSE_REPORT_NOT_FOUND(
 | 
	
		
			
				|  |  | +      "Could not find file: ${SUITESPARSE_VERSION_FILE} containing version "
 | 
	
		
			
				|  |  | +      "information for >= v4 SuiteSparse installs, but SuiteSparse_config was "
 | 
	
		
			
				|  |  | +      "found (only present in >= v4 installs).")
 | 
	
		
			
				|  |  | +  ELSE (NOT EXISTS ${SUITESPARSE_VERSION_FILE})
 | 
	
		
			
				|  |  | +    FILE(READ ${SUITESPARSE_VERSION_FILE} SUITESPARSE_CONFIG_CONTENTS)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    STRING(REGEX MATCH "#define SUITESPARSE_MAIN_VERSION [0-9]+"
 | 
	
		
			
				|  |  | +      SUITESPARSE_MAIN_VERSION "${SUITESPARSE_CONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | +    STRING(REGEX REPLACE "#define SUITESPARSE_MAIN_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | +      SUITESPARSE_MAIN_VERSION "${SUITESPARSE_MAIN_VERSION}")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    STRING(REGEX MATCH "#define SUITESPARSE_SUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUB_VERSION "${SUITESPARSE_CONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | +    STRING(REGEX REPLACE "#define SUITESPARSE_SUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUB_VERSION "${SUITESPARSE_SUB_VERSION}")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    STRING(REGEX MATCH "#define SUITESPARSE_SUBSUB_VERSION [0-9]+"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUBSUB_VERSION "${SUITESPARSE_CONFIG_CONTENTS}")
 | 
	
		
			
				|  |  | +    STRING(REGEX REPLACE "#define SUITESPARSE_SUBSUB_VERSION ([0-9]+)" "\\1"
 | 
	
		
			
				|  |  | +      SUITESPARSE_SUBSUB_VERSION "${SUITESPARSE_SUBSUB_VERSION}")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    # This is on a single line s/t CMake does not interpret it as a list of
 | 
	
		
			
				|  |  | +    # elements and insert ';' separators which would result in 4.;2.;1 nonsense.
 | 
	
		
			
				|  |  | +    SET(SUITESPARSE_VERSION
 | 
	
		
			
				|  |  | +      "${SUITESPARSE_MAIN_VERSION}.${SUITESPARSE_SUB_VERSION}.${SUITESPARSE_SUBSUB_VERSION}")
 | 
	
		
			
				|  |  | +  ENDIF (NOT EXISTS ${SUITESPARSE_VERSION_FILE})
 | 
	
		
			
				|  |  |  ENDIF (SUITESPARSE_CONFIG_FOUND)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -# This is on a single line s/t CMake does not interpret it as a list of
 | 
	
		
			
				|  |  | -# elements and insert ';' separators which would result in 4.;2.;1 nonsense.
 | 
	
		
			
				|  |  | -SET(SUITESPARSE_VERSION
 | 
	
		
			
				|  |  | -  "${SUITESPARSE_MAIN_VERSION}.${SUITESPARSE_SUB_VERSION}.${SUITESPARSE_SUBSUB_VERSION}")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  # METIS (Optional dependency).
 | 
	
		
			
				|  |  |  FIND_LIBRARY(METIS_LIBRARY NAMES metis
 | 
	
		
			
				|  |  |    PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
 | 
	
		
			
				|  |  |  IF (EXISTS ${METIS_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found METIS library: ${METIS_LIBRARY}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found METIS library: ${METIS_LIBRARY}.")
 | 
	
		
			
				|  |  |  ELSE (EXISTS ${METIS_LIBRARY})
 | 
	
		
			
				|  |  | -  MESSAGE("-- Did not find METIS library")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Did not find METIS library (optional SuiteSparse dependency)")
 | 
	
		
			
				|  |  |  ENDIF (EXISTS ${METIS_LIBRARY})
 | 
	
		
			
				|  |  |  MARK_AS_ADVANCED(METIS_LIBRARY)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +# Only mark SuiteSparse as found if all required dependencies have been found.
 | 
	
		
			
				|  |  | +SET(SUITESPARSE_FOUND FALSE)
 | 
	
		
			
				|  |  |  IF (AMD_FOUND AND
 | 
	
		
			
				|  |  |      CAMD_FOUND AND
 | 
	
		
			
				|  |  |      COLAMD_FOUND AND
 | 
	
	
		
			
				|  | @@ -468,10 +533,10 @@ IF (AMD_FOUND AND
 | 
	
		
			
				|  |  |      LIST(APPEND SUITESPARSE_LIBRARIES
 | 
	
		
			
				|  |  |        ${METIS_LIBRARY})
 | 
	
		
			
				|  |  |    ENDIF (METIS_FOUND)
 | 
	
		
			
				|  |  | -  MESSAGE("-- Found SuiteSparse version: ${SUITESPARSE_VERSION}")
 | 
	
		
			
				|  |  | +  MESSAGE(STATUS "Found SuiteSparse version: ${SUITESPARSE_VERSION}")
 | 
	
		
			
				|  |  |  ELSE()
 | 
	
		
			
				|  |  | -  SET(SUITESPARSE_FOUND FALSE)
 | 
	
		
			
				|  |  | -  MESSAGE("-- Failed to find some/all required components of SuiteSparse.")
 | 
	
		
			
				|  |  | +  SUITESPARSE_REPORT_NOT_FOUND(
 | 
	
		
			
				|  |  | +    "Failed to find some/all required components of SuiteSparse.")
 | 
	
		
			
				|  |  |  ENDIF()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # Determine if we are running on Ubuntu with the package install of SuiteSparse
 | 
	
	
		
			
				|  | @@ -494,6 +559,9 @@ IF (CMAKE_SYSTEM_NAME MATCHES "Linux" AND
 | 
	
		
			
				|  |  |        # We are on Ubuntu, and the SuiteSparse version matches the broken
 | 
	
		
			
				|  |  |        # system install version and is a system install.
 | 
	
		
			
				|  |  |        SET(SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION TRUE)
 | 
	
		
			
				|  |  | +      MESSAGE(STATUS "Found system install of SuiteSparse "
 | 
	
		
			
				|  |  | +        "${SUITESPARSE_VERSION} running on Ubuntu, which has a known bug "
 | 
	
		
			
				|  |  | +        "preventing linking of shared libraries (static linking unaffected).")
 | 
	
		
			
				|  |  |      ENDIF (LSB_DISTRIBUTOR_ID MATCHES "Ubuntu" AND
 | 
	
		
			
				|  |  |        SUITESPARSE_LIBRARIES MATCHES "/usr/lib/libamd")
 | 
	
		
			
				|  |  |    ENDIF (LSB_RELEASE_EXECUTABLE)
 | 
	
	
		
			
				|  | @@ -508,5 +576,6 @@ INCLUDE(FindPackageHandleStandardArgs)
 | 
	
		
			
				|  |  |  # by FindPackageHandleStandardArgs() in conjunction with handling the REQUIRED
 | 
	
		
			
				|  |  |  # and QUIET optional arguments, as such we use an intermediary variable.
 | 
	
		
			
				|  |  |  SET(SUITESPARSE_FOUND_COPY ${SUITESPARSE_FOUND})
 | 
	
		
			
				|  |  | -FIND_PACKAGE_HANDLE_STANDARD_ARGS(SuiteSparse DEFAULT_MSG
 | 
	
		
			
				|  |  | -  SUITESPARSE_FOUND_COPY SUITESPARSE_INCLUDE_DIRS SUITESPARSE_LIBRARIES)
 | 
	
		
			
				|  |  | +FIND_PACKAGE_HANDLE_STANDARD_ARGS(SuiteSparse
 | 
	
		
			
				|  |  | +  REQUIRED_VARS SUITESPARSE_FOUND_COPY SUITESPARSE_INCLUDE_DIRS SUITESPARSE_LIBRARIES
 | 
	
		
			
				|  |  | +  VERSION_VAR SUITESPARSE_VERSION)
 |