Hermann von Kleist
7060e2135c
FindMatlab: Restore support for finding EXACT major.minor version
...
By comparing major.minor, the behavior approximately matches pre-3.28
behavior.
Fixes : #25605
2024-01-17 10:33:48 -05:00
Hermann von Kleist
88a1392270
FindMatlab: use correct registry view when extracting versions
2024-01-17 16:19:22 +01:00
scivision
42fbe01eba
FindMatlab: Accept long version in matlab_get_release_name_from_version
...
Make this work:
matlab_get_release_name_from_version(${Matlab_VERSION})
which the user would expect.
While at it, simplify this function code.
2024-01-16 11:37:43 -05:00
scivision
c608adc236
FindMatlab: Fix major.minor version lookups in Windows Registry
...
The registry key names use only the first two version components.
Previously we were using the full versions.
Fixes : #25582
2024-01-16 11:35:32 -05:00
Hermann von Kleist
694727bb45
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
2024-01-12 09:38:12 -05:00
Brad King
0f6e9d0658
FindMatlab: Fix processing of multiple versions from Windows Registry
...
Fix logic from commit fff5c1507e (FindMatlab: refactor: use registry
query instead of execute_process, 2023-09-14, v3.28.0-rc1~82^2~7)
to work when multiple versions are found in the registry.
Issue: #25497
2023-12-14 10:35:56 -05:00
Brad King
ef64c118de
FindMatlab: Fix regression on Windows Registry lookup failure
...
Fix logic from commit dc9d9589e4 (FindMatlab:WIN32: return full Matlab
version when found via registry, 2023-09-14, v3.28.0-rc1~82^2~2) to
avoid assuming that a registry entry always exists and is non-empty.
Fixes : #25497
2023-12-14 08:12:13 -05:00
scivision
39881de3f6
FindMatlab:macOS: return full version when found by path guess
2023-09-18 15:50:48 -04:00
scivision
35bcb9116c
FindMatlab:lint: set(... CACHE INTERNAL) implies FORCE
2023-09-18 15:23:21 -04:00
scivision
dc9d9589e4
FindMatlab:WIN32: return full Matlab version when found via registry
...
rework internal XML reading function for better code reuse and
namespace isolation
2023-09-18 15:23:21 -04:00
scivision
abbfdd3b3a
FindMatlab: improve version regex
...
the matlab_versions_mapping always has at least major.minor
2023-09-18 15:23:21 -04:00
scivision
ff20d993f3
FindMatlab: doc: rename osx=>macOS
2023-09-18 15:09:51 -04:00
scivision
d7b73f14c2
FindMatlab: retrieve full major.minor.patch.tweak
2023-09-18 15:09:49 -04:00
scivision
8b8135487f
FindMatlab: refactor: remove unneeded syntax
2023-09-18 15:07:53 -04:00
scivision
fff5c1507e
FindMatlab: refactor: use registry query instead of execute_process
...
On Windows,
instead of executing "reg query" it's much simpler and more robust
to use cmake's built in registry query.
Remove unused variables. Significantly reduces amount of code in
function.
2023-09-18 15:07:52 -04:00
scivision
cf7ea12a7e
FindMatlab: Add R2023b=23.2
...
Matlab went to a new version numbering scheme with R2023b.
2023-09-15 09:03:32 -04:00
scivision
8ea398a7af
FindMatlab: Prefer to use VersionInfo.xml to get version, fallback to run
...
Parsing the version file is much faster than running Matlab.
It also improves reliability as Matlab silently quits or hangs
in some misconfigured environments.
For old Matlab, falls back to running Matlab.
also refactor file(STRINGS => file(READ as whole file was read anyway
Fixes : #25209
2023-09-09 22:23:05 -04:00
scivision
7d7fe9981c
FindMatlab: use if(IS_DIRECTORY) for directories instead of EXISTS
2023-08-27 18:27:39 -04:00
scivision
cf554750dd
FindMatlab: no if(NOT EXIST) guard needed for file(MAKE_DIRECTORY)
2023-08-27 18:25:55 -04:00
Brad King
04b0d5c862
codespell: Fix typos
2023-05-22 16:51:15 -04:00
Brad King
6aa58ebaba
Merge topic 'FindMatlab-R2023a'
...
58ab34d88a FindMatlab: add version/release map for R2023a
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8334
2023-03-17 07:46:54 -04:00
scivision
58ab34d88a
FindMatlab: add version/release map for R2023a
2023-03-16 11:08:05 -04:00
scivision
1932ae0284
FindMatlab: refactor: use string(APPEND
2023-03-07 15:34:36 -05:00
scivision
c4cacdc7eb
FindMatlab: use modern foreach()
...
remove unused superseded commented code
2023-03-07 15:34:35 -05:00
scivision
af05544c49
FindMatlab: document function input/output
2023-03-07 15:34:35 -05:00
scivision
257a3e870e
FindMatlab: add Matlab_VERSION and document.
...
fixes #24569
2023-03-07 15:32:56 -05:00
Brad King
be4dcdf100
Merge topic 'FindMatlab-macos-rosetta'
...
1bc9b0f256 FindMatlab: accommodate Matlab running under Rosetta
8dcd14bb87 FindMatlab: simplify mexext find logic
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8063
2023-01-13 08:57:43 -05:00
scivision
1bc9b0f256
FindMatlab: accommodate Matlab running under Rosetta
...
fixes #24312
2023-01-12 09:47:09 -05:00
scivision
8dcd14bb87
FindMatlab: simplify mexext find logic
...
This eliminates an explicit for() loop
2023-01-12 08:41:13 -05:00
Jorrit Olthuis
6683c20f22
FindMatlab: Add SYSTEM include flag for matlab_add_mex
...
Add the `SYSTEM` flag for include directories provided by MATLAB, as the
the pragmas used are not compatible with GCC and generate a warning.
Fixes : #24166
2023-01-11 15:26:19 -05:00
Brad King
689eb0c306
Merge topic 'matlab-r2022b'
...
edbdfba3f5 FindMatlab: add R2022b 9.13 version map
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !7683
2022-09-19 10:19:12 -04:00
Michael Hirsch
edbdfba3f5
FindMatlab: add R2022b 9.13 version map
2022-09-16 10:29:19 -04:00
Brad King
671509ff27
Merge topic 'FindMatlab-macos-arm64'
...
f0edac914a FindMatlab: Add MEX binary file suffix for Apple Silicon native Matlab
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !7673
2022-09-15 09:05:53 -04:00
Michael Hirsch
f0edac914a
FindMatlab: Add MEX binary file suffix for Apple Silicon native Matlab
...
The Matlab MEX binary file suffix is distinct for Apple Silicon.
2022-09-14 14:05:35 -04:00
Michael Hirsch
72dd680609
FindMatlab: follow CMP0074 <PackageName>_ROOT search behavior
2022-09-01 10:48:13 -04:00
Michael Hirsch
ba74c58ca4
FindMatlab: add'l check that Matlab test version file exists
...
this last resort check is for some HPC with "module load matlab"
not enacted that fail to catch in earlier checks. That would
error CMake configure even if find_package(Matlab) is not REQUIRED
2022-09-01 10:35:41 -04:00
Silvio
178cf34bdc
FindMatlab: Add NO_IMPLICIT_LINK_TO_MATLAB_LIBRARIES option to matlab_add_mex
2022-04-05 08:27:09 -04:00
Silvio Traversaro
8468dfb35f
FindMatlab: Use -batch option in matlab_add_unit_test if possible
2022-03-21 14:58:24 -04:00
Silvio
ebb0685824
FindMatlab: Add fallback to use -batch option in version extraction
...
Fixes : #22646
2022-03-18 15:36:04 +01:00
Michael Hirsch
6032213456
FindMatlab: Add R2022a => 9.12 version
2022-03-18 07:22:42 -04:00
Michael Hirsch
bb2c7b7dc0
FindMatlab: Fix logic error when minimum version is not found
...
Fix logic added by commit 7fdd5128b1 (FindMatlab: Fix version selection
if a version is given, 2021-07-02, v3.22.0-rc1~66^2). Ensure that
`_list_index` is always initialized to -1, akin to `list(FIND)` not
finding a match.
Issue: #22377
2022-03-07 10:12:43 -05:00
Tom M
b8d885ed0d
FindMatlab: Fix version detection for MCR >= 9.10
...
Recent MCR versions have the following `VersionInfo.xml`:
<version>9.11.0.1837725</version>
Fix parsing of multiple digits in the version components
so that we do not mistake this for version `9.1`.
2022-02-14 10:23:33 -05:00
Alexander Neumann
7fdd5128b1
FindMatlab: Fix version selection if a version is given
...
Fixes : #22377
2021-09-29 14:33:36 -04:00
Brad King
1f8b4afbce
Merge topic 'FindMatlab-r2021b'
...
a013404f43 FindMatlab: Add R2021b => 9.11 version
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !6556
2021-09-24 09:14:20 -04:00
Michael Hirsch
a013404f43
FindMatlab: Add R2021b => 9.11 version
...
R2021b released 09/22/2021.
2021-09-23 10:41:20 -04:00
Vincent Newsum
2f43ba5073
FindMatlab: Sort available Matlab versions using natural comparison.
...
On Windows, when FindMatlab.cmake searches the registry for installed Matlab versions, it sorts these versions alphabetically.
Since Matlab 2021a (version 9.10) came out this became a problem as now version 9.10 is placed after 9.1 instead of after a higher version less than 9.10.
The result is that FindMatlab doesn't return the highest version by default.
This fix uses the natural sort comparison which was introduced in CMake 3.18.
2021-09-22 09:43:56 +02:00
Silvio Traversaro
161990b921
FindMatlab: Add imported targets
2021-09-13 12:12:05 -04:00
Josef Angstenberger
87f8843d8b
FindMatlab: Fix spelling in warning and documentation
2021-05-07 17:00:16 +02:00
Josef Angstenberger
dad5b9d845
Modules: Fix typos and spelling in comments
2021-05-07 17:00:15 +02:00
Michael Hirsch
427f5f2fa9
FindMatlab: R2021a version map
2021-03-15 09:10:07 -04:00