--- CMakeModules/FindVIGRA.cmake.orig 2021-08-21 14:43:52 UTC +++ CMakeModules/FindVIGRA.cmake @@ -53,8 +53,15 @@ IF (VIGRA_FOUND) IF(NOT VIGRA_CONFIG_VERSION_HXX) MESSAGE(FATAL_ERROR "Could not find vigra/configVersion.hxx or vigra/config_version.hxx. Your vigra installation seems to be corrupt.") ENDIF() - FILE(STRINGS "${VIGRA_CONFIG_VERSION_HXX}" VIGRA_VERSION_HXX REGEX ".*#define +VIGRA_VERSION +\"") - STRING(REGEX REPLACE ".*#define +VIGRA_VERSION +\"([.0-9]+).*" "\\1" VIGRA_VERSION "${VIGRA_VERSION_HXX}") + FILE(STRINGS "${VIGRA_CONFIG_VERSION_HXX}" VIGRA_VERSION_HXX REGEX ".*#define +VIGRA_VERSION_(MAJOR|MINOR|PATCH)") + STRING(REGEX REPLACE ".*#define +VIGRA_VERSION_MAJOR +([0-9]+).*" "\\1" VIGRA_VERSION_MAJOR "${VIGRA_VERSION_HXX}") + STRING(REGEX REPLACE ".*#define +VIGRA_VERSION_MINOR +([0-9]+).*" "\\1" VIGRA_VERSION_MINOR "${VIGRA_VERSION_HXX}") + STRING(REGEX REPLACE ".*#define +VIGRA_VERSION_PATCH +([0-9]+).*" "\\1" VIGRA_VERSION_PATCH "${VIGRA_VERSION_HXX}") + IF(VIGRA_VERSION_MAJOR AND VIGRA_VERSION_MINOR AND VIGRA_VERSION_PATCH) + SET(VIGRA_VERSION "${VIGRA_VERSION_MAJOR}.${VIGRA_VERSION_MINOR}.${VIGRA_VERSION_PATCH}") + ELSE() + MESSAGE(FATAL_ERROR "Cooud not parse vigra version number from vigra/config_version.hxx") + ENDIF() IF(${VIGRA_VERSION} VERSION_EQUAL VIGRA_FIND_VERSION OR ${VIGRA_VERSION} VERSION_GREATER VIGRA_FIND_VERSION) SET(VIGRA_VERSION_CHECK TRUE) MESSAGE(STATUS "VIGRA version: ${VIGRA_VERSION}")