From abbfdd3b3a828696ec4c6a67e593099f4802c7e8 Mon Sep 17 00:00:00 2001 From: scivision Date: Thu, 14 Sep 2023 20:04:47 -0400 Subject: FindMatlab: improve version regex the matlab_versions_mapping always has at least major.minor --- Modules/FindMatlab.cmake | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/FindMatlab.cmake b/Modules/FindMatlab.cmake index a2784a2..8383349 100644 --- a/Modules/FindMatlab.cmake +++ b/Modules/FindMatlab.cmake @@ -353,7 +353,7 @@ file(MAKE_DIRECTORY "${_matlab_temporary_folder}") #]=======================================================================] macro(matlab_get_version_from_release_name release_name version_name) - string(REGEX MATCHALL "${release_name}=([0-9]+\\.?[0-9]*)" _matched ${MATLAB_VERSIONS_MAPPING}) + string(REGEX MATCHALL "${release_name}=([0-9]+\\.[0-9]+)" _matched ${MATLAB_VERSIONS_MAPPING}) set(${version_name} "") if(NOT _matched STREQUAL "") @@ -411,7 +411,7 @@ endmacro() macro(matlab_get_supported_releases list_releases) set(${list_releases}) foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING) - string(REGEX MATCHALL "(.+)=([0-9]+\\.?[0-9]*)" _matched ${_var}) + string(REGEX MATCHALL "(.+)=([0-9]+\\.[0-9]+)" _matched ${_var}) if(NOT _matched STREQUAL "") list(APPEND ${list_releases} ${CMAKE_MATCH_1}) endif() @@ -428,7 +428,7 @@ endmacro() macro(matlab_get_supported_versions list_versions) set(${list_versions}) foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING) - string(REGEX MATCHALL "(.+)=([0-9]+\\.?[0-9]*)" _matched ${_var}) + string(REGEX MATCHALL "(.+)=([0-9]+\\.[0-9]+)" _matched ${_var}) if(NOT _matched STREQUAL "") list(APPEND ${list_versions} ${CMAKE_MATCH_2}) endif() @@ -831,7 +831,7 @@ function(matlab_get_version_from_matlab_run matlab_binary_program matlab_list_ve string(SUBSTRING "${_matlab_version_from_cmd}" ${index} -1 substring_ans) string( - REGEX MATCHALL "ans[\r\n\t ]*=[\r\n\t ]*'?([0-9]+(\\.[0-9]+)?)" + REGEX MATCHALL "ans[\r\n\t ]*=[\r\n\t ]*'?([0-9]+(\\.[0-9]+)+)" matlab_versions_regex ${substring_ans}) foreach(match IN LISTS matlab_versions_regex) @@ -1404,7 +1404,7 @@ function(_Matlab_VersionInfoXML) if(versioninfo_string) # parses "23.2.0.2365128" - string(REGEX MATCH "([0-9]+\\.[0-9]+\\.?[0-9]*\\.?[0-9]*)" + string(REGEX MATCH "([0-9]+(\\.[0-9]+)+)" version_reg_match ${versioninfo_string} ) -- cgit v0.12