From 1808099495fa3b7c9562124232550a05577e920d Mon Sep 17 00:00:00 2001 From: acrovato <a.crovato@uliege.be> Date: Wed, 27 Apr 2022 14:15:00 +0200 Subject: [PATCH] Fix find TBB version for older TBB --- CMake/FindTBB.cmake | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/CMake/FindTBB.cmake b/CMake/FindTBB.cmake index 4ad0090..351f7f7 100644 --- a/CMake/FindTBB.cmake +++ b/CMake/FindTBB.cmake @@ -78,7 +78,7 @@ SET(TBB_CXX_FLAGS_DEBUG "-DTBB_USE_THREADING_TOOLS=1 -DTBB_USE_DEBUG=1") # --- List of libraries to be found --- -IF(DEFINED ENV{ONEAPI_ROOT}) +IF(DEFINED ENV{ONEAPI_ROOT} AND MSVC) set(_TBB_TBBLIB_NAME "tbb12") ELSE() set(_TBB_TBBLIB_NAME "tbb") @@ -245,27 +245,28 @@ unset(_TBB_INCLUDE_DIRS CACHE) # Versions # ---------------------------------------------------------------------------- -# Find file containing version info +# Find file containing version info and read the version IF(EXISTS "${TBB_INCLUDE_DIRS}/tbb/tbb_stddef.h") FILE(READ "${TBB_INCLUDE_DIRS}/tbb/tbb_stddef.h" _FILE) # older TBB + STRING(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _TBB_VERSION_MAJOR "${_FILE}") + STRING(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _TBB_VERSION_MINOR "${_FILE}") + SET(TBB_VERSION ${_TBB_VERSION_MAJOR}.${_TBB_VERSION_MINOR}) ELSEIF(EXISTS "${TBB_INCLUDE_DIRS}/oneapi/tbb/version.h") FILE(READ "${TBB_INCLUDE_DIRS}/oneapi/tbb/version.h" _FILE) # newer oneTBB + STRING(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _TBB_VERSION_MAJOR "${_FILE}") + STRING(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _TBB_VERSION_MINOR "${_FILE}") + STRING(REGEX REPLACE ".*#define TBB_VERSION_PATCH ([0-9]+).*" "\\1" _TBB_VERSION_PATCH "${_FILE}") + SET(TBB_VERSION ${_TBB_VERSION_MAJOR}.${_TBB_VERSION_MINOR}.${_TBB_VERSION_PATCH}) ELSE() MESSAGE(STATUS "TBB_LIBRARIES: ${TBB_LIBRARIES}") MESSAGE(STATUS "TBB_INCLUDE_DIRS: ${TBB_INCLUDE_DIRS}") MESSAGE(FATAL_ERROR "Cannot find version file in ${TBB_INCLUDE_DIRS}/tbb.") ENDIF() -# If file has been found, read the version -IF (DEFINED _FILE) - STRING(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" _TBB_VERSION_INTERFACE "${_FILE}") - STRING(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _TBB_VERSION_MAJOR "${_FILE}") - STRING(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _TBB_VERSION_MINOR "${_FILE}") - STRING(REGEX REPLACE ".*#define TBB_VERSION_PATCH ([0-9]+).*" "\\1" _TBB_VERSION_PATCH "${_FILE}") - SET(TBB_INTERFACE_VERSION ${_TBB_INTERFACE_VERSION}) - SET(TBB_VERSION ${_TBB_VERSION_MAJOR}.${_TBB_VERSION_MINOR}.${_TBB_VERSION_PATCH}) - IF (_VERB) - MESSAGE(STATUS "TBB version: ${TBB_VERSION} (${TBB_INTERFACE_VERSION})") - ENDIF() +# If file has been found, also read the interface version +STRING(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" _TBB_VERSION_INTERFACE "${_FILE}") +SET(TBB_INTERFACE_VERSION ${_TBB_VERSION_INTERFACE}) +IF (_VERB) + MESSAGE(STATUS "TBB version: ${TBB_VERSION} (${TBB_INTERFACE_VERSION})") ENDIF() # ---------------------------------------------------------------------------- -- GitLab