Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Harden cmake regexes when looking for #define strings. #13401

Merged
merged 1 commit into from
Feb 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 4 additions & 4 deletions cmake/modules/FindADOLC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ IF(EXISTS ${ADOLC_SETTINGS_H})
# Check whether ADOL-C is configured with extra trig functions
#
FILE(STRINGS "${ADOLC_SETTINGS_H}" ADOLC_ATRIG_ERF_STRING
REGEX "#define ATRIG_ERF"
REGEX "^[ \t]*#[ \t]*define[ \t]+ATRIG_ERF"
)
IF(NOT "${ADOLC_ATRIG_ERF_STRING}" STREQUAL "")
SET(ADOLC_WITH_ATRIG_ERF TRUE)
Expand All @@ -69,7 +69,7 @@ IF(EXISTS ${ADOLC_SETTINGS_H})
# Check whether ADOL-C is configured with advanced branching
#
FILE(STRINGS "${ADOLC_SETTINGS_H}" ADOLC_ADVANCED_BRANCHING_STRING
REGEX "#define ADOLC_ADVANCED_BRANCHING"
REGEX "^[ \t]*#[ \t]*define[ \t]+ADOLC_ADVANCED_BRANCHING"
)
IF(NOT "${ADOLC_ADVANCED_BRANCHING_STRING}" STREQUAL "")
SET(ADOLC_WITH_ADVANCED_BRANCHING TRUE)
Expand All @@ -81,7 +81,7 @@ IF(EXISTS ${ADOLC_SETTINGS_H})
# Check whether ADOL-C is configured with tapeless number reference counting
#
FILE(STRINGS "${ADOLC_SETTINGS_H}" ADOLC_WITH_TAPELESS_REFCOUNTING_STRING
REGEX "#define USE_ADTL_REFCOUNTING 1"
REGEX "^[ \t]*#[ \t]*define[ \t]+USE_ADTL_REFCOUNTING 1"
)
IF(NOT "${ADOLC_WITH_TAPELESS_REFCOUNTING_STRING}" STREQUAL "")
SET(ADOLC_WITH_TAPELESS_REFCOUNTING TRUE)
Expand All @@ -93,7 +93,7 @@ IF(EXISTS ${ADOLC_SETTINGS_H})
# Check whether ADOL-C is configured to use the Boost pool allocator
#
FILE(STRINGS "${ADOLC_SETTINGS_H}" ADOLC_BOOST_POOL_STRING
REGEX "#define USE_BOOST_POOL 1"
REGEX "^[ \t]*#[ \t]*define[ \t]+USE_BOOST_POOL 1"
)
IF(NOT "${ADOLC_BOOST_POOL_STRING}" STREQUAL "")
SET(ADOLC_WITH_BOOST_ALLOCATOR TRUE)
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/FindGSL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ DEAL_II_FIND_PATH(GSL_INCLUDE_DIR gsl/gsl_version.h

IF(EXISTS "${GSL_INCLUDE_DIR}/gsl/gsl_version.h" )
FILE(STRINGS "${GSL_INCLUDE_DIR}/gsl/gsl_version.h" GSL_VERSION_STRING_LINE
REGEX "#define GSL_VERSION"
REGEX "^[ \t]*#[ \t]*define[ \t]+GSL_VERSION"
)
STRING(REGEX REPLACE ".*([0-9].[0-9]+).*" "\\1" GSL_VERSION
"${GSL_VERSION_STRING_LINE}"
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/FindMUPARSER.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ IF(EXISTS ${MUPARSER_INCLUDE_DIR}/muParserDef.h)
# Try to match the line
#
# #define MUP_VERSION _T("2.2.4")
REGEX "#define MUP_VERSION _T"
REGEX "^[ \t]*#[ \t]*define[ \t]+MUP_VERSION _T"
)

IF("${MUPARSER_VERSION_STRING_LINE}" STREQUAL "")
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/FindOPENCASCADE.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ DEAL_II_FIND_PATH(OPENCASCADE_INCLUDE_DIR Standard_Version.hxx

IF(EXISTS ${OPENCASCADE_INCLUDE_DIR}/Standard_Version.hxx)
FILE(STRINGS "${OPENCASCADE_INCLUDE_DIR}/Standard_Version.hxx" OPENCASCADE_VERSION
REGEX "#define OCC_VERSION_COMPLETE "
REGEX "^[ \t]*#[ \t]*define[ \t]+OCC_VERSION_COMPLETE "
)
STRING(REGEX REPLACE
"#define OCC_VERSION_COMPLETE.*\"(.*)\"" "\\1"
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/FindP4EST.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ IF(EXISTS ${P4EST_INCLUDE_DIR}/p4est_config.h)
# Extract version numbers:
#
FILE(STRINGS "${P4EST_INCLUDE_DIR}/p4est_config.h" P4EST_VERSION
REGEX "#define P4EST_VERSION \"")
REGEX "^[ \t]*#[ \t]*define[ \t]+P4EST_VERSION \"")
STRING(REGEX REPLACE "^.*P4EST_VERSION.*\"([0-9]+.*)\".*" "\\1"
P4EST_VERSION "${P4EST_VERSION}"
)
Expand Down
6 changes: 3 additions & 3 deletions cmake/modules/FindTRILINOS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -89,21 +89,21 @@ IF(EXISTS ${EPETRA_CONFIG_H})
# Determine whether Trilinos was configured with MPI and 64bit indices:
#
FILE(STRINGS "${EPETRA_CONFIG_H}" EPETRA_MPI_STRING
REGEX "#define HAVE_MPI")
REGEX "^[ \t]*#[ \t]*define[ \t]+HAVE_MPI")
IF("${EPETRA_MPI_STRING}" STREQUAL "")
SET(TRILINOS_WITH_MPI FALSE)
ELSE()
SET(TRILINOS_WITH_MPI TRUE)
ENDIF()
FILE(STRINGS "${EPETRA_CONFIG_H}" EPETRA_32BIT_STRING
REGEX "#define EPETRA_NO_32BIT_GLOBAL_INDICES")
REGEX "^[ \t]*#[ \t]*define[ \t]+EPETRA_NO_32BIT_GLOBAL_INDICES")
IF("${EPETRA_64BIT_STRING}" STREQUAL "")
SET(TRILINOS_WITH_NO_32BITS_INDICES TRUE)
ELSE()
SET(TRILINOS_WITH_NO_32BITS_INDICES FALSE)
ENDIF()
FILE(STRINGS "${EPETRA_CONFIG_H}" EPETRA_64BIT_STRING
REGEX "#define EPETRA_NO_64BIT_GLOBAL_INDICES")
REGEX "^[ \t]*#[ \t]*define[ \t]+EPETRA_NO_64BIT_GLOBAL_INDICES")
IF("${EPETRA_64BIT_STRING}" STREQUAL "")
SET(TRILINOS_WITH_NO_64BITS_INDICES TRUE)
ELSE()
Expand Down