]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Require boost 1.59 or newer.
authorDavid Wells <wellsd2@rpi.edu>
Mon, 4 Sep 2017 21:00:58 +0000 (17:00 -0400)
committerDavid Wells <wellsd2@rpi.edu>
Mon, 4 Sep 2017 21:00:58 +0000 (17:00 -0400)
This enables us to use the relatively new boost::container::small_vector
class.

cmake/configure/configure_boost.cmake
cmake/modules/FindBOOST.cmake
doc/news/changes/incompatibilities/2017090DavidWells [new file with mode: 0644]
doc/readme.html

index 1430f92f300c9a918059e5a3c7a9a1f110d5cd68..29ab0c1e5bb8a1ce5a8b5c2dacfd9ae085bf9e13 100644 (file)
@@ -79,15 +79,6 @@ MACRO(FEATURE_BOOST_FIND_EXTERNAL var)
 
   IF(BOOST_FOUND)
     SET(${var} TRUE)
-
-    #
-    # Blacklist version 1.58 because we get serialization errors with it. At
-    # least version 1.56 and 1.59 are known to work.
-    #
-    IF("${BOOST_VERSION_MAJOR}" STREQUAL "1" AND "${BOOST_VERSION_MINOR}" STREQUAL "58")
-      MESSAGE(STATUS "Boost version 1.58 is not compatible with deal.II!")
-      SET(${var} FALSE)
-    ENDIF()
   ENDIF()
 ENDMACRO()
 
index 10a592579241c6b79bf89303b414c9c28d4b9fc9..26e9a80c0a387900f9c221e3bf330da206d47033 100644 (file)
@@ -26,6 +26,9 @@
 #     BOOST_VERSION_MINOR
 #     BOOST_VERSION_SUBMINOR
 #
+# We require at least boost 1.59 since boost::container::small_vector was
+# introduced in 1.58 and some serialization bugs in 1.58 were not fixed until
+# 1.59.
 
 SET(BOOST_DIR "" CACHE PATH "An optional hint to a BOOST installation")
 SET_IF_EMPTY(BOOST_DIR "$ENV{BOOST_DIR}")
@@ -43,7 +46,7 @@ ENDIF()
 
 # temporarily disable ${CMAKE_SOURCE_DIR}/cmake/modules for module lookup
 LIST(REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/)
-FIND_PACKAGE(Boost 1.56 COMPONENTS
+FIND_PACKAGE(Boost 1.59 COMPONENTS
   iostreams serialization system thread
   )
 LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/)
@@ -56,7 +59,7 @@ IF(NOT Boost_FOUND AND Boost_USE_STATIC_LIBS)
 
   # temporarily disable ${CMAKE_SOURCE_DIR}/cmake/modules for module lookup
   LIST(REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/)
-  FIND_PACKAGE(Boost 1.56 COMPONENTS iostreams serialization system thread)
+  FIND_PACKAGE(Boost 1.59 COMPONENTS iostreams serialization system thread)
   LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/)
 ENDIF()
 
diff --git a/doc/news/changes/incompatibilities/2017090DavidWells b/doc/news/changes/incompatibilities/2017090DavidWells
new file mode 100644 (file)
index 0000000..928478e
--- /dev/null
@@ -0,0 +1,3 @@
+Changed: deal.II now requires BOOST version 1.59 or newer.
+<br>
+(David Wells, 2017/09/04)
index f85a0197fe753686a7a6be246a3efbd6d8debea7..412f3a83f2659da1fe7313cc017de4a6bacfbc0f 100644 (file)
       found and <acronym>deal.II</acronym> will be built without support
       for them.
       However, there is one interface that we <i>need</i> to have: <a
-      href="http://www.boost.org/" target="_top">BOOST</a>. If it is not
-      found externally <code>cmake</code> will resort to the bundled boost
-      version that is part of the <acronym>deal.II</acronym> tar file.
+      href="http://www.boost.org/" target="_top">BOOST 1.59</a> or newer.
+      If it is not found externally <code>cmake</code> will resort to the
+      bundled boost version that is part of the <acronym>deal.II</acronym>
+      tar file.
     </p>
 
     <p>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.