aboutsummaryrefslogtreecommitdiff
path: root/c/dependencies/tbb/CMakeLists.txt
blob: 0f51395c0898f20e3ddb0509a492fac717b9ad3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
if(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  message(FATAL_ERROR "BLAKE3_USE_TBB requires building with Clang or MSVC on Windows")
  set(BLAKE3_USE_TBB OFF)
endif()

find_package(TBB 2021.11.0 QUIET)

if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.11)
  include(FetchContent)

  if(NOT TBB_FOUND AND BLAKE3_FETCH_TBB)
    set(CMAKE_C_STANDARD 99)
    set(CMAKE_C_EXTENSIONS OFF)

    set(CMAKE_CXX_STANDARD 20)
    set(CMAKE_CXX_EXTENSIONS ON)

    option(TBB_TEST OFF "")
    option(TBBMALLOC_BUILD OFF "")

    mark_as_advanced(TBB_TEST)
    mark_as_advanced(TBBMALLOC_BUILD)

    FetchContent_Declare(
      TBB
      GIT_REPOSITORY https://github.com/uxlfoundation/oneTBB
      GIT_TAG 0c0ff192a2304e114bc9e6557582dfba101360ff # v2022.0.0
      GIT_SHALLOW TRUE
    )

    FetchContent_MakeAvailable(TBB)
  endif()
endif()