Просмотр исходного кода

merge of cmake build files from trunk per beman

[SVN r50756]
Troy D. Straszheim 17 лет назад
Родитель
Сommit
a0a37bc633
85 измененных файлов с 561 добавлено и 77 удалено
  1. 64 0
      BuildSlave.cmake
  2. 243 0
      CMakeLists.txt
  3. 3 0
      doc/CMakeLists.txt
  4. 13 0
      doc/src/CMakeLists.txt
  5. 57 0
      libs/CMakeLists.txt
  6. 1 1
      libs/accumulators
  7. 1 1
      libs/algorithm
  8. 1 1
      libs/any
  9. 1 1
      libs/array
  10. 1 1
      libs/asio
  11. 1 1
      libs/assign
  12. 1 1
      libs/bimap
  13. 1 1
      libs/bind
  14. 1 1
      libs/circular_buffer
  15. 1 1
      libs/compatibility
  16. 1 1
      libs/concept_check
  17. 1 1
      libs/config
  18. 1 1
      libs/conversion
  19. 1 1
      libs/crc
  20. 1 1
      libs/date_time
  21. 1 1
      libs/detail
  22. 1 1
      libs/disjoint_sets
  23. 1 1
      libs/dynamic_bitset
  24. 1 1
      libs/exception
  25. 1 1
      libs/foreach
  26. 1 1
      libs/format
  27. 1 1
      libs/function
  28. 1 1
      libs/function_types
  29. 1 1
      libs/functional
  30. 1 1
      libs/fusion
  31. 1 1
      libs/gil
  32. 1 1
      libs/graph
  33. 1 1
      libs/integer
  34. 1 1
      libs/io
  35. 1 1
      libs/iostreams
  36. 1 1
      libs/iterator
  37. 1 1
      libs/lambda
  38. 1 1
      libs/logic
  39. 1 1
      libs/math
  40. 1 1
      libs/mpi
  41. 1 1
      libs/mpl
  42. 1 1
      libs/multi_array
  43. 1 1
      libs/multi_index
  44. 21 0
      libs/numeric/CMakeLists.txt
  45. 1 1
      libs/numeric/conversion
  46. 1 1
      libs/numeric/interval
  47. 1 0
      libs/numeric/module.cmake
  48. 1 1
      libs/numeric/ublas
  49. 1 1
      libs/optional
  50. 1 1
      libs/parameter
  51. 1 1
      libs/pool
  52. 1 1
      libs/preprocessor
  53. 1 1
      libs/program_options
  54. 1 1
      libs/property_map
  55. 1 1
      libs/proto
  56. 1 1
      libs/ptr_container
  57. 1 1
      libs/python
  58. 1 1
      libs/random
  59. 1 1
      libs/range
  60. 1 1
      libs/rational
  61. 1 1
      libs/regex
  62. 1 1
      libs/serialization
  63. 1 1
      libs/signals
  64. 1 1
      libs/smart_ptr
  65. 1 1
      libs/spirit
  66. 1 1
      libs/statechart
  67. 1 1
      libs/static_assert
  68. 1 1
      libs/system
  69. 1 1
      libs/test
  70. 1 1
      libs/thread
  71. 1 1
      libs/timer
  72. 1 1
      libs/tokenizer
  73. 1 1
      libs/tr1
  74. 1 1
      libs/tuple
  75. 1 1
      libs/type_traits
  76. 1 1
      libs/typeof
  77. 1 1
      libs/units
  78. 1 1
      libs/unordered
  79. 1 1
      libs/utility
  80. 1 1
      libs/variant
  81. 1 1
      libs/wave
  82. 1 1
      libs/xpressive
  83. 82 0
      tools/CMakeLists.txt
  84. 1 1
      tools/bcp
  85. 1 1
      tools/quickbook

+ 64 - 0
BuildSlave.cmake

@@ -0,0 +1,64 @@
+##########################################################################
+# Boost Build Slave Support                                              #
+##########################################################################
+# Copyright (C) 2008 Troy D. Straszheim                                  #
+#                                                                        #
+# Distributed under the Boost Software License, Version 1.0.             #
+# See accompanying file LICENSE_1_0.txt or copy at                       #
+#   http://www.boost.org/LICENSE_1_0.txt                                 #
+##########################################################################
+#
+# Quick configuration of build slaves. 
+# 
+# 1. Copy this file to your (empty, newly created) build directory
+# 2. Customize below where you see CUSTOMIZE
+# 3. Use this file to populate your build directory.  From the build
+#    directory execute:
+#     
+#      cmake -C path/to/this/file ../path/to/source/directory   
+# 
+#    e.g.
+#  
+#      cmake -C BuildSlave.cmake ../src
+#
+
+message (STATUS "Reading initial cache for build slaves.")
+
+# 
+#  CUSTOMIZE
+#
+set(BOOST_BUILD_SLAVE_CONTACT_INFO "buildmeister@example.com"
+    CACHE STRING "who to contact with questions" FORCE)
+
+set(BOOST_BUILD_SLAVE_HOSTNAME "descriptive.name.of.host.example.com"
+    CACHE STRING "descriptive hostname" FORCE)
+
+# 
+#  CUSTOMIZE: Either set this to the path of an existing file 
+#  (relative to build directory) or create the file slave-description.txt
+#
+set(BOOST_BUILD_SLAVE_DETAILS_FILE "slave-description.txt"
+    CACHE STRING "file containing details about the build/platform" FORCE)
+
+#
+#   Below this line oughtn't require customization.
+#
+if(EXISTS ${BOOST_BUILD_SLAVE_DETAILS_FILE})
+  message(STATUS "Will take build details from ${BOOST_BUILD_SLAVE_DETAILS_FILE}")
+else(EXISTS ${BOOST_BUILD_SLAVE_DETAILS_FILE})
+  message(FATAL_ERROR "Please configure BOOST_BUILD_SLAVE_DETAILS_FILE (${BOOST_BUILD_SLAVE_DETAILS_FILE}) and create this file")	    
+endif(EXISTS ${BOOST_BUILD_SLAVE_DETAILS_FILE})
+
+if(WIN32)
+  set(CMAKE_GENERATOR "NMake Makefiles" CACHE INTERNAL "generator" FORCE)
+  set(CMAKE_MAKE_PROGRAM "nmake" CACHE INTERNAL "nmake" FORCE)
+endif(WIN32)
+
+set(BUILD_TESTING ON
+    CACHE BOOL "build testing" FORCE)
+
+set(BOOST_BUILD_SLAVE ON 
+    CACHE BOOL "build slave mode" FORCE)
+
+
+

+ 243 - 0
CMakeLists.txt

@@ -0,0 +1,243 @@
+##########################################################################
+# CMake Build Rules for Boost                                            #
+##########################################################################
+# Copyright (C) 2007, 2008 Douglas Gregor <doug.gregor@gmail.com>        #
+# Copyright (C) 2007 Troy Straszheim                                     #
+#                                                                        #
+# Distributed under the Boost Software License, Version 1.0.             #
+# See accompanying file LICENSE_1_0.txt or copy at                       #
+#   http://www.boost.org/LICENSE_1_0.txt                                 #
+##########################################################################
+# Basic Usage:                                                           #
+#                                                                        #
+#   On Unix variants:                                                    #
+#     ccmake BOOST_DIRECTORY                                             #
+#                                                                        #
+#     (c)onfigure options to your liking, then (g)enerate                #
+#     makefiles. Use "make" to build, "make test" to test, "make         #
+#     install" to install, and "make package" to build binary            #
+#     packages.                                                          #
+#                                                                        #
+#   On Windows:                                                          #
+#     run the CMake GNU, load the Boost directory, and generate          #
+#     project files or makefiles for your environment.                   #
+#                                                                        #
+# For more information about CMake, see http://www.cmake.org             #
+##########################################################################
+cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
+project(Boost)
+
+
+##########################################################################
+# Post a warning to those attempting to use the CMake Build system. When #
+# the build system stabilizes this can be removed.                       #
+##########################################################################
+if (NOT CMAKE_IS_EXPERIMENTAL)
+message(STATUS "##########################################################################")
+message(STATUS " THE CMAKE BUILD SYSTEM IS CURRENTLY UNDER DEVELOPMENT. PLEASE USE THE    ")
+message(STATUS " BJAM BASED SYSTEM INSTEAD TO BUILD A PRODUCTION VERSION OF BOOST. IF YOU ")
+message(STATUS " STILL WANT TO TRY IT OUT INVOKE CMake WITH '-DCMAKE_IS_EXPERIMENTAL=TRUE'")
+message(STATUS " ARGUMENT. After this first run of cmake you will no longer have to supply")
+message(STATUS " the argument unless you need to run a cmake on a clean build directory.")
+message(STATUS "##########################################################################")
+message(FATAL_ERROR "")
+endif (NOT CMAKE_IS_EXPERIMENTAL)
+
+##########################################################################
+# Version information                                                    #
+##########################################################################
+set(BOOST_VERSION_MAJOR 1)
+set(BOOST_VERSION_MINOR 38)
+set(BOOST_VERSION_SUBMINOR 0)
+set(BOOST_VERSION "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}")
+##########################################################################
+
+# Put the libaries and binaries that get built into directories at the
+# top of the build tree rather than in hard-to-find leaf
+# directories. This simplifies manual testing and the use of the build
+# tree rather than installed Boost libraries.
+SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+
+##########################################################################
+# Boost CMake modules                                                    #
+##########################################################################
+list(APPEND CMAKE_MODULE_PATH ${Boost_SOURCE_DIR}/tools/build/CMake)
+include(BoostUtils)
+include(BoostConfig)
+include(BoostBuildSlave)
+include(BoostCore)
+include(BoostDocs)
+include(BoostTesting)
+##########################################################################
+
+##########################################################################
+# Build Features and Variants                                            #
+##########################################################################
+
+# Determine default settings for the variable BUILD_feature options
+if (MSVC)
+  set(BUILD_SINGLE_THREADED_DEFAULT OFF)
+else ()
+  set(BUILD_SINGLE_THREADED_DEFAULT OFF)
+endif ()
+
+# User-level options deciding which variants we will build. 
+option(BUILD_STATIC "Whether to build static libraries" ON)
+option(BUILD_SHARED "Whether to build shared libraries" ON)
+option(BUILD_DEBUG "Whether to build debugging libraries" ON)
+option(BUILD_RELEASE "Whether to build release libraries" ON)
+option(BUILD_SINGLE_THREADED "Whether to build single-threaded libraries" 
+       ${BUILD_SINGLE_THREADED_DEFAULT})
+option(BUILD_MULTI_THREADED "Whether to build multi-threaded libraries" ON)
+
+# For now, we only actually support static/dynamic run-time variants for 
+# Visual C++. Provide both options for Visual C++ users, but just fix
+# the values of the variables for all other platforms.
+if(MSVC)
+  option(BUILD_STATIC_RUNTIME "Whether to build libraries linking against the static runtime" ON)
+  option(BUILD_DYNAMIC_RUNTIME "Whether to build libraries linking against the dynamic runtime" ON)
+else(MSVC)
+  set(BUILD_STATIC_RUNTIME OFF)
+  set(BUILD_DYNAMIC_RUNTIME ON)
+endif(MSVC)
+
+# The default set of library variants that we will be building
+boost_add_default_variant(RELEASE DEBUG)
+boost_add_default_variant(STATIC SHARED)
+boost_add_default_variant(SINGLE_THREADED MULTI_THREADED)
+boost_add_default_variant(DYNAMIC_RUNTIME STATIC_RUNTIME)
+
+# Extra features used by some libraries
+set(BUILD_PYTHON_NODEBUG ON)
+boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG)
+##########################################################################
+
+##########################################################################
+# Installation                                                           #
+##########################################################################
+if(BOOST_VERSION_SUBMINOR GREATER 0)
+  set(BOOST_HEADER_DIR 
+      "include/boost-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}_${BOOST_VERSION_SUBMINOR}")
+else(BOOST_VERSION_SUBMINOR GREATER 0)
+  set(BOOST_HEADER_DIR 
+      "include/boost-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}")  
+endif(BOOST_VERSION_SUBMINOR GREATER 0)
+install(DIRECTORY boost 
+        DESTINATION ${BOOST_HEADER_DIR}
+        PATTERN "CVS" EXCLUDE
+        PATTERN ".svn" EXCLUDE)
+#
+# TDS 20080526:  Getting a segfault here even with the ifs.   At r45780, with these lines 
+# uncommented:
+# 1. cmake the workspace
+# 2. run ccmake and turn OFF BUILD_MULTI_THREADED and BUILD_SHARED
+# 3. 'c' to configure
+# 4. 'g' to generate.... segfault.
+# 5. run rebuild_cache at the command line:  no segfault this time.
+#
+# With these lines commented out, step 4 above does not segfault.
+#
+#if (NOT TEST_INSTALLED_TREE)
+  # If I don't have if around this, I get a seg fault
+#  install(EXPORT boost-targets DESTINATION "lib/Boost${BOOST_VERSION}")
+#endif (NOT TEST_INSTALLED_TREE)
+##########################################################################
+
+##########################################################################
+# Binary packages                                                        #
+##########################################################################
+set(CPACK_PACKAGE_NAME "Boost")
+set(CPACK_PACKAGE_VENDOR "Boost.org")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost ${BOOST_VERSION}")
+
+if (EXISTS "${Boost_SOURCE_DIR}/README.txt")
+  message(STATUS "Using generic cpack package description file.")
+  set(CPACK_PACKAGE_DESCRIPTION_FILE "${Boost_SOURCE_DIR}/README.txt")
+  set(CPACK_RESOURCE_FILE_README "${Boost_SOURCE_DIR}/README.txt")
+endif ()
+
+set(CPACK_RESOURCE_FILE_LICENSE "${Boost_SOURCE_DIR}/LICENSE_1_0.txt")
+if (EXISTS "${Boost_SOURCE_DIR}/Welcome.txt")
+  message(STATUS "Using generic cpack welcome file.")
+  set(CPACK_RESOURCE_FILE_WELCOME "${Boost_SOURCE_DIR}/Welcome.txt")
+endif()
+
+set(CPACK_PACKAGE_VERSION "${BOOST_VERSION}")
+set(CPACK_PACKAGE_VERSION_MAJOR "${BOOST_VERSION_MAJOR}")
+set(CPACK_PACKAGE_VERSION_MINOR "${BOOST_VERSION_MINOR}")
+set(CPACK_PACKAGE_VERSION_PATCH "${BOOST_VERSION_SUBMINOR}")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "Boost")
+
+if(WIN32 AND NOT UNIX)
+  # There is a bug in NSI that does not handle full unix paths properly. Make
+  # sure there is at least one set of four (4) backlasshes.
+  # NOTE: No Boost icon yet
+#  set(CPACK_PACKAGE_ICON "${Boost_SOURCE_DIR}/tools/build/CMake\\\\InstallIcon.bmp")
+#  set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe")
+  set(CPACK_NSIS_DISPLAY_NAME "Boost ${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}")
+  set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.boost.org")
+  set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.boost.org")
+  set(CPACK_NSIS_CONTACT "boost-users@lists.boost.org")
+  set(CPACK_NSIS_MODIFY_PATH ON)
+  
+  # Encode the compiler name in the package 
+  if (MSVC60)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc6")
+    set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual C++ 6")
+  elseif (MSVC70)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc7")
+    set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2002")
+  elseif (MSVC71)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc71")
+    set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2003")
+  elseif (MSVC80)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc8")
+    set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2005")    
+  elseif (MSVC90)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc9")
+    set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2008")
+  elseif (BORLAND)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-borland")  
+    set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Borland C++ Builder")    
+  endif (MSVC60)
+  set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_NSIS_DISPLAY_NAME}")
+endif(WIN32 AND NOT UNIX)
+include(CPack)
+
+if(COMMAND cpack_configure_downloads)
+  cpack_configure_downloads(
+  "http://www.osl.iu.edu/~dgregor/Boost-CMake/${BOOST_VERSION}/"
+    ALL ADD_REMOVE)
+endif()
+##########################################################################
+
+##########################################################################
+# Building Boost libraries                                               #
+##########################################################################
+# Always include the directory where Boost's include files will be.
+if (TEST_INSTALLED_TREE)
+  # Use the headers from the installation directory
+  include_directories("${CMAKE_INSTALL_PREFIX}/${BOOST_HEADER_DIR}")
+else (TEST_INSTALLED_TREE)
+  # Use the headers directly from the Boost source tree (in boost/)
+  include_directories(${Boost_SOURCE_DIR})
+endif (TEST_INSTALLED_TREE)
+
+# Boost.Build version 2 does this due to trouble with autolinking
+# during building and testing.  
+# TODO: See if we can actually use auto-linking in our regression tests.
+add_definitions(-DBOOST_ALL_NO_LIB=1)
+
+# Add build rules for documentation
+add_subdirectory(doc)
+
+# Add build rules for all of the Boost libraries
+add_subdirectory(${BOOST_LIBS_DIR})
+
+# Add build rules for all of the Boost tools
+# TODO: On hold while I work on the modularity code
+add_subdirectory(tools)
+##########################################################################
+

+ 3 - 0
doc/CMakeLists.txt

@@ -0,0 +1,3 @@
+if (BUILD_DOCUMENTATION)
+  add_subdirectory(src)
+endif ()

+ 13 - 0
doc/src/CMakeLists.txt

@@ -0,0 +1,13 @@
+if (BUILD_DOCUMENTATION_HTML)
+  # Install style sheets and the main Boost logo
+  install(FILES boostbook.css docutils.css reference.css ../../boost.png
+    DESTINATION share/boost-${BOOST_VERSION}/html)
+
+  # Install images
+  install(DIRECTORY images
+    DESTINATION share/boost-${BOOST_VERSION}/html
+    COMPONENT Core
+    PATTERN "CVS" EXCLUDE
+    PATTERN ".svn" EXCLUDE)
+endif ()
+

+ 57 - 0
libs/CMakeLists.txt

@@ -0,0 +1,57 @@
+# Find each subdirectory containing a CMakeLists.txt file, and include
+# it. This avoids the need to manually list which libraries in Boost
+# have CMakeLists.txt files.
+
+# return a list of directories that we should add_subdirectory()
+macro(BOOST_COLLECT_SUBPROJECT_DIRECTORY_NAMES varname filename)
+  file(GLOB BOOST_LIBRARY_CMAKE_FILES 
+    RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*/${filename}")
+  foreach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
+    get_filename_component(BOOST_LIB_DIR ${BOOST_LIB_CMAKE_FILE} PATH)
+    set(${varname} ${${varname}} ${BOOST_LIB_DIR})
+  endforeach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
+endmacro(BOOST_COLLECT_SUBPROJECT_DIRECTORY_NAMES varname)
+
+macro(ADD_SUBDIRECTORIES prefix)
+  foreach(subdir ${ARGN})
+    message(STATUS "${prefix}${subdir}")
+    add_subdirectory(${subdir})
+  endforeach(subdir ${ARGN})
+endmacro(ADD_SUBDIRECTORIES prefix)
+
+# Find all of the subdirectories with .cmake files in them. These are
+# the libraries with dependencies.
+boost_collect_subproject_directory_names(BOOST_MODULE_DIRS "module.cmake")
+foreach(subdir ${BOOST_MODULE_DIRS})
+  include("${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/module.cmake")
+endforeach(subdir)
+
+# Find all of the subdirectories with CMakeLists.txt files in
+# them. This contains all of the Boost libraries.
+boost_collect_subproject_directory_names(BOOST_SUBPROJECT_DIRS "CMakeLists.txt")
+
+# Add all of the Boost projects in reverse topological order, so that
+# a library's dependencies show up before the library itself.
+set(CPACK_INSTALL_CMAKE_COMPONENTS_ALL)
+list(SORT BOOST_SUBPROJECT_DIRS)
+topological_sort(BOOST_SUBPROJECT_DIRS BOOST_ _DEPENDS)
+add_subdirectories(" + " ${BOOST_SUBPROJECT_DIRS})
+
+# Write out a GraphViz file containing inter-library dependencies. 
+set(BOOST_DEPENDENCY_GRAPHVIZ_FILE "${Boost_BINARY_DIR}/dependencies.dot")
+file(WRITE ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "digraph boost {\n")
+foreach(SUBDIR ${BOOST_SUBPROJECT_DIRS})
+  string(TOUPPER "BOOST_${SUBDIR}_COMPILED_LIB" BOOST_COMPILED_LIB_VAR)
+  if (${BOOST_COMPILED_LIB_VAR})
+    file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "  \"${SUBDIR}\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ")
+  endif (${BOOST_COMPILED_LIB_VAR})
+  string(TOUPPER "BOOST_${SUBDIR}_DEPENDS" DEPENDS_VAR)
+  if(DEFINED ${DEPENDS_VAR})
+    foreach(DEP ${${DEPENDS_VAR}})
+      file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} 
+        "  \"${SUBDIR}\" -> \"${DEP}\";\n")
+    endforeach()
+  endif()
+endforeach()
+file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "  \"test\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ")
+file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "}\n")

+ 1 - 1
libs/accumulators

@@ -1 +1 @@
-Subproject commit d045f6ca8ea1ec56b04df6c6c7f30ab837a3dd2a
+Subproject commit a1700a34c03e16b80640e3a272443ce8c03231bf

+ 1 - 1
libs/algorithm

@@ -1 +1 @@
-Subproject commit 98a8b08afb9c3b5779c0f88ceec24f02ad38a444
+Subproject commit c33935fa1fbc6b7bf394de8f2689349e74a88735

+ 1 - 1
libs/any

@@ -1 +1 @@
-Subproject commit f2f981388fbdf1865d77d764fe33f6bbfba068c4
+Subproject commit 873a016568bf4c3233a8fac7a37a97d3a5459bb6

+ 1 - 1
libs/array

@@ -1 +1 @@
-Subproject commit e7122b3f207d6cb697ba61ffb37ce033378260cb
+Subproject commit 3d20bb1310193af12e842bca41a5e5465e8f172a

+ 1 - 1
libs/asio

@@ -1 +1 @@
-Subproject commit 51be01775f8b57cea5063a532b5005c600b365e0
+Subproject commit 9be4e6992e7fbefa44e72fff8ec13ab714040a0a

+ 1 - 1
libs/assign

@@ -1 +1 @@
-Subproject commit afa4b560a0f6ff02cf87d7ebdc898409d00ced30
+Subproject commit 6a98dd41eadc6d684fe8915b079e1c2944ea0a12

+ 1 - 1
libs/bimap

@@ -1 +1 @@
-Subproject commit 3daa894cf5111e4685aafaaf5c69df5141e7616f
+Subproject commit 8c16371c783ada0aec1e33ed43c29770953341b0

+ 1 - 1
libs/bind

@@ -1 +1 @@
-Subproject commit 45720b6f2df094dfbb9c74a381436d16f1aa8f22
+Subproject commit 85d146117ea6c54303d54e8db40d16dc20a8ae6d

+ 1 - 1
libs/circular_buffer

@@ -1 +1 @@
-Subproject commit 8a115a066a2fe37075a28e8bd7ae861071e7ca4a
+Subproject commit 92c290536e5930c49fe4dc081ca5979f0b8e1d48

+ 1 - 1
libs/compatibility

@@ -1 +1 @@
-Subproject commit 0cbae63142d21a69dd849a4ab6e3ea59f5c5666a
+Subproject commit c40f64cadb218cf73b5215e8be8e7fb97cadd05e

+ 1 - 1
libs/concept_check

@@ -1 +1 @@
-Subproject commit 3dcaf09ecf2110eda24385e674cfd9a6c2cd85c7
+Subproject commit 2fbf9d137577ef6ea0fd87003fe987fc234c41d6

+ 1 - 1
libs/config

@@ -1 +1 @@
-Subproject commit d379865f42f5190d6e1bdff796140b2fe4703c5e
+Subproject commit bc97209574aa53d2f8f7d23b3507e24a9fed07d6

+ 1 - 1
libs/conversion

@@ -1 +1 @@
-Subproject commit 98a67d93f3f1b253e22c743f82bd48df5107e1d1
+Subproject commit fb681bb0eabdd75ee60eff434eb949cb6965890a

+ 1 - 1
libs/crc

@@ -1 +1 @@
-Subproject commit 006db0974168cc1aeb70883215dd169da7132b6c
+Subproject commit 709b3b7a343c07aceede0a50835036580ee15768

+ 1 - 1
libs/date_time

@@ -1 +1 @@
-Subproject commit 86a65b062a90c860fd5de9375e9f11e9cc6911fa
+Subproject commit 983db9f225a99a29d8ace9750b3c26c20d66d1bd

+ 1 - 1
libs/detail

@@ -1 +1 @@
-Subproject commit c0fb2515b03a6ce78b6721e5255d5a7001133f12
+Subproject commit 9d2dd3f2190f69fbf530df9a2fa4faeebf138254

+ 1 - 1
libs/disjoint_sets

@@ -1 +1 @@
-Subproject commit 9fdf4a0db5cb810a7c0a6a62f1d9a7ee69f20ec8
+Subproject commit 208ff6cd2f57c3296757af21a66ca6cc3ccc00fc

+ 1 - 1
libs/dynamic_bitset

@@ -1 +1 @@
-Subproject commit 16ca9cbb3caf1210baca5f1ea0c4c254542cbaef
+Subproject commit b7eedd0f46cdef22750f110e90b9ccdccba69ca8

+ 1 - 1
libs/exception

@@ -1 +1 @@
-Subproject commit 18713332234452f8c2d4459e39f6e50c242465b3
+Subproject commit fa309046184ce59395a6c3036fa3256d0cd6dde2

+ 1 - 1
libs/foreach

@@ -1 +1 @@
-Subproject commit ddf692ab283df244fbf60b0ce2492cbdf836736f
+Subproject commit b80e723dcc6247cb33d882ed7ff382e490bf407f

+ 1 - 1
libs/format

@@ -1 +1 @@
-Subproject commit a9b9bf088701315538b6d09531a71887b30e2738
+Subproject commit 756ce274797d728e8bc6790e7869b965181b1c1c

+ 1 - 1
libs/function

@@ -1 +1 @@
-Subproject commit 587658b047716dcdb33ef04fba8cc69324396e81
+Subproject commit 2fd383cd2e38533264a771ede4348a11a4441616

+ 1 - 1
libs/function_types

@@ -1 +1 @@
-Subproject commit 6f100429eb03410cff003f7c12051949561c1ab4
+Subproject commit cde937faaa0136699dcfec47757837c3806d42dd

+ 1 - 1
libs/functional

@@ -1 +1 @@
-Subproject commit c2fc561d41466f1ac4c1dda3e233f52e86ae5279
+Subproject commit ecdbca2dacb7e8c8161776eb012e1a609bc1fb59

+ 1 - 1
libs/fusion

@@ -1 +1 @@
-Subproject commit d004046aa5e14e84e55ede0ea706de520ea30318
+Subproject commit 5dff6100079ed126f7cecaa043bd6b3d89fb1189

+ 1 - 1
libs/gil

@@ -1 +1 @@
-Subproject commit ab7f23636bbd9c91908585d838af07420484a748
+Subproject commit 44871518f5fa4613fc2cacaed27cfc8e518feaaa

+ 1 - 1
libs/graph

@@ -1 +1 @@
-Subproject commit 06562ff825a5fecd27f5eef50886d1f4fdf26011
+Subproject commit 4a3510bbf96e472b6b8219cf7de00c78cd6941cb

+ 1 - 1
libs/integer

@@ -1 +1 @@
-Subproject commit 1b9549693acd7be526f9f71a7eefb20f5127be56
+Subproject commit e6bbb336608ac6762148a299b3b1b22ba1ada7e6

+ 1 - 1
libs/io

@@ -1 +1 @@
-Subproject commit eea2bb328c7852c42e9dcba52eec1550f7781190
+Subproject commit 9498b1b24188de52e2573cd9a5e494db5719c20a

+ 1 - 1
libs/iostreams

@@ -1 +1 @@
-Subproject commit ce5da3aceb847fc6eeac1470bf3ab31448f0cd16
+Subproject commit edb6742f9b932de1f8d31b06c48422b727917319

+ 1 - 1
libs/iterator

@@ -1 +1 @@
-Subproject commit 2ece3ac5c2e70aa01823ed638d043321caa2940b
+Subproject commit 264c186eacbf06cf85b18fbe2227429ed9d385eb

+ 1 - 1
libs/lambda

@@ -1 +1 @@
-Subproject commit 1f6ca994e68a7cabcb442fe7894c6b3bf3950d5d
+Subproject commit b5b41af8f4631973ec8746686ccfcf694e37d984

+ 1 - 1
libs/logic

@@ -1 +1 @@
-Subproject commit f1d8f513bf0436ad6bea4a695b6f06c413352cfc
+Subproject commit 951486c794b92d161a44884daf5662e0607496df

+ 1 - 1
libs/math

@@ -1 +1 @@
-Subproject commit 77b98a01418052cb015e9076447f73d8efc05cc4
+Subproject commit 2b4b5fecede7ada14ae33984247f88932df0c8fa

+ 1 - 1
libs/mpi

@@ -1 +1 @@
-Subproject commit 95046cfeb917769ee98cf244f4032ceb3b827c1e
+Subproject commit 881fa9299224550e36fa02d0bb6beb59e83ae43d

+ 1 - 1
libs/mpl

@@ -1 +1 @@
-Subproject commit 3aca8ba4179081b5bbcdbd69e94acfc0eca90e9e
+Subproject commit 951004474cbba74ee7e3f6e77cec529ca58ddb40

+ 1 - 1
libs/multi_array

@@ -1 +1 @@
-Subproject commit 805db3d46fdeb6eb84fb9d273164424d073055c3
+Subproject commit 5479ef94c8de5b84bc30423e63353a210d483193

+ 1 - 1
libs/multi_index

@@ -1 +1 @@
-Subproject commit f5976c16952348532f03be9766d82e2eb3ce4d57
+Subproject commit d3e74bc941916d5660827dd09ceb31cec64515c7

+ 21 - 0
libs/numeric/CMakeLists.txt

@@ -0,0 +1,21 @@
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+    numeric
+)
+
+# Add a library target to the build system
+boost_library_project(
+  numeric
+  #  SRCDIRS 
+  TESTDIRS  conversion/test interval/test ublas/test
+  HEADERS ${lib_headers}
+  #  DOCDIRS 
+  #  DESCRIPTION 
+  MODULARIZED 
+  #  AUTHORS 
+  #  MAINTAINERS 
+)
+
+

+ 1 - 1
libs/numeric/conversion

@@ -1 +1 @@
-Subproject commit 5963a9cb673d73c79f439194d073fab9951c7374
+Subproject commit e0eee93fa55c2e4054d15173c442371a7886ca09

+ 1 - 1
libs/numeric/interval

@@ -1 +1 @@
-Subproject commit 3142de747f35ca5a6affc47bf988fc5042c85bc8
+Subproject commit 96b3e4edf18fb9d39967c4f96fe6f61055b5d7b8

+ 1 - 0
libs/numeric/module.cmake

@@ -0,0 +1 @@
+boost_module(numeric DEPENDS logic serialization)

+ 1 - 1
libs/numeric/ublas

@@ -1 +1 @@
-Subproject commit 19d0e14743500a59c2ea208af91b60fffc6c0a55
+Subproject commit c65fccf2d7e39dca268b2219c91a7bcafea2c61a

+ 1 - 1
libs/optional

@@ -1 +1 @@
-Subproject commit e68e68276ce6c34abf4f66121a97f1f21f9eff57
+Subproject commit 6b8df2a27d45c5f9b9286794700e7c7a631286e9

+ 1 - 1
libs/parameter

@@ -1 +1 @@
-Subproject commit 04cea6497d597ba200acbecd6469643eea77015c
+Subproject commit 3cf03f73cac3530d82acd051c5c2d8194eeda90d

+ 1 - 1
libs/pool

@@ -1 +1 @@
-Subproject commit e152372ea6060d10e9543f3b30df79fb1599d395
+Subproject commit b8de19b4688a3712aacebb19f32cf4d05600a16b

+ 1 - 1
libs/preprocessor

@@ -1 +1 @@
-Subproject commit 32f92a14311079cf0d54b220bf71ec58465c73c2
+Subproject commit 6cee861d4b835a6395bd57852820f799446bc2e8

+ 1 - 1
libs/program_options

@@ -1 +1 @@
-Subproject commit 2a16575f984d931ec0d95cff8e5044f0f3725127
+Subproject commit b55001a061ccf9d906243bbe9e1b773b63619ea3

+ 1 - 1
libs/property_map

@@ -1 +1 @@
-Subproject commit a24948956b19b5e9c3387a8c2922a361ce27d855
+Subproject commit e3a97f0fa3da28f175755cd74df12bd4d949a5fe

+ 1 - 1
libs/proto

@@ -1 +1 @@
-Subproject commit e51953e9a2968162daf8f98981c13552205e353f
+Subproject commit 41de660699b05e6dd6810e259cf7e01f9d4545ad

+ 1 - 1
libs/ptr_container

@@ -1 +1 @@
-Subproject commit fd6e7aa6fecf1f2e98f541711dee2a61a2b8c819
+Subproject commit 77a1e4d8c71485608ef44b358ca3239041154667

+ 1 - 1
libs/python

@@ -1 +1 @@
-Subproject commit 19846f5d7932d2bbc5dd8df903729b3168a00780
+Subproject commit 29152af56cfc7489e9591d2516a41dc4af48c909

+ 1 - 1
libs/random

@@ -1 +1 @@
-Subproject commit 1fe2ce622eefbf6a83c3065307496fa7d205bfd1
+Subproject commit 7cee654ec2c5f3ea1a4d6468808e6216ad25faa7

+ 1 - 1
libs/range

@@ -1 +1 @@
-Subproject commit 26b096f65db8b158f03b564f6df7c17d8e09ac14
+Subproject commit 12d904a5e416ca92df6232b2ca377e9773644a16

+ 1 - 1
libs/rational

@@ -1 +1 @@
-Subproject commit a51d8489c0ca4585931fb6e6e43181517e39493e
+Subproject commit 0867febd799fe647d1b836deeabd3e8c2edb1558

+ 1 - 1
libs/regex

@@ -1 +1 @@
-Subproject commit 2d43c1b305a4f73efaa171115c7bda7aa6cfdc80
+Subproject commit 083ea3a6c71090bbad9dfd14a49eb60b96ba4fea

+ 1 - 1
libs/serialization

@@ -1 +1 @@
-Subproject commit c3d762e168dae8f85ee2a2495005cd8759864633
+Subproject commit 005bf3051b9715bf61b302d7ed3a71076649681d

+ 1 - 1
libs/signals

@@ -1 +1 @@
-Subproject commit 2fd39d0771139b47ee7b186bddc1d5d675e7858a
+Subproject commit 551734976a8126b4e51db3d4464c1daf4ad98335

+ 1 - 1
libs/smart_ptr

@@ -1 +1 @@
-Subproject commit 6f91ea87c34add9108acfebe2e349d15f90596a5
+Subproject commit 55583ac7490bcbfcf9f33d7fd7a23787adda2e4c

+ 1 - 1
libs/spirit

@@ -1 +1 @@
-Subproject commit 063723c81427131dcfc18fb54a02b083bb2a91e4
+Subproject commit 57cca6bcc5d0442bcad87962d087cfa90de8ab21

+ 1 - 1
libs/statechart

@@ -1 +1 @@
-Subproject commit 78a6451517ae9c22f5ba83398a377f4dfea8a435
+Subproject commit 5357b283083098ddbec558714750db2eb5ef7748

+ 1 - 1
libs/static_assert

@@ -1 +1 @@
-Subproject commit 3488b2bdf29496654a009b0d0b1341cf66658b73
+Subproject commit 9e411076c6346cd0cd1fe76305ff8fd6c2cf3d8d

+ 1 - 1
libs/system

@@ -1 +1 @@
-Subproject commit 40612c12db86eb3c9e10fc2b09d74ca3ffcd4f36
+Subproject commit e6f66bfc95fbf43acbf3291e1e87930bbb89856f

+ 1 - 1
libs/test

@@ -1 +1 @@
-Subproject commit ba139de9b1a30d6f33682cf4017cb06f3ac56ad9
+Subproject commit ad148e98727bf3644be8363b68cf3dbcc3cf6ddb

+ 1 - 1
libs/thread

@@ -1 +1 @@
-Subproject commit 8ab0d5acdd286da5efe622296d06fa0d3e1c4a10
+Subproject commit fbdc23f48248291ed8d203f863ef655388d76a91

+ 1 - 1
libs/timer

@@ -1 +1 @@
-Subproject commit 2d2a2f47e11cfcd2896d6aae09f5e4c79ea7d696
+Subproject commit b77f89da41664cda4bc59b9a1da52466f786dcff

+ 1 - 1
libs/tokenizer

@@ -1 +1 @@
-Subproject commit 598fd68b1ee33c8add7e37112eeecc39c8f97dab
+Subproject commit b42776b6881f5541210282c91c8b0b96dad3f767

+ 1 - 1
libs/tr1

@@ -1 +1 @@
-Subproject commit 293a9f3d4760209e7e8c07572cb9229bb0bf05e6
+Subproject commit 65e36fc1ddc4d98a9f0030165592a603ab4203dd

+ 1 - 1
libs/tuple

@@ -1 +1 @@
-Subproject commit 785ada83f401e09844476e85c9649feff4b87902
+Subproject commit 99039c3db8a714cf14eff018d1faaa1c1c6cc5d1

+ 1 - 1
libs/type_traits

@@ -1 +1 @@
-Subproject commit 5744aef20ce7a681cc38466d6eb3eb7868109d64
+Subproject commit 407e286df1d6c0b85575044896882fb1fe93d7de

+ 1 - 1
libs/typeof

@@ -1 +1 @@
-Subproject commit cde21a588d6d8bf357f8e9f59fd98c16fcb3f122
+Subproject commit 33ae5341c11d6cbcb7e71801b6608ff98b4ea3c5

+ 1 - 1
libs/units

@@ -1 +1 @@
-Subproject commit c7aec0321261095ba6cd8b6f94e4fd78d084feae
+Subproject commit bf5f32b16235681149aaf11c12ada00f68444671

+ 1 - 1
libs/unordered

@@ -1 +1 @@
-Subproject commit 0921f8076d3efe85cc72556218270cebeb38f6d9
+Subproject commit f7c664a35907a4b864a1507db46b212af760221d

+ 1 - 1
libs/utility

@@ -1 +1 @@
-Subproject commit ffbbf38e12feceeb2d2dc1e7d5d9ed2c8cecee6a
+Subproject commit 390372294a130aa96ea026747abf6f357fb2c1ef

+ 1 - 1
libs/variant

@@ -1 +1 @@
-Subproject commit 5edc8631742b00be18db94ef605bc269da91119d
+Subproject commit c7d1cccc13eb0fa4815f388e7b0e8b1cd2b82819

+ 1 - 1
libs/wave

@@ -1 +1 @@
-Subproject commit a0085761eb88be624f0af4b764d15052e094874d
+Subproject commit 4e450deb3b6253c5574ffea70a3097be802f8b2a

+ 1 - 1
libs/xpressive

@@ -1 +1 @@
-Subproject commit 14aff7b8123a095880f9034a6cfa420fba84aa31
+Subproject commit 145d606cf05e7fa2da3a88c3a54a1a0c2a88494c

+ 82 - 0
tools/CMakeLists.txt

@@ -0,0 +1,82 @@
+# return a list of directories that we should add_subdirectory()
+macro(boost_collect_lib_dependencies varname filename)
+  #message(STATUS "boost_collect_lib_dependencies.... ${Boost_SOURCE_DIR}/libs")
+  file(GLOB BOOST_LIBRARY_CMAKE_FILES 
+       RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${Boost_SOURCE_DIR}/libs/*/${filename}")
+  foreach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
+    #message(STATUS "-- BOOST_LIB_CMAKE_FILE: ${BOOST_LIB_CMAKE_FILE}")
+    get_filename_component(BOOST_LIB_DIR ${BOOST_LIB_CMAKE_FILE} PATH)
+    set(${varname} ${${varname}} ${BOOST_LIB_DIR})
+  endforeach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
+endmacro(boost_collect_lib_dependencies varname)
+
+
+# Find all of the subdirectories with .cmake files in them. These are
+# the libraries with dependencies.
+boost_collect_lib_dependencies(BOOST_MODULE_DIRS "module.cmake")
+foreach(subdir ${BOOST_MODULE_DIRS})
+#  message(STATUS "${Boost_SOURCE_DIR}/libs/${subdir}/module.cmake")
+  include("${Boost_SOURCE_DIR}/libs/${subdir}/module.cmake")
+endforeach(subdir)
+
+
+###############################################################################
+# This macro is an internal utility macro 
+# TODO: Document this if it stays around
+#
+#
+# example usage:
+#  boost_tool_dependencies( BOOST_DEPENDS test)
+#
+macro(boost_tool_dependencies)
+  parse_arguments(BOOST_TEST 
+    "BOOST_DEPENDS"
+    ""
+    ${ARGN}
+  )
+    set (THIS_TEST_DEPENDS_ALL "")
+    # message (STATUS "BOOST_TEST_BOOST_DEPENDS: ${BOOST_TEST_BOOST_DEPENDS}")
+    foreach(libname ${BOOST_TEST_BOOST_DEPENDS})
+       # message(STATUS "libname: ${libname}")
+        string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
+      #  message(STATUS "${THIS_PROJECT_DEPENDS}: ${${THIS_PROJECT_DEPENDS}}")
+       # set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} )
+      #  message(STATUS "${THIS_TEST_DEPENDS_ALL}: ${${THIS_TEST_DEPENDS_ALL}}")
+        
+       list(FIND THIS_TEST_DEPENDS_ALL ${libname} DEPDEP_INDEX)
+       if (DEPDEP_INDEX EQUAL -1)
+         list(APPEND THIS_TEST_DEPENDS_ALL ${libname})
+         set(ADDED_DEPS TRUE)
+       endif()
+        string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
+       # message(STATUS "${additional_lib}: ===> ${${THIS_PROJECT_DEPENDS}}")
+        set(ADDED_DEPS TRUE)
+        while (ADDED_DEPS)
+          set(ADDED_DEPS FALSE)
+          foreach(DEP ${THIS_TEST_DEPENDS_ALL})
+            string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
+            foreach(DEPDEP ${${DEP_DEPENDS}})
+              list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
+              if (DEPDEP_INDEX EQUAL -1)
+                list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP})
+                set(ADDED_DEPS TRUE)
+              endif()
+            endforeach()
+          endforeach()
+        endwhile()
+      # message(STATUS "->  Dependencies for ${libname}")
+      # message(STATUS "->  THIS_TEST_DEPENDS_ALL: ${THIS_TEST_DEPENDS_ALL}")  
+        
+    endforeach(libname ${BOOST_TEST_BOOST_DEPENDS})
+   foreach (include ${THIS_TEST_DEPENDS_ALL})
+      #message(STATUS "include: ${include}")
+      include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
+    endforeach (include ${includes})
+
+endmacro(boost_tool_dependencies)
+#
+###############################################################################
+
+# add_subdirectory(quickbook)
+# add_subdirectory(wave)
+add_subdirectory(bcp)

+ 1 - 1
tools/bcp

@@ -1 +1 @@
-Subproject commit d20df0a4086af01f4c25e3d4380343e46f9a70f8
+Subproject commit deed3885d0951a9651dad2b461c3766e9e735f22

+ 1 - 1
tools/quickbook

@@ -1 +1 @@
-Subproject commit cb639fb17d45cdc4b9ef14808b8f0b18d164c655
+Subproject commit 08062df544c0fa53fe506d388f1cafb97265e9b7

粤ICP备19079148号