5 # Find Intel's Threading Building Blocks (TBB) include path and libraries. 7 # This module reads hints about search locations from variables: 11 # TBB_ROOT - Root directory of pre-built TBB package. 12 # Can be an environment variable instead. It is 13 # derived from the found TBB_INCLUDE_DIR if unset. 14 # TBB_ARCH_PLATFORM - Environment variable which can be used to specify 15 # architecture and platform specific library path 16 # suffix (excluding "/lib/" suffix or prefix). 17 # For MSVC, the appropriate link library path of the 18 # official pre-built download package from the TBB 19 # web site is chosen by this module. The path suffix 20 # derived from this variable takes precedence. 22 # This module considers the following CMake variables set by find_package: 26 # TBB_FIND_COMPONENTS - Case-insensitive names of requested libraries: 27 # tbb, [tbb]malloc, [tbb]malloc_proxy 28 # TBB_FIND_REQUIRED_<C> - Whether TBB library component <C> is required. 29 # TBB is considered to be not found when at least 30 # one required library or its include path is missing. 31 # When no TBB_FIND_COMPONENTS are specified, only the 32 # threading library "tbb" is required. 33 # TBB_FIND_REQUIRED - Raise FATAL_ERROR when required components not found. 34 # TBB_FIND_QUIETLY - Suppress all other (status) messages. 36 # The TBB_DEBUG variable can be set to TRUE before find_package(TBB) to 37 # enable verbose output which helps to debug the processing of this module: 44 # This module defines the following variables: 48 # TBB_FOUND - Whether TBB libraries were found. 49 # TBB_INCLUDE_DIR - TBB library include path where tbb/tbb_stddef.h is located. 50 # Used as HINTS for find_path of TBB_<C>_INCLUDE_DIR. 51 # TBB_INCLUDE_DIRS - Include paths of found TBB libraries. 52 # TBB_LIBRARIES - File paths of found TBB libraries. 53 # TBB_VERSION - Version for use in VERSION_LESS et al. comparisons. 54 # TBB_VERSION_MAJOR - Major library version number. 55 # TBB_VERSION_MINOR - Minor library version number. 56 # TBB_VERSION_STRING - Version string for output messages. 57 # TBB_INTERFACE_VERSION - API version number. 58 # TBB_COMPATIBLE_INTERFACE_VERSION - The oldest major version still supported. 60 # Additionally, for each requested component, this module defines the following variables: 64 # TBB_TBB_FOUND - Whether TBB threading library was found. 65 # TBB_TBB_INCLUDE_DIR - Include path of TBB threading library. 66 # TBB_TBB_INCLUDE_DIRS - Include paths for use of TBB library. 67 # TBB_TBB_LIBRARIES - TBB threading library and transitive link dependencies. 68 # TBB_TBB_LIBRARY_RELEASE - File path of optimized TBB link library. 69 # TBB_TBB_LIBRARY_DEBUG - File path of TBB link library with debug symbols. 70 # TBB_TBB_LIBRARY - File paths of both "optimized" and "debug" TBB threading link libraries. 71 # When only one of these is found, this variable is set to either 72 # TBB_TBB_LIBRARY_RELEASE or TBB_TBB_LIBRARY_DEBUG. 74 # TBB_MALLOC_FOUND - Whether TBB malloc library was found. 75 # TBB_MALLOC_INCLUDE_DIR - Include path of TBB malloc library. 76 # TBB_MALLOC_INCLUDE_DIRS - Include paths for use of TBB malloc library. 77 # TBB_MALLOC_LIBRARIES - TBB malloc library and transitive link dependencies. 78 # TBB_MALLOC_LIBRARY_RELEASE - File path of optimized TBB malloc link library. 79 # TBB_MALLOC_LIBRARY_DEBUG - File path of TBB malloc link library with debug symbols. 80 # TBB_MALLOC_LIBRARY - File paths of both "optimized" and "debug" TBB malloc link libraries. 81 # When only one of these is found, this variable is set to either 82 # TBB_MALLOC_LIBRARY_RELEASE or TBB_MALLOC_LIBRARY_DEBUG. 84 # TBB_MALLOC_PROXY_FOUND - Whether TBB malloc proxy library was found. 85 # TBB_MALLOC_PROXY_INCLUDE_DIR - Include path of TBB malloc proxy library. 86 # TBB_MALLOC_PROXY_INCLUDE_DIRS - Include paths for use of TBB malloc proxy library. 87 # TBB_MALLOC_PROXY_LIBRARIES - TBB malloc proxy library and transitive link dependencies. 88 # TBB_MALLOC_PROXY_LIBRARY_RELEASE - File path of optimized TBB malloc proxy link library. 89 # TBB_MALLOC_PROXY_LIBRARY_DEBUG - File path of TBB malloc proxy link library with debug symbols. 90 # TBB_MALLOC_PROXY_LIBRARY - File paths of both "optimized" and "debug" TBB malloc proxy link libraries. 91 # When only one of these is found, this variable is set to either 92 # TBB_MALLOC_PROXY_LIBRARY_RELEASE or TBB_MALLOC_PROXY_LIBRARY_DEBUG. 94 # of these, the following variables are added as advanced cache entries: 100 # TBB_<C>_LIBRARY_RELEASE 101 # TBB_<C>_LIBRARY_DEBUG 103 # This module further defines the following import targets with the IMPORTED and INTERFACE 104 # properties set appropriately such that only a target_link_libraries command is required 105 # to declare the dependency of another target on the respective TBB library component. 106 # The use of these import targets instead of above defined variables is recommended. 110 # TBB::tbb - TBB threading library. 111 # TBB::malloc - TBB malloc library. 112 # TBB::malloc_proxy - TBB malloc proxy library. 118 # find_package(TBB REQUIRED COMPONENTS tbb OPTIONAL_COMPONENTS malloc) 120 # add_executable(foo foo.cc) 121 # target_link_libraries(foo TBB::tbb) 122 # if (TARGET TBB::malloc) 123 # # or if (TBB_MALLOC_FOUND) 124 # target_link_libraries(foo TBB::malloc) 127 # This module was written by Andreas Schuh for CMake BASIS with inspiration 128 # from the FindTBB module which was originally part of the Object-oriented 129 # Graphics Rendering Engine (OGRE) project with modifications by Robert Maynard. 131 #============================================================================= 132 # Copyright 2016 Andreas Schuh <andreas.schuh.84@gmail.com> 134 # Distributed under the OSI-approved BSD License (the "License"); 135 # see accompanying file Copyright.txt for details. 137 # This software is distributed WITHOUT ANY WARRANTY; without even the 138 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 139 # See the License for more information. 140 #============================================================================= 141 # (To distribute this file outside of CMake, substitute the full 142 # License text for the above reference.) 144 if (NOT TBB_FIND_QUIETLY)
149 if (NOT TBB_FIND_REQUIRED)
152 message(STATUS
"${_TBB_FIND_STATUS}...")
155 # ------------------------------------------------------------------------------ 156 # Default required/optional components 158 set(TBB_FIND_COMPONENTS tbb malloc malloc_proxy)
164 # ------------------------------------------------------------------------------ 165 # Normalize component names 166 set(_TBB_FIND_COMPONENTS)
167 foreach (__TBB_COMPONENT IN LISTS TBB_FIND_COMPONENTS)
168 string(TOUPPER
"${__TBB_COMPONENT}" _TBB_COMPONENT)
169 string(REGEX REPLACE
"^TBB_?([A-Z_]+)$" "\\1" _TBB_COMPONENT
"${_TBB_COMPONENT}")
170 if (_TBB_COMPONENT MATCHES
"^(TBB|MALLOC|MALLOC_PROXY)$")
171 set(_TBB_${_TBB_COMPONENT}_NAME ${__TBB_COMPONENT})
172 list(APPEND _TBB_FIND_COMPONENTS ${_TBB_COMPONENT})
173 if (TBB_FIND_REQUIRED_${__TBB_COMPONENT})
174 set(_TBB_FIND_REQUIRED_${_TBB_COMPONENT} TRUE)
176 set(_TBB_FIND_REQUIRED_${_TBB_COMPONENT} FALSE)
179 message(FATAL_ERROR
"Unknown TBB library component: ${__TBB_COMPONENT}\n" 180 "Valid component names are: tbb, [tbb]malloc, [tbb]malloc_proxy")
183 unset(__TBB_COMPONENT)
186 message(
"** FindTBB: Components = [${_TBB_FIND_COMPONENTS}]")
189 # ------------------------------------------------------------------------------ 190 # Names of headers and libraries for each component 203 # ------------------------------------------------------------------------------
204 # Transitive link dependencies
205 set(_TBB_TBB_LIB_LINK_DEPENDS)
206 set(_TBB_MALLOC_LIB_LINK_DEPENDS)
207 set(_TBB_MALLOC_PROXY_LIB_LINK_DEPENDS)
209 if (
UNIX AND NOT APPLE)
210 # On Linux, the TBB threading library requires librt.so 211 list(APPEND _TBB_TBB_LIB_LINK_DEPENDS rt)
214 # ------------------------------------------------------------------------------ 215 # Construct a set of search paths 219 file(TO_CMAKE_PATH
"$ENV{TBB_ROOT}" TBB_ROOT)
224 set(_TBB_LIB_PATH_SUFFIXES)
229 list(APPEND _TBB_LIB_PATH_SUFFIXES lib)
231 if (WIN32 AND MSVC AND CMAKE_GENERATOR MATCHES
"Visual Studio ([0-9]+)")
246 message(
"** FindTBB: Initial search paths:")
247 message(
"** FindTBB: - Root directory hints = [${TBB_ROOT}]")
248 message(
"** FindTBB: - Include path suffixes = [${_TBB_INC_PATH_SUFFIXES}]")
249 message(
"** FindTBB: - Library path suffixes = [${_TBB_LIB_PATH_SUFFIXES}]")
252 # ------------------------------------------------------------------------------ 253 # Find common include directory 255 # Looking for tbb/tbb_stddef.h because we use this path later to read this file 256 # in order to extract the version information. The tbb.h header should be in the 257 # same directory and is searched for separately as part of the "tbb" and "malloc" 258 # component search. The TBB_INCLUDE_DIR is then used as HINTS. 259 find_path(TBB_INCLUDE_DIR
260 NAMES tbb/tbb_stddef.h
262 PATH_SUFFIXES ${_TBB_INC_PATH_SUFFIXES}
265 mark_as_advanced(TBB_INCLUDE_DIR)
267 # ------------------------------------------------------------------------------ 268 # Derive TBB_ROOT from TBB_INCLUDE_DIR if unset 269 if (TBB_INCLUDE_DIR AND NOT
TBB_ROOT)
271 string(LENGTH
"${TBB_INCLUDE_DIR}" _TBB_INCLUDE_DIR_LENGTH)
273 string(LENGTH
"${_TBB_INC_PATH_SUFFIX}" _TBB_INC_PATH_SUFFIX_LENGTH)
274 if (_TBB_INC_PATH_SUFFIX_LENGTH GREATER 0)
275 math(EXPR _TBB_SUBSTRING_START
"${_TBB_INCLUDE_DIR_LENGTH} - ${_TBB_INC_PATH_SUFFIX_LENGTH}")
276 string(SUBSTRING
"${TBB_INCLUDE_DIR}" _TBB_SUBSTRING_START -1 _TBB_SUBSTRING)
277 if (_TBB_SUBSTRING STREQUAL _TBB_INC_PATH_SUFFIX)
278 if (_TBB_SUBSTRING_START GREATER 0)
279 string(SUBSTRING
"${TBB_INCLUDE_DIR}" 0 _TBB_SUBSTRING_START TBB_ROOT)
280 string(REGEX REPLACE
"/+$" "" TBB_ROOT
"${TBB_ROOT}")
288 unset(_TBB_SUBSTRING)
289 unset(_TBB_SUBSTRING_START)
290 unset(_TBB_INCLUDE_DIR_LENGTH)
291 unset(_TBB_INC_PATH_SUFFIX_LENGTH)
298 message("** FindTBB: After initial search of TBB include path
") 299 message("** FindTBB: - TBB_INCLUDE_DIR = ${TBB_INCLUDE_DIR}
") 300 message("** FindTBB: - TBB_ROOT = [${TBB_ROOT}]
") 303 # ------------------------------------------------------------------------------ 304 # Find library components 305 set(TBB_INCLUDE_DIRS) 308 foreach (_TBB_COMPONENT IN LISTS _TBB_FIND_COMPONENTS) 310 message("** FindTBB: Looking
for component ${_TBB_COMPONENT}...
") 313 # Find include path and library files of this component 314 find_path(TBB_${_TBB_COMPONENT}_INCLUDE_DIR 315 NAMES ${_TBB_${_TBB_COMPONENT}_INC_NAMES} 316 HINTS ${TBB_INCLUDE_DIR} ${TBB_ROOT} 317 PATH_SUFFIXES ${_TBB_INC_PATH_SUFFIXES} 320 find_library(TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE 321 NAMES ${_TBB_${_TBB_COMPONENT}_LIB_NAMES_RELEASE} 323 PATH_SUFFIXES ${_TBB_LIB_PATH_SUFFIXES} 326 find_library(TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG 327 NAMES ${_TBB_${_TBB_COMPONENT}_LIB_NAMES_DEBUG} 329 PATH_SUFFIXES ${_TBB_LIB_PATH_SUFFIXES} 333 message("** FindTBB: - TBB_${_TBB_COMPONENT}_INCLUDE_DIR = ${TBB_${_TBB_COMPONENT}_INCLUDE_DIR}
") 334 message("** FindTBB: - TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE = ${TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE}
") 335 message("** FindTBB: - TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG = ${TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG}
") 338 # Mark cache entries as advanced 339 mark_as_advanced(TBB_${_TBB_COMPONENT}_INCLUDE_DIR) 340 mark_as_advanced(TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE) 341 mark_as_advanced(TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG) 343 # Set TBB_<C>_LIBRARY 344 if (TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE AND TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG) 345 set(TBB_${_TBB_COMPONENT}_LIBRARY 346 optimized ${TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE} 347 debug ${TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG} 349 elseif (TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE) 350 set(TBB_${_TBB_COMPONENT}_LIBRARY ${TBB_${_TBB_COMPONENT}_LIBRARY_RELEASE}) 351 elseif (TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG) 352 set(TBB_${_TBB_COMPONENT}_LIBRARY ${TBB_${_TBB_COMPONENT}_LIBRARY_DEBUG}) 354 set(TBB_${_TBB_COMPONENT}_LIBRARY TBB_${_TBB_COMPONENT}_LIBRARY-NOTFOUND) 358 if (TBB_${_TBB_COMPONENT}_INCLUDE_DIR AND TBB_${_TBB_COMPONENT}_LIBRARY) 359 set(TBB_${_TBB_COMPONENT}_FOUND TRUE) 361 set(TBB_${_TBB_COMPONENT}_FOUND FALSE) 363 set(TBB_${_TBB_${_TBB_COMPONENT}_NAME}_FOUND ${TBB_${_TBB_COMPONENT}_FOUND}) 365 if (TBB_${_TBB_COMPONENT}_FOUND) 367 # Add transitive dependencies 368 set(TBB_${_TBB_COMPONENT}_INCLUDE_DIRS ${TBB_${_TBB_COMPONENT}_INCLUDE_DIR}) 369 set(TBB_${_TBB_COMPONENT}_LIBRARIES ${TBB_${_TBB_COMPONENT}_LIBRARY}) 370 if (_TBB_${_TBB_COMPONENT}_LIB_LINK_DEPENDS) 371 list(APPEND TBB_${_TBB_COMPONENT}_LIBRARIES "${_TBB_${_TBB_COMPONENT}_LIB_LINK_DEPENDS}
") 375 message("** FindTBB: - TBB_${_TBB_COMPONENT}_INCLUDE_DIRS = [${TBB_${_TBB_COMPONENT}_INCLUDE_DIRS}]
") 376 message("** FindTBB: - TBB_${_TBB_COMPONENT}_LIBRARIES = [${TBB_${_TBB_COMPONENT}_LIBRARIES}]
") 379 # Add to TBB_INCLUDE_DIRS and TBB_LIBRARIES 380 list(APPEND TBB_INCLUDE_DIRS ${TBB_${_TBB_COMPONENT}_INCLUDE_DIRS}) 381 list(APPEND TBB_LIBRARIES ${TBB_${_TBB_COMPONENT}_LIBRARIES}) 383 # Add TBB::<C> import target 384 string(TOLOWER ${_TBB_COMPONENT} _TBB_TARGET_NAME) 386 add_library(${_TBB_TARGET_NAME} SHARED IMPORTED) 388 set_target_properties(${_TBB_TARGET_NAME} PROPERTIES 389 INTERFACE_INCLUDE_DIRECTORIES "${TBB_${_TBB_COMPONENT}_INCLUDE_DIRS}
" 390 IMPORTED_LINK_INTERFACE_LANGUAGES CXX 391 IMPORTED_NO_SONAME TRUE 393 if (_TBB_${_TBB_COMPONENT}_LIB_LINK_DEPENDS) 394 set_target_properties(${_TBB_TARGET_NAME} PROPERTIES 395 INTERFACE_LINK_LIBRARIES "${_TBB_${_TBB_COMPONENT}_LIB_LINK_DEPENDS}
" 399 foreach (_TBB_CONFIGURATION IN ITEMS DEBUG RELEASE) 400 if (TBB_${_TBB_COMPONENT}_LIBRARY_${_TBB_CONFIGURATION}) 401 set_property(TARGET ${_TBB_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${_TBB_CONFIGURATION}) 403 set_target_properties(${_TBB_TARGET_NAME} PROPERTIES 404 IMPORTED_IMPLIB_${_TBB_CONFIGURATION} "${TBB_${_TBB_COMPONENT}_LIBRARY_${_TBB_CONFIGURATION}}
" 406 string(REPLACE "/lib/
" "/bin/
" _TBB_LIB_PATH_DLL "${TBB_${_TBB_COMPONENT}_LIBRARY_${_TBB_CONFIGURATION}}
") 407 string(REGEX REPLACE "\\.lib$
" ".dll
" _TBB_LIB_PATH_DLL "${_TBB_LIB_PATH_DLL}
") 408 if (EXISTS "${_TBB_LIB_PATH_DLL}
") 409 set_target_properties(${_TBB_TARGET_NAME} PROPERTIES 410 IMPORTED_LOCATION_${_TBB_CONFIGURATION} "${_TBB_LIB_PATH_DLL}
" 413 message("** FindTBB: - IMPORTED_LOCATION_${_TBB_CONFIGURATION} = ${_TBB_LIB_PATH_DLL}
") 416 message("** FindTBB: Could not determine ${_TBB_CONFIGURATION} DLL path from
import library, tried:
" 417 "\n\t${_TBB_LIB_PATH_DLL}
") 420 set_target_properties(${_TBB_TARGET_NAME} PROPERTIES 421 IMPORTED_LOCATION_${_TBB_CONFIGURATION} "${TBB_${_TBB_COMPONENT}_LIBRARY_${_TBB_CONFIGURATION}}
" 428 message("** FindTBB: Looking
for component ${_TBB_COMPONENT}... - found
") 434 message("** FindTBB: Looking
for component ${_TBB_COMPONENT}... - not found
") 436 unset(TBB_${_TBB_COMPONENT}_INCLUDE_DIRS) 437 unset(TBB_${_TBB_COMPONENT}_LIBRARIES) 442 if (TBB_INCLUDE_DIRS) 443 list(REMOVE_DUPLICATES TBB_INCLUDE_DIRS) 447 message("** FindTBB: Include paths and libraries of all found components:
") 448 message("** FindTBB: - TBB_INCLUDE_DIRS = [${TBB_INCLUDE_DIRS}]
") 449 message("** FindTBB: - TBB_LIBRARIES = [${TBB_LIBRARIES}]
") 452 # ------------------------------------------------------------------------------ 453 # Extract library version from start of tbb_stddef.h 455 if (NOT DEFINED TBB_VERSION_MAJOR OR 456 NOT DEFINED TBB_VERSION_MINOR OR 457 NOT DEFINED TBB_INTERFACE_VERSION OR 458 NOT DEFINED TBB_COMPATIBLE_INTERFACE_VERSION) 459 file(READ "${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h
" _TBB_VERSION_CONTENTS LIMIT 2048) 461 ".*#define TBB_VERSION_MAJOR ([0-9]+).*
" "\\1
" 462 TBB_VERSION_MAJOR "${_TBB_VERSION_CONTENTS}
" 465 ".*#define TBB_VERSION_MINOR ([0-9]+).*
" "\\1
" 466 TBB_VERSION_MINOR "${_TBB_VERSION_CONTENTS}
" 469 ".*#define TBB_INTERFACE_VERSION ([0-9]+).*
" "\\1
" 470 TBB_INTERFACE_VERSION "${_TBB_VERSION_CONTENTS}
" 473 ".*#define TBB_COMPATIBLE_INTERFACE_VERSION ([0-9]+).*
" "\\1
" 474 TBB_COMPATIBLE_INTERFACE_VERSION "${_TBB_VERSION_CONTENTS}
" 476 unset(_TBB_VERSION_CONTENTS) 478 set(TBB_VERSION "${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR}
") 482 unset(TBB_VERSION_MAJOR) 483 unset(TBB_VERSION_MINOR) 484 unset(TBB_VERSION_STRING) 485 unset(TBB_INTERFACE_VERSION) 486 unset(TBB_COMPATIBLE_INTERFACE_VERSION) 490 message("** FindTBB: Version information from ${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h
") 492 message("** FindTBB: - TBB_VERSION_MAJOR = ${TBB_VERSION_MAJOR}
") 493 message("** FindTBB: - TBB_VERSION_MINOR = ${TBB_VERSION_MINOR}
") 494 message("** FindTBB: - TBB_INTERFACE_VERSION = ${TBB_INTERFACE_VERSION}
") 495 message("** FindTBB: - TBB_COMPATIBLE_INTERFACE_VERSION = ${TBB_COMPATIBLE_INTERFACE_VERSION}
") 498 # ------------------------------------------------------------------------------ 499 # Handle QUIET, REQUIRED, and [EXACT] VERSION arguments and set TBB_FOUND 500 include(FindPackageHandleStandardArgs) 501 find_package_handle_standard_args(TBB 502 REQUIRED_VARS TBB_INCLUDE_DIR 503 VERSION_VAR TBB_VERSION 507 if (NOT TBB_FIND_QUIETLY) 515 # ------------------------------------------------------------------------------ 516 # Unset local auxiliary variables 517 foreach (_TBB_COMPONENT IN ITEMS TBB MALLOC MALLOC_PROXY) 518 unset(_TBB_FIND_REQUIRED_${_TBB_COMPONENT}) 519 unset(_TBB_${_TBB_COMPONENT}_LIB_NAMES_RELEASE) 520 unset(_TBB_${_TBB_COMPONENT}_LIB_NAMES_DEBUG) 521 unset(_TBB_${_TBB_COMPONENT}_LIB_LINK_DEPENDS) 522 unset(_TBB_${_TBB_COMPONENT}_INC_NAMES) 523 unset(_TBB_${_TBB_COMPONENT}_NAME) 526 unset(_TBB_COMPONENT) 527 unset(_TBB_TARGET_NAME) 528 unset(_TBB_FIND_COMPONENTS) 529 unset(_TBB_FIND_STATUS) 530 unset(_TBB_INC_PATH_SUFFIXES) 531 unset(_TBB_LIB_PATH_SUFFIXES) 532 unset(_TBB_LIB_PATH_DLL) 534 unset(_TBB_ARCH_PLATFORM) cmake TBB_FIND_REQUIRED_malloc
cmake _TBB_MALLOC_LIB_NAMES_RELEASE
cmake _TBB_INC_PATH_SUFFIXES
cmake _TBB_MALLOC_PROXY_INC_NAMES
cmake _TBB_MALLOC_PROXY_LIB_NAMES_RELEASE
cmake _TBB_MALLOC_INC_NAMES
cmake _TBB_TBB_LIB_NAMES_RELEASE
cmake _TBB_TBB_LIB_NAMES_DEBUG
#define UNIX
Whether the sources are compiled on a Unix-based system.
cmake TBB_FIND_REQUIRED_malloc_proxy
cmake _TBB_MALLOC_PROXY_LIB_NAMES_DEBUG
cmake TBB_FIND_COMPONENTS
cmake _TBB_MALLOC_LIB_NAMES_DEBUG
cmake TBB_FIND_REQUIRED_tbb
function get_filename_component(inout ARGN)
Fixes CMake's get_filename_component() command.