-#===-- FindTBB.cmake -----------------------------------------------------===##
-#
-# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-#===----------------------------------------------------------------------===##
-
-include(FindPackageHandleStandardArgs)
-
-if (NOT TBB_FIND_COMPONENTS)
- set(TBB_FIND_COMPONENTS tbb tbbmalloc)
- foreach (_tbb_component ${TBB_FIND_COMPONENTS})
- set(TBB_FIND_REQUIRED_${_tbb_component} 1)
- endforeach()
-endif()
-
-find_path(_tbb_include_dir tbb/tbb.h)
-if (_tbb_include_dir)
- file(READ "${_tbb_include_dir}/tbb/tbb_stddef.h" _tbb_stddef LIMIT 2048)
- string(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _tbb_ver_major "${_tbb_stddef}")
- string(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _tbb_ver_minor "${_tbb_stddef}")
- string(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${_tbb_stddef}")
-
- set(TBB_VERSION "${_tbb_ver_major}.${_tbb_ver_minor}")
-
- unset(_tbb_stddef)
- unset(_tbb_ver_major)
- unset(_tbb_ver_minor)
-
- foreach (_tbb_component ${TBB_FIND_COMPONENTS})
- find_library(_tbb_release_lib ${_tbb_component})
- if (_tbb_release_lib)
- set(TBB_${_tbb_component}_FOUND 1)
-
- add_library(TBB::${_tbb_component} SHARED IMPORTED)
- list(APPEND TBB_IMPORTED_TARGETS TBB::${_tbb_component})
-
- set(_tbb_lib_suffix)
- if (UNIX AND NOT APPLE)
- set(_tbb_lib_suffix ".2")
- endif()
-
- set_target_properties(TBB::${_tbb_component} PROPERTIES
- IMPORTED_CONFIGURATIONS "RELEASE"
- IMPORTED_LOCATION_RELEASE "${_tbb_release_lib}${_tbb_lib_suffix}"
- INTERFACE_INCLUDE_DIRECTORIES "${_tbb_include_dir}")
-
- find_library(_tbb_debug_lib ${_tbb_component}_debug)
- if (_tbb_debug_lib)
- set_target_properties(TBB::${_tbb_component} PROPERTIES
- IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
- IMPORTED_LOCATION_DEBUG "${_tbb_debug_lib}${_tbb_lib_suffix}")
- endif()
- unset(_tbb_debug_lib CACHE)
- unset(_tbb_lib_suffix)
- endif()
- unset(_tbb_release_lib CACHE)
- endforeach()
-endif()
-unset(_tbb_include_dir CACHE)
-
-find_package_handle_standard_args(TBB
- REQUIRED_VARS TBB_IMPORTED_TARGETS
- HANDLE_COMPONENTS
- VERSION_VAR TBB_VERSION)