FindMathematica is a CMake module that tries to find a Mathematica installation and provides CMake functions for Mathematica's C/C++ interface.
- Works with Windows, Linux and OS X versions of Mathematica.
- Finds Mathematica versions from 5.2 to 10.1.
- Finds include directories and libraries for LibraryLink (Mathematica 8 to 10).
- Finds include directories and libraries for WSTP (Mathematica 10).
- Finds installation directory and JAR file of J/Link.
- Finds include directories and libraries for MathLink (obsolete as of Mathematica 10).
- Finds installation directory of Wolfram MUnit testing package.
- Provides exact version info for Mathematica, LibraryLink, WSTP, MathLink, J/Link and MUnit.
- Allows for running Mathematica code during CMake configure or build time.
- Allows for running Mathematica code as a pre-link, pre-build or post-build action.
- Allows for running Mathematica code in CMake test targets.
- Allows for running Mathematica MUnit test files and suites as CMake test targets.
- Supports generating C code from WSTP template files using
wsprp
executable. - Supports generating C code from MathLink template files using
mprep
executable. - Supports building dynamic libraries loadable with LibraryLink (Mathematica 8 to 10).
- Supports generating stand-alone C code from Mathematica code with CCodeGenerator (Mathematica 8 to 10).
- Provides CMake interface to Mathematica's Encode function.
- Supports generating Mathematica documentation with the DocumentationBuild package.
- Fully leverages CMake's cross-compiling support.
- A Wolfram Mathematica product (Mathematica, gridMathematica, Wolfram Finance Platform).
- CMake 2.8.12 or newer. The executable
cmake
should be on the system path. - Visual Studio C++, MinGW or Cygwin under Windows.
- GCC or Clang under Linux or OS X.
- Xcode application or Xcode Command Line Tools under OS X.
Copy the directory CMake/Mathematica
to the root directory of your CMake project. In the
top-level CMakeList.txt
file, add the module directory to the CMake module search path:
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake/Mathematica" ${CMAKE_MODULE_PATH})
To find the newest Mathematica installation in a CMake listfile, run the find_package
command:
find_package(Mathematica)
See the FindMathematica manual for more information.