if(NBL_BUILD_DPL AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # only non-multi-generators and clang ifsupported get_filename_component(CCBD_ABSOLUTE "${CMAKE_CURRENT_BINARY_DIR}" ABSOLUTE) if (NBL_BUILD_DPL) set(_NBL_BUILD_DPL_ ${NBL_BUILD_DPL}) endif() set(TBB_INSTALL_VARS ON CACHE BOOL "" FORCE) set(TBB_TEST OFF CACHE BOOL "" FORCE) set(TBB_STRICT ON CACHE BOOL "" FORCE) set(PREVIOUS_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE) set(TBB_SANITIZE "" CACHE STRING "" FORCE) add_subdirectory(oneTBB oneTBB EXCLUDE_FROM_ALL) if(PREVIOUS_BUILD_SHARED_LIBS) set(BUILD_SHARED_LIBS ${PREVIOUS_BUILD_SHARED_LIBS} CACHE BOOL "" FORCE) else() unset(BUILD_SHARED_LIBS CACHE) endif() set(ONETBB_BUILD ${CCBD_ABSOLUTE}/oneTBB) set(ONETBB_INSTALL_DIR ${ONETBB_BUILD}/install CACHE STRING "oneTBB install directory" FORCE) add_custom_target(onetbb_build COMMAND ${CMAKE_COMMAND} --install ${ONETBB_BUILD} --component devel -v --config $ --prefix ${ONETBB_INSTALL_DIR} COMMAND ${CMAKE_COMMAND} --install ${ONETBB_BUILD} --component runtime -v --config $ --prefix ${ONETBB_INSTALL_DIR} DEPENDS tbb tbbmalloc tbbmalloc_proxy COMMENT "Building oneTBB..." ) set(ONEDPL_BUILD ${CCBD_ABSOLUTE}/oneDPL/build) set(ONEDPL_INSTALL_DIR ${ONEDPL_BUILD}/install CACHE STRING "oneDPL install directory" FORCE) set(CMAKE_ARGS_ONEDPL -DCMAKE_BUILD_TYPE:STRING=$ -DONETBB_INSTALL_DIR:PATH=${ONETBB_INSTALL_DIR} ) if(ANDROID) list(APPEND CMAKE_ARGS_ONEDPL -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE} -DANDROID_ABI:STRING=${ANDROID_ABI} -DANDROID_PLATFORM:STRING=${ANDROID_PLATFORM} ) endif() ExternalProject_Add(oneDPL SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/oneDPL BINARY_DIR ${ONEDPL_BUILD} CMAKE_ARGS ${CMAKE_ARGS_ONEDPL} BUILD_COMMAND cmake --build ${ONEDPL_BUILD} INSTALL_COMMAND cmake --install ${ONEDPL_BUILD} --prefix ${ONEDPL_INSTALL_DIR} USES_TERMINAL_BUILD 1 COMMENT "Building oneDPL..." ) add_dependencies(oneDPL onetbb_build) endif()