Browse Source

Adding a script for easy BoostParts updating

Strahinja Val Markovic 11 years ago
parent
commit
60d4d28297
2 changed files with 47 additions and 2 deletions
  1. 3 2
      cpp/BoostParts/CMakeLists.txt
  2. 44 0
      update_boost.sh

+ 3 - 2
cpp/BoostParts/CMakeLists.txt

@@ -17,9 +17,10 @@
 
 # The interesting parts of Boost have been extracted using
 # the BCP tool:
-#   http://www.boost.org/doc/libs/1_52_0/tools/bcp/doc/html/index.html
+#   http://www.boost.org/doc/libs/1_54_0/tools/bcp/doc/html/index.html
 #
-# bcp call: bcp boost/utility.hpp boost/python.hpp boost/bind.hpp boost/lambda/lambda.hpp boost/exception/all.hpp boost/tuple/tuple_io.hpp boost/tuple/tuple_comparison.hpp boost/regex.hpp boost/foreach.hpp boost/smart_ptr.hpp boost/algorithm/string_regex.hpp boost/thread.hpp boost/unordered_map.hpp boost/unordered_set.hpp boost/format.hpp boost/ptr_container/ptr_container.hpp boost/filesystem.hpp boost/filesystem/fstream.hpp boost/utility.hpp boost/algorithm/cxx11/any_of.hpp atomic lockfree assign ../BoostParts
+# See the top-level update_boost.sh script for details on how bcp is called to
+# generate BoostParts.
 
 cmake_minimum_required( VERSION 2.8 )
 

+ 44 - 0
update_boost.sh

@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+
+# This script is used to update cpp/BoostParts to the latest boost version
+# Give it the full path to the boost_1_XX_X folder
+
+# Exit if error
+set -e
+
+if [ -z "$1" ]; then
+  echo "Usage: $0 /path/to/boost_1_XX_X"
+  exit 0
+fi
+
+pushd $1
+
+./bootstrap.sh
+b2 tools/bcp
+
+boost_part_dir=`mktemp -d -t boost_parts.XXXXXX`
+
+dist/bin/bcp boost/utility.hpp boost/python.hpp boost/bind.hpp boost/lambda/lambda.hpp boost/exception/all.hpp boost/tuple/tuple_io.hpp boost/tuple/tuple_comparison.hpp boost/regex.hpp boost/foreach.hpp boost/smart_ptr.hpp boost/algorithm/string_regex.hpp boost/thread.hpp boost/unordered_map.hpp boost/unordered_set.hpp boost/format.hpp boost/ptr_container/ptr_container.hpp boost/filesystem.hpp boost/filesystem/fstream.hpp boost/utility.hpp boost/algorithm/cxx11/any_of.hpp atomic lockfree assign $boost_part_dir
+
+pushd $boost_part_dir
+
+# DON'T exit if error
+set +e
+
+find libs \( -name assign -o -name mpi -o -name config -o -name lockfree \) -exec rm -rf '{}' \;
+find libs \( -name doc -o -name test -o -name examples -o -name build \) -exec rm -rf '{}' \;
+find libs -not \( -name "*.hpp" -o -name "*.cpp" -o -name "*.ipp" -o -name "*.inl" \) -type f -delete
+
+# Exit if error
+set -e
+
+popd
+popd
+
+rm -rf cpp/BoostParts/libs
+rm -rf cpp/BoostParts/boost
+
+cp -R $boost_part_dir/libs cpp/BoostParts/libs
+cp -R $boost_part_dir/boost cpp/BoostParts/boost
+
+rm -rf $boost_part_dir