Jelajahi Sumber

Updating CMake files to latest trunk. Added dependency information for regression tests and a few new macros for internal use.

[SVN r49627]
Michael A. Jackson 17 tahun lalu
induk
melakukan
9a856769ee
73 mengubah file dengan 158 tambahan dan 73 penghapusan
  1. 4 3
      CMakeLists.txt
  2. 5 0
      libs/CMakeLists.txt
  3. 1 1
      libs/accumulators
  4. 1 1
      libs/algorithm
  5. 1 1
      libs/any
  6. 1 1
      libs/array
  7. 1 1
      libs/asio
  8. 1 1
      libs/assign
  9. 1 1
      libs/bimap
  10. 1 1
      libs/bind
  11. 1 1
      libs/circular_buffer
  12. 1 1
      libs/concept_check
  13. 1 1
      libs/config
  14. 1 1
      libs/conversion
  15. 1 1
      libs/crc
  16. 1 1
      libs/date_time
  17. 1 1
      libs/dynamic_bitset
  18. 1 1
      libs/exception
  19. 1 1
      libs/filesystem
  20. 1 1
      libs/foreach
  21. 1 1
      libs/format
  22. 1 1
      libs/function
  23. 1 1
      libs/function_types
  24. 1 1
      libs/functional
  25. 1 1
      libs/gil
  26. 1 1
      libs/graph
  27. 1 1
      libs/integer
  28. 1 1
      libs/interprocess
  29. 1 1
      libs/io
  30. 1 1
      libs/iostreams
  31. 1 1
      libs/iterator
  32. 1 1
      libs/lambda
  33. 1 1
      libs/logic
  34. 1 1
      libs/math
  35. 1 1
      libs/mpi
  36. 1 1
      libs/mpl
  37. 1 1
      libs/multi_array
  38. 1 1
      libs/multi_index
  39. 1 1
      libs/numeric/conversion
  40. 1 1
      libs/numeric/interval
  41. 1 1
      libs/numeric/ublas
  42. 1 1
      libs/optional
  43. 1 1
      libs/parameter
  44. 1 1
      libs/pool
  45. 1 1
      libs/preprocessor
  46. 1 1
      libs/program_options
  47. 1 1
      libs/property_map
  48. 1 1
      libs/property_tree
  49. 1 1
      libs/proto
  50. 1 1
      libs/ptr_container
  51. 1 1
      libs/python
  52. 1 1
      libs/random
  53. 1 1
      libs/range
  54. 1 1
      libs/rational
  55. 1 1
      libs/regex
  56. 1 1
      libs/serialization
  57. 1 1
      libs/signals
  58. 1 1
      libs/smart_ptr
  59. 1 1
      libs/spirit
  60. 1 1
      libs/statechart
  61. 1 1
      libs/thread
  62. 1 1
      libs/timer
  63. 1 1
      libs/tokenizer
  64. 1 1
      libs/tr1
  65. 1 1
      libs/tuple
  66. 1 1
      libs/typeof
  67. 1 1
      libs/units
  68. 1 1
      libs/unordered
  69. 1 1
      libs/utility
  70. 1 1
      libs/variant
  71. 1 1
      libs/xpressive
  72. 79 0
      tools/CMakeLists.txt
  73. 1 1
      tools/bcp

+ 4 - 3
CMakeLists.txt

@@ -38,7 +38,7 @@ message(STATUS " BJAM BASED SYSTEM INSTEAD. IF YOU STILL WANT TO TRY IT OUT PLEA
 message(STATUS " OUT THE LINE 'message(FATAL_ERROR \"\")' THAT APPEARS IN THE FILE    ")
 message(STATUS " ${Boost_SOURCE_DIR}/CMakeLists.txt FILE.")
 message(STATUS "##########################################################################")
-message(FATAL_ERROR "")
+#message(FATAL_ERROR "")
 
 ##########################################################################
 # Version information                                                    #
@@ -56,6 +56,7 @@ set(BOOST_VERSION "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION
 SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
 SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 
+if (FALSE)
 # ---------- Setup output Directories -------------------------
 SET (LIBRARY_OUTPUT_PATH
   ${PROJECT_BINARY_DIR}/lib
@@ -69,7 +70,7 @@ SET (EXECUTABLE_OUTPUT_PATH
   CACHE PATH
   "Directory for all Executables."
   )
-  
+endif(FALSE) 
 
   
 ##########################################################################
@@ -241,6 +242,6 @@ 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)
+add_subdirectory(tools)
 ##########################################################################
 

+ 5 - 0
libs/CMakeLists.txt

@@ -41,6 +41,10 @@ add_subdirectories(" + " ${BOOST_SUBPROJECT_DIRS})
 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}})
@@ -49,4 +53,5 @@ foreach(SUBDIR ${BOOST_SUBPROJECT_DIRS})
     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 750e5d3e2774f57c42fc2e1b081552d2d166ebda
+Subproject commit bbc210b07b299c89cbc31942911a6f575fa109b9

+ 1 - 1
libs/algorithm

@@ -1 +1 @@
-Subproject commit bff2a1e1128fcaf898e8a0f2d6b766893a298152
+Subproject commit 1188575e7beb1face3284462aeed75db463da6b5

+ 1 - 1
libs/any

@@ -1 +1 @@
-Subproject commit e5c34bdf1a53160f93b4487a9d934644158dac6e
+Subproject commit cd038b4f8dc7b26d49ce55fd3a2feb69b08ed971

+ 1 - 1
libs/array

@@ -1 +1 @@
-Subproject commit a6b531b5b1a7a2ef2d770096b5ae557671ac1ff0
+Subproject commit b3ace9fb6ebbea9d44a3ef720f4983884c34ae77

+ 1 - 1
libs/asio

@@ -1 +1 @@
-Subproject commit 2825aaaff611cdbc23feab2429a23ac056f1129f
+Subproject commit 02ac45ba963d929cb1be5ba9edd22d527bb34a07

+ 1 - 1
libs/assign

@@ -1 +1 @@
-Subproject commit 025ef7678d9310b6bbdc847ec5469d7a68403d08
+Subproject commit 4169acc6c652a438dfd253409665154cb3ca1bfc

+ 1 - 1
libs/bimap

@@ -1 +1 @@
-Subproject commit eb5c91bdb3aa0bac9a9fe42faf209e28f7a99907
+Subproject commit 645d9d6901fba109fa936adf0f5ebf50e0e21939

+ 1 - 1
libs/bind

@@ -1 +1 @@
-Subproject commit 61519fcae29b2ea9e86732aed4f7adf7fb735a25
+Subproject commit 0b72bfbd9ba52a48a363c8be7aca43b1266a7b46

+ 1 - 1
libs/circular_buffer

@@ -1 +1 @@
-Subproject commit 9ff6fa759ac306980e499b3cab6e0c0325be3e34
+Subproject commit 83d617f9e4523eaae48d94cca3aa4ed09fd243a1

+ 1 - 1
libs/concept_check

@@ -1 +1 @@
-Subproject commit 80de3d1903d7f89ad5855a3025062c9f7622fb85
+Subproject commit 30dc63f52f14babbf67bc2900fa976e7fc2c1662

+ 1 - 1
libs/config

@@ -1 +1 @@
-Subproject commit e4d4157b5aab60bdd13bc88554259f9145af1209
+Subproject commit 99052817e287980577bc2ed9de69ea24bd8976f6

+ 1 - 1
libs/conversion

@@ -1 +1 @@
-Subproject commit 4217a354f5c48ac557c162716a82a5ac6aed553f
+Subproject commit b72cb10ae69867e11b54b0767e30c580795f79b4

+ 1 - 1
libs/crc

@@ -1 +1 @@
-Subproject commit 7f6c27631705b16777898bfc8a2c29de5903cb83
+Subproject commit 84fdd8b1a42bd4674c577497380fcd4d3538bd8a

+ 1 - 1
libs/date_time

@@ -1 +1 @@
-Subproject commit ac3a5b489ace5ea91882e1b54ca025a525f082ca
+Subproject commit e68bd489a6c8cd0107eeb1848ec0bca1adc32c72

+ 1 - 1
libs/dynamic_bitset

@@ -1 +1 @@
-Subproject commit 59825bc8db26ce66bc50c5b8fe2179025f5e4264
+Subproject commit a143af6e2fd0f490a1aa8f2a05d687db59f1392d

+ 1 - 1
libs/exception

@@ -1 +1 @@
-Subproject commit 8e75a12330ba2b1174e7f60795f2a547ae2527c0
+Subproject commit 5d92a68e687b7872b15af3e72fd4b5a8863e465a

+ 1 - 1
libs/filesystem

@@ -1 +1 @@
-Subproject commit 5cde8da58783032095fe0a9d6f7cf568f9d20dbf
+Subproject commit 7e43b381e4b051f7d9e3c3dc487edb4f965896ff

+ 1 - 1
libs/foreach

@@ -1 +1 @@
-Subproject commit 7ce53a230783b8170c383200fcd55aaae575f22d
+Subproject commit f8dc734a174b842638ba0f3b90bc9f95cd59ecaa

+ 1 - 1
libs/format

@@ -1 +1 @@
-Subproject commit 9eb939261e665af7871c85bd41da40f1b00ffb35
+Subproject commit e2d59110923c4b2d50276de6833a1cee93b18663

+ 1 - 1
libs/function

@@ -1 +1 @@
-Subproject commit 07800455a89babc061e3dc72b75a6cb03048a7d5
+Subproject commit e8504c1777dcad593c2e01ceaaab6fc8a462ebe5

+ 1 - 1
libs/function_types

@@ -1 +1 @@
-Subproject commit e60e1b82aaeb1e053d0776d4aa4d515997a189e8
+Subproject commit ee8ed76bc519af1eda7a6c66fc2aca18f54d19b4

+ 1 - 1
libs/functional

@@ -1 +1 @@
-Subproject commit 2a964ed2a66c5b48518773388ef231f5b5ef4ca5
+Subproject commit 9912c9f90a0a7d8cafed8040dd786f8ee707ed4f

+ 1 - 1
libs/gil

@@ -1 +1 @@
-Subproject commit 143f65c464cbf5a8930cf280479df8da59f7232e
+Subproject commit 7057c056856d74dbb3d0941bc659a4fd3d9d429c

+ 1 - 1
libs/graph

@@ -1 +1 @@
-Subproject commit 5c899afa22257a2de6844c33fe486bbb77c3d77a
+Subproject commit 4f9ce0c88d3fb6a8362119c1eb6f5ea95b2844c6

+ 1 - 1
libs/integer

@@ -1 +1 @@
-Subproject commit c7e9da65513d7f86adf1659a33bc6e7aed167d36
+Subproject commit 768023af1ad3aad4c5336977fa6f992ee325642f

+ 1 - 1
libs/interprocess

@@ -1 +1 @@
-Subproject commit 96f9913aa8a55aa625c6509bcccad7c22d4946ca
+Subproject commit 74c8c4439251f5fd7d9e6f7e4ea9f93c3072cab1

+ 1 - 1
libs/io

@@ -1 +1 @@
-Subproject commit 3b31c330d5a1daaf187136306e67350ad28147fc
+Subproject commit 25d1746f8aefc91fd63fe7881f761a5be48e8b50

+ 1 - 1
libs/iostreams

@@ -1 +1 @@
-Subproject commit d9b4ac9da4ea80e1389dacd23e9dfe72c08acd5a
+Subproject commit 3943ddbd10aac60612a6622c71ae5a64cfba7bce

+ 1 - 1
libs/iterator

@@ -1 +1 @@
-Subproject commit b0ec5a759b074c7f6129a60f41d1adbf1bcb78ca
+Subproject commit 835498603d4fd2aaa413d9f6aad840b516779a83

+ 1 - 1
libs/lambda

@@ -1 +1 @@
-Subproject commit d56abd61ce1a00a3e271e5eed2bafecfcbb47ef0
+Subproject commit ec350abf0605aa25f19f6620a623ea025a7ccc66

+ 1 - 1
libs/logic

@@ -1 +1 @@
-Subproject commit 9df9f3daf6edff385a3cac5edad7f1be81009c56
+Subproject commit 84313760a57d9029543b12abfe0c121e4fe1b0c5

+ 1 - 1
libs/math

@@ -1 +1 @@
-Subproject commit abc4d313b44d719aa964c73cf65c62697a68d7ec
+Subproject commit 4829421fad85951cc5cc5d8b39d8bcb11553c612

+ 1 - 1
libs/mpi

@@ -1 +1 @@
-Subproject commit 627df8a3e495ab463dc1a5f6af87f37f7a709ea5
+Subproject commit 47ef4abb7567ac75b555aa2ca45312397b6bec0d

+ 1 - 1
libs/mpl

@@ -1 +1 @@
-Subproject commit 74bdc378eaa8b3c55d9b2dd50852beb32ff324f0
+Subproject commit 59b2f369d161dcb4543d5dfa5136e35834d1eec5

+ 1 - 1
libs/multi_array

@@ -1 +1 @@
-Subproject commit 32bc9b2c3fbad23051e49a4480c953c0c354e0c5
+Subproject commit 475516baca77bf06168be8ba42faf8298e86dfea

+ 1 - 1
libs/multi_index

@@ -1 +1 @@
-Subproject commit 03ebcdd0f4fae40d264c6bb45c202329c0e120b7
+Subproject commit 11f09a35587410b127503cd38f326aab20e9cc70

+ 1 - 1
libs/numeric/conversion

@@ -1 +1 @@
-Subproject commit d6e932c038998d4451147755bb039aa24de6cbd1
+Subproject commit 3c72670b7f9502ead808488d407249e4bee118eb

+ 1 - 1
libs/numeric/interval

@@ -1 +1 @@
-Subproject commit 35b7d664dc0c1941c3a61d038218980f3ebf02a3
+Subproject commit 30bd0eab6440ca76e54898a727d6f473e6eaca7d

+ 1 - 1
libs/numeric/ublas

@@ -1 +1 @@
-Subproject commit cbc0a9357d4b3750f0907237df8f20c83868809b
+Subproject commit 7a2ef17bd731ab7e43832d5379203f1247c9d57a

+ 1 - 1
libs/optional

@@ -1 +1 @@
-Subproject commit 2af3ec341bdc7075242731a02f4b731383b7f2b5
+Subproject commit e7d7b014d2db71085436149a6edfbdc25c26d636

+ 1 - 1
libs/parameter

@@ -1 +1 @@
-Subproject commit 55792af45f96f240002457a6be637935d84baf1c
+Subproject commit f9a2fba9ab37406d7ac6016cccd3b4ce9d03cbc8

+ 1 - 1
libs/pool

@@ -1 +1 @@
-Subproject commit d8ae450285e3fac3f53054dfab447382af5cd08d
+Subproject commit e7fa10f428e0283ad997fa9a21173b532b9a10a3

+ 1 - 1
libs/preprocessor

@@ -1 +1 @@
-Subproject commit c213502e2c4786ede533dd89d2001805142bbd73
+Subproject commit 8ed342548ef835328aaa3443881f654101a8aa27

+ 1 - 1
libs/program_options

@@ -1 +1 @@
-Subproject commit 23019ff2ef79b36cf29ce30a519433e08ab65c46
+Subproject commit ea2b3099940761263dcb1cf82cf560370e7a53bc

+ 1 - 1
libs/property_map

@@ -1 +1 @@
-Subproject commit dcb61a53a33dfb76527c40c1a3bb3b2b6af3e484
+Subproject commit 180bebbe1c3c8f62f5b2f31dff9a2a834ae7d666

+ 1 - 1
libs/property_tree

@@ -1 +1 @@
-Subproject commit 41c994af2a95043fdcc15b5578a7120c8059c43e
+Subproject commit f30d00f62c861a0af06f32e145950ed90ee64241

+ 1 - 1
libs/proto

@@ -1 +1 @@
-Subproject commit a23b21efd658e66cdd13421b5b25ae2a88be7655
+Subproject commit d02069ce177004f5c5d56621396bc7f221c07fda

+ 1 - 1
libs/ptr_container

@@ -1 +1 @@
-Subproject commit f7e2e3bf5ac354c81d24b95c701a4688050639be
+Subproject commit 6db7919bed5527bb7f7a547d65f85f2b4e624bbb

+ 1 - 1
libs/python

@@ -1 +1 @@
-Subproject commit 5cda75ebe702c89ef5d757795cc6211be4d2ca3b
+Subproject commit 7d2f44b21e3933c1cfec8f34f503fac177bed3c7

+ 1 - 1
libs/random

@@ -1 +1 @@
-Subproject commit b641e0b484c3b6c4bdacbd411aeaf477f63c4cd6
+Subproject commit dce702454b6675e9b32cb3152f708ea5739fbf8e

+ 1 - 1
libs/range

@@ -1 +1 @@
-Subproject commit a65512ed5c5a6f2f2ea7f78a23d8382deae2ff87
+Subproject commit 5e7948667e983c2b165afea66b1650dd30431d44

+ 1 - 1
libs/rational

@@ -1 +1 @@
-Subproject commit ac4f2e9484802316acc04bd167978c1815d36c5e
+Subproject commit c199efeaa31c3ffc56df0f9eb337e3e2e290f9a8

+ 1 - 1
libs/regex

@@ -1 +1 @@
-Subproject commit 85192b703d4909068d002c8baa0d7a008de22e32
+Subproject commit 330f23e84c2663f0b663e2383c1369d1874f5fcb

+ 1 - 1
libs/serialization

@@ -1 +1 @@
-Subproject commit bd53f9b877a7f9c01a4c767f6817c36acdb02678
+Subproject commit 93e0f250931349937f389405d9a5737cebc11359

+ 1 - 1
libs/signals

@@ -1 +1 @@
-Subproject commit 56c1df4e61151c05f58bbbcde94137613d790963
+Subproject commit c7ecbb6814c9d56747304bd83c72a8dfb4995744

+ 1 - 1
libs/smart_ptr

@@ -1 +1 @@
-Subproject commit d9b9921d236f43d3d1f01521224ae044d0845b71
+Subproject commit c40b30664750da870f97be7c616e6c4ba5186f20

+ 1 - 1
libs/spirit

@@ -1 +1 @@
-Subproject commit 16fa9c543936ab63387a16bd84386ed19966d3a4
+Subproject commit 01e11a8481322fd590e40a993865b35827249cb9

+ 1 - 1
libs/statechart

@@ -1 +1 @@
-Subproject commit 5439ddd9cce3e476323619a80e14b6b819f541ee
+Subproject commit 4f0949106fde7c52b209f91c51e1cee9784a62b1

+ 1 - 1
libs/thread

@@ -1 +1 @@
-Subproject commit 9e0550d1403e46d63008171add0e3ef2d7c44600
+Subproject commit f4dab6aac5e183563486317460f0fe506a6c1df7

+ 1 - 1
libs/timer

@@ -1 +1 @@
-Subproject commit f1998ed0e0904d425e8b7ae7ac3d247028ff58a0
+Subproject commit 4d1432733e5086160ac70d40150b7f898d2e86e8

+ 1 - 1
libs/tokenizer

@@ -1 +1 @@
-Subproject commit 3dbdc0c6a3cdfa6fee90b63383a21d578191d900
+Subproject commit ea00b485b9f7d7c0d317a826187df242e466520a

+ 1 - 1
libs/tr1

@@ -1 +1 @@
-Subproject commit 36a4d1dcb7fb98ae415ae3394ce4251bc8a8de81
+Subproject commit e4ff3b23353d1d4c57aa7e7d1dccd51c7e00e1b7

+ 1 - 1
libs/tuple

@@ -1 +1 @@
-Subproject commit 776be602e508e609222c8cb122e4ea7caf8d2641
+Subproject commit 4e452cb734c1dde597cf46dc09492348cef1bd1e

+ 1 - 1
libs/typeof

@@ -1 +1 @@
-Subproject commit f2a646b417957bff84185fd9d5677ed0e94ec141
+Subproject commit 2d046d3f9f4c91b098109e9c28f3ca7909536122

+ 1 - 1
libs/units

@@ -1 +1 @@
-Subproject commit 403c6f5cc6c35affd116df24f86bf3b3386ee1c9
+Subproject commit 2b38c9f32c566083bc3d9c4887e66e3dd24b33a5

+ 1 - 1
libs/unordered

@@ -1 +1 @@
-Subproject commit 366c09f199ed16b9d286ca9718b6d5fcee301d14
+Subproject commit 1f4d8e7c21b326052282b3af678cb39b9903dbb3

+ 1 - 1
libs/utility

@@ -1 +1 @@
-Subproject commit ebe853ff2f4c0419c12ad084b18bbdd6ea056617
+Subproject commit 53f6d106527b0293a98dbdf05f7619f7fc294fcd

+ 1 - 1
libs/variant

@@ -1 +1 @@
-Subproject commit 7df722ef6e9aaa3dae920a89aaea91da961c9047
+Subproject commit 0fe5e2e874023202fd399bd5342fe7c827b09e48

+ 1 - 1
libs/xpressive

@@ -1 +1 @@
-Subproject commit b42287c8e9fd44cf70d5f39c63c4ae72d7aa7471
+Subproject commit d1bc9aba82b471c3eda097cc36832723fbff3fad

+ 79 - 0
tools/CMakeLists.txt

@@ -1,3 +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 fa0c4930b89b1efea35ca10b0cf5d0b4995df6f1
+Subproject commit 8d502ac840d87be247cad31f1da96bcab3d13061

粤ICP备19079148号