Fix FindTBB version detection with TBB >= 2021.1.1 - Raised as issue #669 Change-Id: Ic2fcaf31aef5e303d19a9caef7d6c679325f554a
diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake index 5ae7b61..10e540d 100644 --- a/cmake/FindTBB.cmake +++ b/cmake/FindTBB.cmake
@@ -429,10 +429,23 @@ #============================================================================= #parse all the version numbers from tbb if(NOT TBB_VERSION) + set(TBB_VERSION_FILE_PRIOR_TO_TBB_2021_1 + "${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h") + set(TBB_VERSION_FILE_AFTER_TBB_2021_1 + "${TBB_INCLUDE_DIR}/oneapi/tbb/version.h") + + if (EXISTS "${TBB_VERSION_FILE_PRIOR_TO_TBB_2021_1}") + set(TBB_VERSION_FILE "${TBB_VERSION_FILE_PRIOR_TO_TBB_2021_1}") + elseif (EXISTS "${TBB_VERSION_FILE_AFTER_TBB_2021_1}") + set(TBB_VERSION_FILE "${TBB_VERSION_FILE_AFTER_TBB_2021_1}") + else() + message(FATAL_ERROR "Found TBB installation: ${TBB_INCLUDE_DIR} " + "missing version header.") + endif() #only read the start of the file file(STRINGS - "${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h" + "${TBB_VERSION_FILE}" TBB_VERSION_CONTENTS REGEX "VERSION")