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
This commit is contained in:
Alex Stewart
2013-10-09 19:33:33 +01:00
committed by Sameer Agarwal
parent 8ba41e8b45
commit 003a1624f4
+8 -2
View File
@@ -428,6 +428,7 @@ IF (AMD_FOUND AND
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 @@ ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux" AND
# 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)