From 9af100c7d7fa72fc4e1dbe6714e2b796dc79843f Mon Sep 17 00:00:00 2001 From: David Wells Date: Wed, 24 Aug 2022 15:35:42 -0400 Subject: [PATCH] Fix PETSc version detection. New versions of PETSc now define PETSC_VERSION_LT etc. in one line, so our detection of PETSC_VERSION_MAJOR will now also pick up that usage. Get around this by making the regex more correct. --- cmake/modules/FindPETSC.cmake | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cmake/modules/FindPETSC.cmake b/cmake/modules/FindPETSC.cmake index 95643882ac..ea13227625 100644 --- a/cmake/modules/FindPETSC.cmake +++ b/cmake/modules/FindPETSC.cmake @@ -95,23 +95,23 @@ DEAL_II_FIND_PATH(PETSC_INCLUDE_DIR_COMMON petscversion.h SET(PETSC_PETSCVERSION_H "${PETSC_INCLUDE_DIR_COMMON}/petscversion.h") IF(EXISTS ${PETSC_PETSCVERSION_H}) FILE(STRINGS "${PETSC_PETSCVERSION_H}" PETSC_VERSION_MAJOR_STRING - REGEX "#define.*PETSC_VERSION_MAJOR") - STRING(REGEX REPLACE "^.*PETSC_VERSION_MAJOR.* ([0-9]+).*" "\\1" + REGEX "^#[ \t]*define[ \t]+PETSC_VERSION_MAJOR[ \t]+[0-9]+[ \t]*$") + STRING(REGEX REPLACE "^#[ \t]*define[ \t]+PETSC_VERSION_MAJOR[ \t]+([0-9]+)[ \t]*$" "\\1" PETSC_VERSION_MAJOR "${PETSC_VERSION_MAJOR_STRING}" ) FILE(STRINGS "${PETSC_PETSCVERSION_H}" PETSC_VERSION_MINOR_STRING - REGEX "#define.*PETSC_VERSION_MINOR") - STRING(REGEX REPLACE "^.*PETSC_VERSION_MINOR.* ([0-9]+).*" "\\1" + REGEX "^#[ \t]*define[ \t]+PETSC_VERSION_MINOR[ \t]+[0-9]+[ \t]*$") + STRING(REGEX REPLACE "^#[ \t]*define[ \t]+PETSC_VERSION_MINOR[ \t]+([0-9]+)[ \t]*$" "\\1" PETSC_VERSION_MINOR "${PETSC_VERSION_MINOR_STRING}" ) FILE(STRINGS "${PETSC_PETSCVERSION_H}" PETSC_VERSION_SUBMINOR_STRING - REGEX "#define.*PETSC_VERSION_SUBMINOR") - STRING(REGEX REPLACE "^.*PETSC_VERSION_SUBMINOR.* ([0-9]+).*" "\\1" + REGEX "^#[ \t]*define[ \t]+PETSC_VERSION_SUBMINOR[ \t]+[0-9]+[ \t]*$") + STRING(REGEX REPLACE "^#[ \t]*define[ \t]+PETSC_VERSION_SUBMINOR[ \t]+([0-9]+)[ \t]*$" "\\1" PETSC_VERSION_SUBMINOR "${PETSC_VERSION_SUBMINOR_STRING}" ) FILE(STRINGS "${PETSC_PETSCVERSION_H}" PETSC_VERSION_PATCH_STRING - REGEX "#define.*PETSC_VERSION_PATCH") - STRING(REGEX REPLACE "^.*PETSC_VERSION_PATCH.* ([0-9]+).*" "\\1" + REGEX "^#[ \t]*define[ \t]+PETSC_VERSION_PATCH[ \t]+[0-9]+[ \t]*$") + STRING(REGEX REPLACE "^#[ \t]*define[ \t]+PETSC_VERSION_PATCH[ \t]+([0-9]+)[ \t]*$" "\\1" PETSC_VERSION_PATCH "${PETSC_VERSION_PATCH_STRING}" ) SET(PETSC_VERSION -- 2.39.5