From 694727bb45eaf639296fd1c93d1d4747236ad5c2 Mon Sep 17 00:00:00 2001 From: Hermann von Kleist Date: Fri, 12 Jan 2024 14:18:53 +0100 Subject: FindMatlab: Restore support for versions without VersionInfo.xml Report "unknown" in `_Matlab_VersionInfoXML` if file is missing. Fix omitted MATLAB root with unknown version from XML. Fixes: #25585 Fixes: #25586 --- Modules/FindMatlab.cmake | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Modules/FindMatlab.cmake b/Modules/FindMatlab.cmake index b90a45f..c5379d5 100644 --- a/Modules/FindMatlab.cmake +++ b/Modules/FindMatlab.cmake @@ -503,6 +503,8 @@ function(matlab_extract_all_installed_versions_from_registry win64 matlab_versio _Matlab_VersionInfoXML("${_reg}" _matlab_version_tmp) if(NOT "${_matlab_version_tmp}" STREQUAL "unknown") list(APPEND matlabs_from_registry ${_matlab_version_tmp}) + else() + list(APPEND matlabs_from_registry ${match}) endif() endforeach() @@ -1409,21 +1411,20 @@ function(_Matlab_VersionInfoXML matlab_root _version) set(_ver "unknown") set(_XMLfile ${matlab_root}/VersionInfo.xml) - if(NOT EXISTS ${_XMLfile}) - return() - endif() + if(EXISTS ${_XMLfile}) - file(READ ${_XMLfile} versioninfo_string) + file(READ ${_XMLfile} versioninfo_string) - if(versioninfo_string) - # parses "23.2.0.2365128" - string(REGEX MATCH "([0-9]+(\\.[0-9]+)+)" - version_reg_match - ${versioninfo_string} - ) + if(versioninfo_string) + # parses "23.2.0.2365128" + string(REGEX MATCH "([0-9]+(\\.[0-9]+)+)" + version_reg_match + ${versioninfo_string} + ) - if(CMAKE_MATCH_1) - set(_ver "${CMAKE_MATCH_1}") + if(CMAKE_MATCH_1) + set(_ver "${CMAKE_MATCH_1}") + endif() endif() endif() -- cgit v0.12