Commit Graph

53 Commits

Author SHA1 Message Date
Sean Warren
62709beff8 FindMatlab: Add Matlab 2018a,b to version list 2018-09-26 07:54:50 -04:00
Sean Warren
9a56ed3438 FindMatlab: Explicitly export mexFunction in MSVC
Fixes: #18391
2018-09-26 07:54:01 -04:00
Sean Warren
6c57f6b347 FindMatlab: Optionally allow linking to MatlabEngine and MatlabDataArray
Fixes: #17971
2018-09-26 07:53:50 -04:00
Brad King
488faed3ce Merge topic 'FindMatlab-no-CMAKE_CL_64'
bfe883af60 FindMatlab: Remove erroneous duplicate code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2354
2018-09-06 09:56:36 -04:00
Raffi Enficiaud
bfe883af60 FindMatlab: Remove erroneous duplicate code
This was left accidentally when resolving merge conflicts between
previous changes.

Fixes: #18221
2018-09-05 15:19:50 -04:00
Chuck Atkins
7d9640dbc2 FindMatlab: Guard against nonexistent installation 2018-08-27 14:57:17 -04:00
Brad King
be095b3e7f Merge topic 'FindMatlab-mcc'
f34f6eb3d1 FindMatlab: Add component to find MCC, the Matlab compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2233
2018-08-06 08:23:14 -04:00
Jason Heeris
f34f6eb3d1 FindMatlab: Add component to find MCC, the Matlab compiler
Add component `MCC_COMPILER` to request searching for the Matlab
compiler.  Report it in `Matlab_MCC_COMPILER` if it is found.

Issue: #18183
2018-08-01 09:23:46 -04:00
Julien Schueller
3434c22c29 FindMatlab: only search registry on windows hosts
From Linux, it fails when cross-compiling
2018-08-01 07:40:25 -04:00
luz.paz
be28106880 Fix misc. typos
Found via `codespell` and `grep`
2018-06-04 10:32:49 -04:00
Raffi Enficiaud
59fb9e89b2 FindMatlab: Matlab Runtime Compiler support
* Determining automatically the MCR version on OSX and Windows
* Distinguishing between MCR and Matlab
* Specific tests for the MCR
* mexext on windows does not work properly: the mexext is hardcoded
* Doc updates for the MCR

Fixes: #16487
2018-04-23 10:30:49 -04:00
Rolf Eike Beer
d6883801cd Find*: always include FPHSA shipped with CMake 2018-04-02 10:48:31 +02:00
Luz Paz
3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Brad King
9f1916aaaa FindMatlab: Avoid if() auto-dereference in 64-bit host detection
If the value of `CMAKE_HOST_SYSTEM_PROCESSOR` also happens to be set as
a variable by a project (e.g. `AMD64`), allowing `if()` to
auto-dereference is unlikely to produce a value that matches "64".
Instead let `if()` auto-dereference `CMAKE_HOST_SYSTEM_PROCESSOR`.

Fixes: #17460
2017-11-15 09:33:56 -05:00
luzpaz
777e87ae00 Fix trivial typos in text
Some are user facing.

Found using

    codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt`

whereby the whitelist contained:

    ans
    dum
    helpfull
    emmited
    emmitted
    buil
    iff
    isnt
    nto
    ot
    pathes
    substract
    te
    todays
    upto
    whitespaces
2017-11-03 10:25:05 -04:00
Jamie Snape
f156b2fbfb FindMatlab: Add support for MATLAB 2017b 2017-10-04 09:47:46 -04:00
Brad King
a245f850bc FindMatlab: Fix extraction of quoted version number
The version string in recent Matlab versions has changed.
Now the version number is inside two `'`.

Patch-by: nama on gitlab.kitware.com
Fixes: #17308
2017-09-27 06:56:10 -04:00
Job Noorman
f34ac1c69b FindMatlab: Don't use the deprecated variable CMAKE_CL_64
The variable is not defined on 64-bit MinGW, causing a 32-bit Matlab
version to be found.  Check using CMAKE_SIZEOF_VOID_P instead.
2017-09-08 09:53:27 -04:00
Raffi Enficiaud
5a9c4aeb9a FindMatlab: CUSTOM_TEST_COMMAND documentation fix
Documentation states CUSTOM_MATLAB_COMMAND, while code uses CUSTOM_TEST_COMMAND.
Addresses issue #17107
2017-07-27 21:35:16 +02:00
Raffi Enficiaud
6f04dffb7d FindMatlab: Add support for Matlab 2017a 2017-05-01 09:26:32 -04:00
Brad King
b8c5258b00 Merge topic 'FindMatlab-fix-typo'
f2de7079 FindMatlab: Fix typo in matlab_add_unit_test implementation
2016-11-01 09:14:31 -04:00
Matthew Woehlke
f2de70799c FindMatlab: Fix typo in matlab_add_unit_test implementation
Fix typo in variable used to communicate between matlab_add_unit_test
and its helper script MatlabTestsRedirect.cmake that was introduced in
commit v3.7.0-rc1~116^2 (FindMatlab: Extend matlab_add_unit_test to run
arbitrary test code, 2016-08-30).
2016-10-28 15:19:24 -04:00
Francesco Romano
e29f33cd20 FindMatlab: Add support for Matlab 2016b (9.1) 2016-10-28 10:41:43 -04:00
Brad King
aac66d7974 Merge branch 'FindMatlab-fix-simulink-cache' into release 2016-10-05 09:45:18 -04:00
Raffi Enficiaud
2f16ab87ae FindMatlab: small documentation fixes 2016-10-05 09:39:27 -04:00
Raffi Enficiaud
e8893030e6 FindMatlab: remove SIMULINK path from cache when FindMatlab is reconfigured 2016-10-05 09:39:20 -04:00
Brad King
86578eccf2 Simplify CMake per-source license notices
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool.  Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience.  Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.

Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices.  It also references version control
history for more precise information.  Therefore we no longer need to spell
out the list of Contributors in each source file notice.

Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing".  The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.

Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically.  Manually fix up shebang lines and trailing
newlines in a few files.  Manually update the notices in a few files that the
script does not handle.
2016-09-27 15:14:44 -04:00
Jamie Snape
33ec71f343 FindMatlab: Fix -pthread check for projects with only C enabled 2016-09-26 13:59:37 -04:00
Jamie Snape
7274fd9c19 FindMatlab: Add EXECUTABLE, MODULE, and SHARED options to matlab_add_mex 2016-09-23 09:28:27 -04:00
Jamie Snape
ccd1341ac9 FindMatlab: Add SIMULINK component 2016-09-23 09:28:18 -04:00
Jamie Snape
aaf4014c28 FindMatlab: Fix documentation 2016-09-23 09:28:09 -04:00
Bill Hoffman
4ebb4ae6cf FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
Allow a custom matlab set of commands to be run as the test instead of
just `runtests('matlab_file_name')`.
2016-09-14 13:08:19 -04:00
Brad King
29768b03ea FindMatlab: Avoid indexing an empty list of versions 2016-09-06 08:39:38 -04:00
Raffi Enficiaud
bf09271b65 FindMatlab: adding handling of component "MAT"
- documentation
- test
- cosmetic changes
2016-08-30 14:50:20 +02:00
Sebastian Niemann
8ba204a696 FindMatlab: Use pre-built libraries for MinGW if needed 2016-08-15 09:28:54 -04:00
Francesco Romano
715e4cf57c FindMatlab: Add support for Matlab 2016a (9.0) 2016-05-25 09:08:32 -04:00
Felix Geyer
49e82c15d5 Fix spelling typos in comments and documentation (#16037)
The Debian package checker tool (lintian) detected several typos in
CMake.
2016-03-29 14:31:02 -04:00
Francesco Romano
2775768f34 FindMatlab: Add support for Matlab R2015b 2015-10-05 09:16:14 -04:00
Tamas Kenez
6524ed5e94 FindMatlab: Fix documentation section header underline style
Replace caret-headers with double-quote-headers and replace dash-headers
with caret-headers.  This makes the headers match their level of nesting
according to our documentation style guide in cmake-developers(7).
2015-06-29 08:55:49 -04:00
Raffi Enficiaud
8444809c47 FindMatlab: fix reconfiguration of Matlab_ROOT_DIR 2015-06-01 09:24:06 -04:00
Raffi Enficiaud
5752e55805 FindMatlab: fix header visibility of the generated mex files 2015-06-01 09:24:06 -04:00
Daniele E. Domenichelli
7e311773b5 FindMatlab: Look for R2014b and R2015a 2015-04-07 11:42:02 +02:00
Raffi Enficiaud
49c8dcf7bb FindMatlab: Rewrite module and provide a usage API
Implement a brand new FindMatlab module:

- Add support for versions and components.
- Find Matlab and its version in a more precise and multiplatform way.
- Add API to create a new mex extension with documentation.
- Add API to add matlab unit tests (with or without the unit test framework).
- Find as much as possible based on a single Matlab_ROOT_DIR cache entry
  and allow the user to change it to re-find everything.
2015-03-17 09:47:04 -04:00
Brad King
08d1e65a9a FindMatlab: Remove trailing blank lines 2015-02-24 09:06:39 -05:00
Kitware Robot
f051814ed0 Convert builtin help to reStructuredText source files
Run the convert-help.bash script to convert documentation:

 ./convert-help.bash "/path/to/CMake-build/bin"

Then remove it.
2013-10-15 14:12:03 -04:00
Kitware Robot
9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot
77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Todd Gamblin
2cde67a781 Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Brad King
c4bb9c9d42 Convert CMake find-modules to BSD License
This adds copyright/license notification blocks CMake's find-modules.
Many of the modules had no notices at all.  Some had notices referring
to the BSD license already.  This commit normalizes existing notices and
adds missing notices.
2009-09-28 11:45:50 -04:00
Bill Hoffman
d07a4675d2 ENH: fix find module stuff for test 2008-06-16 15:19:44 -04:00