diff --git a/cmake/modules/FindSuperLU.cmake b/cmake/modules/FindSuperLU.cmake index 77d72cf6a3947d4bdb7faff35fe386c1198b6a7e..a8038bde961668e85d02bb0f56475c6fa3d37b1b 100644 --- a/cmake/modules/FindSuperLU.cmake +++ b/cmake/modules/FindSuperLU.cmake @@ -30,10 +30,22 @@ find_library(SUPERLU_LIBRARY PATH_SUFFIXES "lib" "lib64" ) -# check if version is 4.3 +# check version specific macros include(CheckCSourceCompiles) set(CMAKE_REQUIRED_INCLUDES ${SUPERLU_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${SUPERLU_LIBRARY}) + +# check whether "mem_usage_t.expansions" was found in "slu_ddefs.h" +CHECK_C_SOURCE_COMPILES(" +#include <slu_ddefs.h> +int main(void) +{ + mem_usage_t mem; + return mem.expansions; +}" +HAVE_MEM_USAGE_T_EXPANSIONS) + +# check whether version is at least 4.3 CHECK_C_SOURCE_COMPILES(" #include <slu_ddefs.h> int main(void) diff --git a/config.h.cmake b/config.h.cmake index 8ea26e8a745f1f3799dd31f1f996c7dc71fc2b31..990c118165c6275891e34015f64ec4a71635598e 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -45,6 +45,9 @@ /* define to 1 because older versions of SuperLU are no longer supported*/ #define SUPERLU_POST_2005_VERSION 1 +/* Define to 1 if 'expansions' is a member of 'mem_usage_t'. */ +#cmakedefine HAVE_MEM_USAGE_T_EXPANSIONS @HAVE_MEM_USAGE_T_EXPANSIONS@ + /* define to 1 if SuperLU header slu_ddefs.h contains SLU_DOUBLE */ #cmakedefine SUPERLU_MIN_VERSION_4_3 @SUPERLU_MIN_VERSION_4_3@