FindMatlab: incorrect path for MCR
With an MCR installation, my find_package(Matlab) adds the version of the installation at the end of MATLAB_ROOT_DIR, resulting in this type of error: ``` -- [MATLAB] Extracting MATLAB versions with registry view args 'VIEW;TARGET' [cmake] -- [MATLAB] Getting MATLAB roots with registry view args 'VIEW;TARGET' [cmake] -- [MATLAB] Matlab root folders are MCR;9.13.0.2553342;C:/Program Files/MATLAB/MATLAB Runtime/R2022b/v913 [cmake] -- [MATLAB] Current version is 9.13.0.2553342 located C:/Program Files/MATLAB/MATLAB Runtime/R2022b/v913 [cmake] -- [MATLAB] Determining mex files extensions from 'C:/Program Files/MATLAB/MATLAB Runtime/R2022b/v913/bin' with program 'Matlab_MEXEXTENSIONS_PROG-NOTFOUND' [cmake] CMake Warning at C:/Program Files/CMake/share/cmake-3.30/Modules/FindMatlab.cmake:686 (message): [cmake] [MATLAB] Cannot found mexext program. Matlab root is C:/Program [cmake] Files/MATLAB/MATLAB Runtime/R2022b/v913 [cmake] Call Stack (most recent call first): [cmake] C:/Program Files/CMake/share/cmake-3.30/Modules/FindMatlab.cmake:1750 (matlab_get_mex_suffix) [cmake] CMakeLists.txt:61 (find_package) [cmake] [cmake] [cmake] -- [MATLAB] _matlab_lib_prefix_for_search = lib | _matlab_lib_dir_for_search = C:/Program Files/MATLAB/MATLAB Runtime/R2022b/v913/extern/lib/win64/microsoft [cmake] -- Could NOT find Matlab (missing: Matlab_INCLUDE_DIRS) (found version "9.13.0.2553342") ``` My Matlab MCR installation is at C:/Program Files/MATLAB/MATLAB Runtime/R2022b, not C:/Program Files/MATLAB/MATLAB Runtime/R2022b/v913. I found the line in findMatlab.cmake that adds the version to the MATLAB_ROOT_DIR. ``` # remove the dot string(REPLACE "." "" _matlab_current_version_without_dot "${_matlab_current_version}") ``` Unfortunately, deleting this line causes a different error : ``` [cmake] -- [MATLAB] Extracting MATLAB versions with registry view args 'VIEW;TARGET' [cmake] -- [MATLAB] Getting MATLAB roots with registry view args 'VIEW;TARGET' [cmake] -- [MATLAB] Matlab root folders are MCR;9.13.0.2553342;C:/Program Files/MATLAB/MATLAB Runtime/R2022b [cmake] -- [MATLAB] Current version is 9.13.0.2553342 located C:/Program Files/MATLAB/MATLAB Runtime/R2022b [cmake] CMake Warning at C:/Program Files/CMake/share/cmake-3.30/Modules/FindMatlab.cmake:686 (message): [cmake] [MATLAB] Cannot found mexext program. Matlab root is C:/Program [cmake] Files/MATLAB/MATLAB Runtime/R2022b [cmake] Call Stack (most recent call first): [cmake] C:/Program Files/CMake/share/cmake-3.30/Modules/FindMatlab.cmake:1750 (matlab_get_mex_suffix) [cmake] CMakeLists.txt:61 (find_package) [cmake] [cmake] [cmake] -- [MATLAB] Determining mex files extensions from 'C:/Program Files/MATLAB/MATLAB Runtime/R2022b/bin' with program 'Matlab_MEXEXTENSIONS_PROG-NOTFOUND' [cmake] -- [MATLAB] _matlab_lib_prefix_for_search = lib | _matlab_lib_dir_for_search = C:/Program Files/MATLAB/MATLAB Runtime/R2022b/extern/lib/win64/microsoft [cmake] -- Could NOT find Matlab (missing: Matlab_INCLUDE_DIRS) (found version "9.13.0.2553342") ```
issue