Skip to content

justusc/FindTBB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FindTBB Module

FindTBB is a CMake find package module for Intel® Threading Building Blocks (TBB).

Usage

The signature of the TBB find module in CMake is:

find_package(TBB [major[.minor]] [EXACT] [QUIET] [REQUIRED]
             [COMPONENTS [tbbmalloc] [tbbmalloc_proxy] [tbb_preview]]
             [OPTIONAL_COMPONENTS [tbbmalloc] [tbbmalloc_proxy] [tbb_preview]]) 

where the allowed components are tbbmalloc and tbb_preview.

Example Project

With CMake 3.0 and later

cmake_minimum_required(VERSION 3.0)
project(MyProject)

list(APPEND CMAKE_MODULE_PATH "<path to FindTBB module>")

find_package(TBB COMPONENTS tbbmalloc tbbmalloc_proxy tbb_preview)

add_executable(myapp myapp.cc)
target_link_libraries(myapp tbb)

With CMake 2.8 and earlier

cmake_minimum_required(VERSION 2.8)
project(MyProject)

list(APPEND CMAKE_MODULE_PATH "<path to FindTBB module>")

find_package(TBB COMPONENTS tbbmalloc tbbmalloc_proxy tbb_preview)

add_executable(myapp myapp)
target_include_directories(myapp PRIVATE ${TBB_INCLUDE_DIRS})
target_compile_definitions(myapp PRIVATE ${TBB_DEFINITIONS})
target_link_libraries(myapp ${TBB_LIBRARIES})

User Variables

The following varibiles may be used by the user to specify the install, include, and/or library directories of TBB.

  • TBB_ROOT_DIR - The base directory the of TBB installation.
  • TBB_INCLUDE_DIR - The directory that contains the TBB headers files.
  • TBB_LIBRARY - The directory that contains the TBB library files.
  • TBB_<library>_LIBRARY - The path of the corresponding TBB library. These libraries, if specified, override the corresponding library search results, where may be tbb, tbb_debug, tbbmalloc, tbbmalloc_debug, tbb_preview, or tbb_preview_debug.
  • TBB_USE_DEBUG_BUILD - The debug version of tbb libraries, if present, will be used instead of the release version.

In addition, FindTBB uses the following environment variables to find the TBB install directory.

  • TBB_INSTALL_DIR
  • TBBROOT
  • LIBRARY_PATH

FindTBB Results

This module will set the following variables:

  • TBB_FOUND - Set to false, or undefined, if we haven’t found, or don’t want to use TBB.
  • TBB_<component>_FOUND - If False, optional part of TBB sytem is not available.
  • TBB_VERSION - The full version string
  • TBB_VERSION_MAJOR - The major version
  • TBB_VERSION_MINOR - The minor version
  • TBB_INTERFACE_VERSION - The interface version number defined in tbb/tbb_stddef.h.
  • TBB_<library>_LIBRARY_RELEASE - The path of the TBB release version of , where may be tbb, tbb_debug, tbbmalloc, tbbmalloc_proxy, or tbb_preview.
  • TBB_<library>_LIBRARY_DEGUG - The path of the TBB release version of , where may be tbb_debug, tbbmalloc_debug, tbbmalloc_proxy_debug, or tbb_preview_debug.

Output Variables

The following varibles should be used to link executables and libraries with TBB:

  • TBB_INCLUDE_DIRS - The include directory for TBB.
  • TBB_LIBRARIES - The libraries to link against to use TBB.
  • TBB_LIBRARIES_RELEASE - The release libraries to link against to use TBB.
  • TBB_LIBRARIES_DEBUG - The debug libraries to link against to use TBB.
  • TBB_DEFINITIONS - Definitions to use when compiling code that uses TBB.
  • TBB_DEFINITIONS_RELEASE - Definitions to use when compiling release code that uses TBB.
  • TBB_DEFINITIONS_DEBUG - Definitions to use when compiling debug code that uses TBB.

About

CMake find module for Intel Threading Building Blocks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published