@@ -277,6 +277,7 @@ endif()
277277# Boost 1.55 added support for a define that makes result_of look for
278278# the result<> template and falls back to decltype if none is found. This is
279279# great for the transition from the " wrong" usage to the " correct" one as
280+ message(STATUS " Boost: result_of with TR1 style and decltype fallback")
280281set(PMacc_DEFINITIONS ${PMacc_DEFINITIONS} -DBOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)
281282
282283# Boost >= 1.60.0 and CUDA != 7.5 failed when used with C++11
@@ -290,13 +291,16 @@ if( (Boost_VERSION GREATER 105999) AND
290291endif()
291292
292293if(" ${CMAKE_CXX_COMPILER_ID} " STREQUAL " Intel")
294+ message(STATUS " Boost: Disable variadic templates")
295+ message(STATUS " Boost: Do not use fenv.h from standard library")
293296 set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -DBOOST_NO_VARIADIC_TEMPLATES")
294297 set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -DBOOST_NO_CXX11_VARIADIC_TEMPLATES")
295298 set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -DBOOST_NO_FENV_H")
296299elseif(" ${CMAKE_CXX_COMPILER_ID} " STREQUAL " Clang")
297300 # suppress boost error
298301 # 'no member named " impl" in " boost::detail::thread_move_t<boost::detail::nullary_function<void ()> >"'
299302 # in 'boost/thread/detail/nullary_function.hpp'
303+ message(STATUS " Boost: Do not use C++11 smart pointers from standard library")
300304 set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -DBOOST_NO_CXX11_SMART_PTR")
301305endif()
302306
@@ -306,6 +310,7 @@ endif()
306310if( (" ${PMACC_CUDA_COMPILER} " STREQUAL " nvcc") AND
307311 (Boost_VERSION EQUAL 106400) AND
308312 (CUDA_VERSION VERSION_EQUAL 8.0) )
313+ message(STATUS " Boost: Disable C++11 noexcept")
309314 set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -DBOOST_NO_CXX11_NOEXCEPT")
310315endif()
311316
0 commit comments