Use CMake with oneAPI Applications
The CMake packages provided with Intel oneAPI products allow a CMake project to make easy use of oneAPI libraries on Windows* or Linux*. Using the provided packages, the experience should be similar to how other system libraries integrate with a CMake project. There are dependency and other build variables provided to CMake project targets as desired.
The following components support CMake:
Intel® oneAPI DPC++ Compiler - Linux, Windows
Intel® Integrated Performance Primitives (Intel® IPP) and Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography) - Linux, Windows
Intel® MPI Library - Linux, Windows
Intel® oneAPI Collective Communications Library (oneCCL) - Linux, Windows
Intel® oneAPI Data Analytics Library (oneDAL) - Linux, Windows
Intel® oneAPI Deep Neural Network Library (oneDNN) - Linux, Windows
Intel® oneAPI DPC++ Library (oneDPL) - Linux, Windows
Intel® oneAPI Math Kernel Library (oneMKL) - Linux, Windows
Intel® oneAPI Threading Building Blocks (oneTBB) - Linux, Windows
Intel® Video Processing Library (oneVPL) - Linux, Windows
Note
Starting with the 2024.0 release, macOS is no longer supported in Intel® oneAPI Toolkits and components. Several Intel-led open source developer tool projects will continue supporting macOS on Apple Silicon including oneAPI Threading Building Blocks (oneTBB) and Intel® Implicit SPMD Program Compiler and we welcome the opportunity to work with contributors to expand support to additional tools in the future.
Libraries that provide a CMake configuration can be identified by looking in the following locations:
On Linux or macOS:
System:
/usr/local/lib/cmake`
User:
~/lib/cmake`
On Windows:
HKEY_LOCAL_MACHINESoftwareKitwareCMakePackages\`
To use the CMake packages, use the oneAPI libraries as you would other
system libraries. For example, using find_package(tbb)
ensures that
your application’s CMake package is using the oneTBB package.