From 290bc20e7985cbf75780d7f6033d64fa5e70cf45 Mon Sep 17 00:00:00 2001 From: Markus Wick Date: Sat, 9 May 2020 11:46:03 +0200 Subject: [PATCH] Add version check to Findnlohmann_json.cmake --- externals/find-modules/Findnlohmann_json.cmake | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/externals/find-modules/Findnlohmann_json.cmake b/externals/find-modules/Findnlohmann_json.cmake index a3bf1d774e..b0c5b3e4e6 100644 --- a/externals/find-modules/Findnlohmann_json.cmake +++ b/externals/find-modules/Findnlohmann_json.cmake @@ -8,11 +8,25 @@ find_path(nlohmann_json_INCLUDE_DIR PATH_SUFFIXES nlohmann ) +if(nlohmann_json_INCLUDE_DIR) + file(STRINGS "${nlohmann_json_INCLUDE_DIR}/json.hpp" _nlohmann_json_version_lines + REGEX "#define[ \t]+NLOHMANN_JSON_VERSION_(MAJOR|MINOR|PATCH)") + string(REGEX REPLACE ".*NLOHMANN_JSON_VERSION_MAJOR +\([0-9]+\).*" "\\1" _nlohmann_json_version_major "${_nlohmann_json_version_lines}") + string(REGEX REPLACE ".*NLOHMANN_JSON_VERSION_MINOR +\([0-9]+\).*" "\\1" _nlohmann_json_version_minor "${_nlohmann_json_version_lines}") + string(REGEX REPLACE ".*NLOHMANN_JSON_VERSION_PATCH +\([0-9]+\).*" "\\1" _nlohmann_json_version_patch "${_nlohmann_json_version_lines}") + set(nlohmann_json_VERSION "${_nlohmann_json_version_major}.${_nlohmann_json_version_minor}.${_nlohmann_json_version_patch}") + unset(_nlohmann_json_version_major) + unset(_nlohmann_json_version_minor) + unset(_nlohmann_json_version_patch) + unset(_nlohmann_json_version_lines) +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(nlohmann_json FOUND_VAR nlohmann_json_FOUND REQUIRED_VARS nlohmann_json_INCLUDE_DIR + nlohmann_json_VERSION VERSION_VAR nlohmann_json_VERSION )