changeset 3282:e8ce77f3dec1

upgrade to Boost 1.69.0
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 21 Feb 2019 16:51:06 +0100
parents ea54109a7312
children 997db5b2ad50
files NEWS Resources/CMake/BoostConfiguration.cmake Resources/CMake/BoostConfiguration.sh Resources/Patches/boost-1.69.0-linux-standard-base.patch
diffstat 4 files changed, 83 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu Feb 21 16:30:23 2019 +0100
+++ b/NEWS	Thu Feb 21 16:51:06 2019 +0100
@@ -24,6 +24,7 @@
 * More tolerance wrt. missing DICOM tags that must be returned by Orthanc C-FIND SCP
 * New CMake option: "-DMSVC_MULTIPLE_PROCESSES=ON" for parallel build with Visual Studio
 * Upgraded dependencies for static and Windows builds:
+  - Boost 1.69.0
   - DCMTK 3.6.4
   - GoogleTest 1.8.1
 
--- a/Resources/CMake/BoostConfiguration.cmake	Thu Feb 21 16:30:23 2019 +0100
+++ b/Resources/CMake/BoostConfiguration.cmake	Thu Feb 21 16:51:06 2019 +0100
@@ -53,10 +53,10 @@
   ## Parameters for static compilation of Boost 
   ##
   
-  set(BOOST_NAME boost_1_68_0)
-  set(BOOST_VERSION 1.68.0)
-  set(BOOST_BCP_SUFFIX bcpdigest-1.5.0)
-  set(BOOST_MD5 "5297c45ffda809b2da84223bac591abe")
+  set(BOOST_NAME boost_1_69_0)
+  set(BOOST_VERSION 1.69.0)
+  set(BOOST_BCP_SUFFIX bcpdigest-1.5.5)
+  set(BOOST_MD5 "a5d027d6668b69ccee707c4ceaf2496e")
   set(BOOST_URL "http://orthanc.osimis.io/ThirdPartyDownloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
   set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME})
 
--- a/Resources/CMake/BoostConfiguration.sh	Thu Feb 21 16:30:23 2019 +0100
+++ b/Resources/CMake/BoostConfiguration.sh	Thu Feb 21 16:51:06 2019 +0100
@@ -20,10 +20,11 @@
 ##   - Orthanc 1.3.1: Boost 1.65.1
 ##   - Orthanc 1.3.2: Boost 1.66.0
 ##   - Orthanc between 1.4.0 and 1.4.2: Boost 1.67.0
-##   - Orthanc >= 1.5.0: Boost 1.68.0
+##   - Orthanc between 1.5.0 and 1.5.4: Boost 1.68.0
+##   - Orthanc >= 1.5.5: Boost 1.69.0
 
-BOOST_VERSION=1_68_0
-ORTHANC_VERSION=1.5.0
+BOOST_VERSION=1_69_0
+ORTHANC_VERSION=1.5.5
 
 rm -rf /tmp/boost_${BOOST_VERSION}
 rm -rf /tmp/bcp/boost_${BOOST_VERSION}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/Patches/boost-1.69.0-linux-standard-base.patch	Thu Feb 21 16:51:06 2019 +0100
@@ -0,0 +1,74 @@
+diff -urEb boost_1_69_0.orig/boost/move/adl_move_swap.hpp boost_1_69_0/boost/move/adl_move_swap.hpp
+--- boost_1_69_0.orig/boost/move/adl_move_swap.hpp	2019-02-21 16:37:13.000000000 +0100
++++ boost_1_69_0/boost/move/adl_move_swap.hpp	2019-02-21 16:41:20.685036310 +0100
+@@ -28,6 +28,8 @@
+ //Try to avoid including <algorithm>, as it's quite big
+ #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB)
+    #include <utility>   //Dinkum libraries define std::swap in utility which is lighter than algorithm
++#elif defined(__LSB_VERSION__)
++#  include <utility>
+ #elif defined(BOOST_GNU_STDLIB)
+    //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions
+    //use the good old stl_algobase header, which is quite lightweight
+diff -urEb boost_1_69_0.orig/boost/thread/detail/config.hpp boost_1_69_0/boost/thread/detail/config.hpp
+--- boost_1_69_0.orig/boost/thread/detail/config.hpp	2019-02-21 16:37:14.000000000 +0100
++++ boost_1_69_0/boost/thread/detail/config.hpp	2019-02-21 16:41:43.297035914 +0100
+@@ -418,7 +418,7 @@
+   #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO
+ #elif defined(BOOST_THREAD_CHRONO_MAC_API)
+   #define BOOST_THREAD_HAS_MONO_CLOCK
+-#elif defined(__ANDROID__)
++#elif defined(__ANDROID__) || defined(__LSB_VERSION__)
+   #define BOOST_THREAD_HAS_MONO_CLOCK
+   #if defined(__ANDROID_API__) && __ANDROID_API__ >= 21
+     #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO
+diff -urEb boost_1_69_0.orig/boost/type_traits/detail/has_postfix_operator.hpp boost_1_69_0/boost/type_traits/detail/has_postfix_operator.hpp
+--- boost_1_69_0.orig/boost/type_traits/detail/has_postfix_operator.hpp	2019-02-21 16:37:14.000000000 +0100
++++ boost_1_69_0/boost/type_traits/detail/has_postfix_operator.hpp	2019-02-21 16:43:44.569033793 +0100
+@@ -85,8 +85,11 @@
+ namespace boost {
+ namespace detail {
+ 
++// https://stackoverflow.com/a/15474269
++#ifndef Q_MOC_RUN
+ // This namespace ensures that argument-dependent name lookup does not mess things up.
+ namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
++#endif
+ 
+ // 1. a function to have an instance of type T without requiring T to be default
+ // constructible
+@@ -234,7 +237,9 @@
+    BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
+ };
+ 
++#ifndef Q_MOC_RUN
+ } // namespace impl
++#endif
+ } // namespace detail
+ 
+ // this is the accessible definition of the trait to end user
+diff -urEb boost_1_69_0.orig/boost/type_traits/detail/has_prefix_operator.hpp boost_1_69_0/boost/type_traits/detail/has_prefix_operator.hpp
+--- boost_1_69_0.orig/boost/type_traits/detail/has_prefix_operator.hpp	2019-02-21 16:37:14.000000000 +0100
++++ boost_1_69_0/boost/type_traits/detail/has_prefix_operator.hpp	2019-02-21 16:44:40.153032821 +0100
+@@ -114,8 +114,11 @@
+ namespace boost {
+ namespace detail {
+ 
++// https://stackoverflow.com/a/15474269
++#ifndef Q_MOC_RUN
+ // This namespace ensures that argument-dependent name lookup does not mess things up.
+ namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
++#endif
+ 
+ // 1. a function to have an instance of type T without requiring T to be default
+ // constructible
+@@ -263,7 +266,9 @@
+    BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
+ };
+ 
++#ifndef Q_MOC_RUN
+ } // namespace impl
++#endif
+ } // namespace detail
+ 
+ // this is the accessible definition of the trait to end user