Fixing issue with CMake >= 2.8.10.2 FindPackageHandleStandardArgs. - Prior to CMake 2.8.10.2 FindPackageHandleStandardArgs was safe if passed <LIBRARY>_FOUND as a variable to validate, this is no longer true for newer CMake releases. - Also adding missing SUITESPARSEQR_FOUND requirement for SUITESPARSE_FOUND. Change-Id: I0fdde56585fc736bdfbf433901ad17ee9f1cc216
diff --git a/cmake/FindSuiteSparse.cmake b/cmake/FindSuiteSparse.cmake index 53dd038..a0beab9 100644 --- a/cmake/FindSuiteSparse.cmake +++ b/cmake/FindSuiteSparse.cmake
@@ -428,6 +428,7 @@ COLAMD_FOUND AND CCOLAMD_FOUND AND CHOLMOD_FOUND AND + SUITESPARSEQR_FOUND AND (SUITESPARSE_CONFIG_FOUND OR UFCONFIG_FOUND) AND BLAS_FOUND AND LAPACK_FOUND) @@ -501,6 +502,11 @@ # Handle REQUIRED and QUIET arguments to FIND_PACKAGE INCLUDE(FindPackageHandleStandardArgs) +# A change to CMake after release 2.8.10.2 means that +# FindPackageHandleStandardArgs() unsets <LibraryName>_FOUND without checking +# if it is one of the variables passed whose existence & validity is verified +# 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 SUITESPARSE_INCLUDE_DIRS SUITESPARSE_LIBRARIES) - + SUITESPARSE_FOUND_COPY SUITESPARSE_INCLUDE_DIRS SUITESPARSE_LIBRARIES)