From c96a8867f01ed2c454196629f032ae0a837c1cd3 Mon Sep 17 00:00:00 2001 From: Markus Wick Date: Sat, 9 May 2020 11:42:56 +0200 Subject: [PATCH] Add version check for catch2 --- externals/find-modules/FindCatch2.cmake | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/externals/find-modules/FindCatch2.cmake b/externals/find-modules/FindCatch2.cmake index a83c668bf..ce1d40bae 100644 --- a/externals/find-modules/FindCatch2.cmake +++ b/externals/find-modules/FindCatch2.cmake @@ -8,11 +8,25 @@ find_path(Catch2_INCLUDE_DIR PATH_SUFFIXES catch2 ) +if(Catch2_INCLUDE_DIR) + file(STRINGS "${Catch2_INCLUDE_DIR}/catch.hpp" _Catch2_version_lines + REGEX "#define[ \t]+CATCH_VERSION_(MAJOR|MINOR|PATCH)") + string(REGEX REPLACE ".*CATCH_VERSION_MAJOR +\([0-9]+\).*" "\\1" _Catch2_version_major "${_Catch2_version_lines}") + string(REGEX REPLACE ".*CATCH_VERSION_MINOR +\([0-9]+\).*" "\\1" _Catch2_version_minor "${_Catch2_version_lines}") + string(REGEX REPLACE ".*CATCH_VERSION_PATCH +\([0-9]+\).*" "\\1" _Catch2_version_patch "${_Catch2_version_lines}") + set(Catch2_VERSION "${_Catch2_version_major}.${_Catch2_version_minor}.${_Catch2_version_patch}") + unset(_Catch2_version_major) + unset(_Catch2_version_minor) + unset(_Catch2_version_patch) + unset(_Catch2_version_lines) +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Catch2 FOUND_VAR Catch2_FOUND REQUIRED_VARS Catch2_INCLUDE_DIR + Catch2_VERSION VERSION_VAR Catch2_VERSION )