diff --git a/tbb-2021.1.1-cmake_policy-CMP0074.patch b/tbb-2021.1.1-cmake_policy-CMP0074.patch new file mode 100644 index 00000000000..a67d12f5deb --- /dev/null +++ b/tbb-2021.1.1-cmake_policy-CMP0074.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f71eff1..d2370ee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,10 @@ elseif (DEFINED CMAKE_MSVC_RUNTIME_LIBRARY) + message(FATAL_ERROR "CMAKE_MSVC_RUNTIME_LIBRARY was defined while policy CMP0091 is not available. Use CMake 3.15 or newer.") + endif() + ++if (POLICY CMP0074) ++ cmake_policy(SET CMP0074 NEW) ++endif() ++ + if (TBB_WINDOWS_DRIVER AND (NOT ("${CMAKE_MSVC_RUNTIME_LIBRARY}" STREQUAL MultiThreaded OR "${CMAKE_MSVC_RUNTIME_LIBRARY}" STREQUAL MultiThreadedDebug))) + message(FATAL_ERROR "Enabled TBB_WINDOWS_DRIVER requires CMAKE_MSVC_RUNTIME_LIBRARY to be set to MultiThreaded or MultiThreadedDebug.") + endif() diff --git a/tbb-toolfile.spec b/tbb-toolfile.spec index e83d35166e3..b99e4a14cf7 100644 --- a/tbb-toolfile.spec +++ b/tbb-toolfile.spec @@ -1,4 +1,4 @@ -### RPM external tbb-toolfile 1.0 +### RPM external tbb-toolfile 2.0 Requires: tbb %prep @@ -13,8 +13,8 @@ cat << \EOF_TOOLFILE >%i/etc/scram.d/tbb.xml - - + + @@ -24,6 +24,20 @@ cat << \EOF_TOOLFILE >%i/etc/scram.d/tbb.xml EOF_TOOLFILE +cat << \EOF_TOOLFILE >%i/etc/scram.d/tbbbind.xml + + + + + + + + + + + +EOF_TOOLFILE + export GCC_GLIBCXX_VERSION=$(gcc -dumpversion | tr '.' '0') ## IMPORT scram-tools-post diff --git a/tbb.spec b/tbb.spec index e47431d6267..3520288c284 100644 --- a/tbb.spec +++ b/tbb.spec @@ -1,24 +1,34 @@ -### RPM external tbb 2020_U3 +### RPM external tbb v2021.1.1 -%define tag %{realversion} -%define branch tbb_2020 +%define tag %{realversion} +%define branch onetbb_2021 %define github_user oneapi-src -Source: git+https://github.com/%{github_user}/oneTBB.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz +%define github_repo oneTBB +Source: git+https://github.com/%{github_user}/%{github_repo}.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{branch}-%{tag}.tgz +# Patch tbb v2021.1.1 CMake file to support $HWLOC_ROOT +# not needed in the tbb master branch +Patch: tbb-2021.1.1-cmake_policy-CMP0074 +Requires: hwloc BuildRequires: cmake %prep %setup -n %{n}-%{realversion} +%patch -p1 %build +rm -rf %{_builddir}/build +mkdir %{_builddir}/build -make %{makeprocesses} stdver=c++17 +cd %{_builddir}/build +cmake ../%{n}-%{realversion} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=%{i} \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_CXX_FLAGS=-Wno-deprecated-copy \ + -DHWLOC_ROOT=$HWLOC_ROOT + +make %{makeprocesses} %install -install -d %i/lib -cp -r include %i/include -case %cmsplatf in - osx*) SONAME=dylib ;; - *) SONAME=so ;; -esac -find build -name "*.$SONAME*" -exec cp {} %i/lib \; -cmake -DINSTALL_DIR=%{i}/cmake/TBB -DSYSTEM_NAME=Linux -DINC_PATH=%{i}/include -DLIB_PATH=%{i}/lib -P cmake/tbb_config_installer.cmake +cd %{_builddir}/build +make install