diff options
author | Michael A. Jackson <mike.jackson@bluequartz.net> | 2008-11-07 17:02:56 +0000 |
---|---|---|
committer | Michael A. Jackson <mike.jackson@bluequartz.net> | 2008-11-07 17:02:56 +0000 |
commit | 9a856769ee0f5336200af1b1e73a41f176d6b5c3 (patch) | |
tree | b1b40ddb3bb8c663db2099c5b95b78854a684849 | |
parent | 631632fb945d7d26e3629a7fb9d9b0c51ffb2633 (diff) | |
download | boost-9a856769ee0f5336200af1b1e73a41f176d6b5c3.tar.gz |
Updating CMake files to latest trunk. Added dependency information for regression tests and a few new macros for internal use.
[SVN r49627]
73 files changed, 88 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 00f70330a5..96437cea6b 100644 --- a/CMakeLists.txt +++ b/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) ########################################################################## diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index 9ae2aea60f..4e8f87367a 100644 --- a/libs/CMakeLists.txt +++ b/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") diff --git a/libs/accumulators b/libs/accumulators -Subproject 750e5d3e2774f57c42fc2e1b081552d2d166ebd +Subproject bbc210b07b299c89cbc31942911a6f575fa109b diff --git a/libs/algorithm b/libs/algorithm -Subproject bff2a1e1128fcaf898e8a0f2d6b766893a29815 +Subproject 1188575e7beb1face3284462aeed75db463da6b diff --git a/libs/any b/libs/any -Subproject e5c34bdf1a53160f93b4487a9d934644158dac6 +Subproject cd038b4f8dc7b26d49ce55fd3a2feb69b08ed97 diff --git a/libs/array b/libs/array -Subproject a6b531b5b1a7a2ef2d770096b5ae557671ac1ff +Subproject b3ace9fb6ebbea9d44a3ef720f4983884c34ae7 diff --git a/libs/asio b/libs/asio -Subproject 2825aaaff611cdbc23feab2429a23ac056f1129 +Subproject 02ac45ba963d929cb1be5ba9edd22d527bb34a0 diff --git a/libs/assign b/libs/assign -Subproject 025ef7678d9310b6bbdc847ec5469d7a68403d0 +Subproject 4169acc6c652a438dfd253409665154cb3ca1bf diff --git a/libs/bimap b/libs/bimap -Subproject eb5c91bdb3aa0bac9a9fe42faf209e28f7a9990 +Subproject 645d9d6901fba109fa936adf0f5ebf50e0e2193 diff --git a/libs/bind b/libs/bind -Subproject 61519fcae29b2ea9e86732aed4f7adf7fb735a2 +Subproject 0b72bfbd9ba52a48a363c8be7aca43b1266a7b4 diff --git a/libs/circular_buffer b/libs/circular_buffer -Subproject 9ff6fa759ac306980e499b3cab6e0c0325be3e3 +Subproject 83d617f9e4523eaae48d94cca3aa4ed09fd243a diff --git a/libs/concept_check b/libs/concept_check -Subproject 80de3d1903d7f89ad5855a3025062c9f7622fb8 +Subproject 30dc63f52f14babbf67bc2900fa976e7fc2c166 diff --git a/libs/config b/libs/config -Subproject e4d4157b5aab60bdd13bc88554259f9145af120 +Subproject 99052817e287980577bc2ed9de69ea24bd8976f diff --git a/libs/conversion b/libs/conversion -Subproject 4217a354f5c48ac557c162716a82a5ac6aed553 +Subproject b72cb10ae69867e11b54b0767e30c580795f79b diff --git a/libs/crc b/libs/crc -Subproject 7f6c27631705b16777898bfc8a2c29de5903cb8 +Subproject 84fdd8b1a42bd4674c577497380fcd4d3538bd8 diff --git a/libs/date_time b/libs/date_time -Subproject ac3a5b489ace5ea91882e1b54ca025a525f082c +Subproject e68bd489a6c8cd0107eeb1848ec0bca1adc32c7 diff --git a/libs/dynamic_bitset b/libs/dynamic_bitset -Subproject 59825bc8db26ce66bc50c5b8fe2179025f5e426 +Subproject a143af6e2fd0f490a1aa8f2a05d687db59f1392 diff --git a/libs/exception b/libs/exception -Subproject 8e75a12330ba2b1174e7f60795f2a547ae2527c +Subproject 5d92a68e687b7872b15af3e72fd4b5a8863e465 diff --git a/libs/filesystem b/libs/filesystem -Subproject 5cde8da58783032095fe0a9d6f7cf568f9d20db +Subproject 7e43b381e4b051f7d9e3c3dc487edb4f965896f diff --git a/libs/foreach b/libs/foreach -Subproject 7ce53a230783b8170c383200fcd55aaae575f22 +Subproject f8dc734a174b842638ba0f3b90bc9f95cd59eca diff --git a/libs/format b/libs/format -Subproject 9eb939261e665af7871c85bd41da40f1b00ffb3 +Subproject e2d59110923c4b2d50276de6833a1cee93b1866 diff --git a/libs/function b/libs/function -Subproject 07800455a89babc061e3dc72b75a6cb03048a7d +Subproject e8504c1777dcad593c2e01ceaaab6fc8a462ebe diff --git a/libs/function_types b/libs/function_types -Subproject e60e1b82aaeb1e053d0776d4aa4d515997a189e +Subproject ee8ed76bc519af1eda7a6c66fc2aca18f54d19b diff --git a/libs/functional b/libs/functional -Subproject 2a964ed2a66c5b48518773388ef231f5b5ef4ca +Subproject 9912c9f90a0a7d8cafed8040dd786f8ee707ed4 diff --git a/libs/gil b/libs/gil -Subproject 143f65c464cbf5a8930cf280479df8da59f7232 +Subproject 7057c056856d74dbb3d0941bc659a4fd3d9d429 diff --git a/libs/graph b/libs/graph -Subproject 5c899afa22257a2de6844c33fe486bbb77c3d77 +Subproject 4f9ce0c88d3fb6a8362119c1eb6f5ea95b2844c diff --git a/libs/integer b/libs/integer -Subproject c7e9da65513d7f86adf1659a33bc6e7aed167d3 +Subproject 768023af1ad3aad4c5336977fa6f992ee325642 diff --git a/libs/interprocess b/libs/interprocess -Subproject 96f9913aa8a55aa625c6509bcccad7c22d4946c +Subproject 74c8c4439251f5fd7d9e6f7e4ea9f93c3072cab diff --git a/libs/io b/libs/io -Subproject 3b31c330d5a1daaf187136306e67350ad28147f +Subproject 25d1746f8aefc91fd63fe7881f761a5be48e8b5 diff --git a/libs/iostreams b/libs/iostreams -Subproject d9b4ac9da4ea80e1389dacd23e9dfe72c08acd5 +Subproject 3943ddbd10aac60612a6622c71ae5a64cfba7bc diff --git a/libs/iterator b/libs/iterator -Subproject b0ec5a759b074c7f6129a60f41d1adbf1bcb78c +Subproject 835498603d4fd2aaa413d9f6aad840b516779a8 diff --git a/libs/lambda b/libs/lambda -Subproject d56abd61ce1a00a3e271e5eed2bafecfcbb47ef +Subproject ec350abf0605aa25f19f6620a623ea025a7ccc6 diff --git a/libs/logic b/libs/logic -Subproject 9df9f3daf6edff385a3cac5edad7f1be81009c5 +Subproject 84313760a57d9029543b12abfe0c121e4fe1b0c diff --git a/libs/math b/libs/math -Subproject abc4d313b44d719aa964c73cf65c62697a68d7e +Subproject 4829421fad85951cc5cc5d8b39d8bcb11553c61 diff --git a/libs/mpi b/libs/mpi -Subproject 627df8a3e495ab463dc1a5f6af87f37f7a709ea +Subproject 47ef4abb7567ac75b555aa2ca45312397b6bec0 diff --git a/libs/mpl b/libs/mpl -Subproject 74bdc378eaa8b3c55d9b2dd50852beb32ff324f +Subproject 59b2f369d161dcb4543d5dfa5136e35834d1eec diff --git a/libs/multi_array b/libs/multi_array -Subproject 32bc9b2c3fbad23051e49a4480c953c0c354e0c +Subproject 475516baca77bf06168be8ba42faf8298e86dfe diff --git a/libs/multi_index b/libs/multi_index -Subproject 03ebcdd0f4fae40d264c6bb45c202329c0e120b +Subproject 11f09a35587410b127503cd38f326aab20e9cc7 diff --git a/libs/numeric/conversion b/libs/numeric/conversion -Subproject d6e932c038998d4451147755bb039aa24de6cbd +Subproject 3c72670b7f9502ead808488d407249e4bee118e diff --git a/libs/numeric/interval b/libs/numeric/interval -Subproject 35b7d664dc0c1941c3a61d038218980f3ebf02a +Subproject 30bd0eab6440ca76e54898a727d6f473e6eaca7 diff --git a/libs/numeric/ublas b/libs/numeric/ublas -Subproject cbc0a9357d4b3750f0907237df8f20c83868809 +Subproject 7a2ef17bd731ab7e43832d5379203f1247c9d57 diff --git a/libs/optional b/libs/optional -Subproject 2af3ec341bdc7075242731a02f4b731383b7f2b +Subproject e7d7b014d2db71085436149a6edfbdc25c26d63 diff --git a/libs/parameter b/libs/parameter -Subproject 55792af45f96f240002457a6be637935d84baf1 +Subproject f9a2fba9ab37406d7ac6016cccd3b4ce9d03cbc diff --git a/libs/pool b/libs/pool -Subproject d8ae450285e3fac3f53054dfab447382af5cd08 +Subproject e7fa10f428e0283ad997fa9a21173b532b9a10a diff --git a/libs/preprocessor b/libs/preprocessor -Subproject c213502e2c4786ede533dd89d2001805142bbd7 +Subproject 8ed342548ef835328aaa3443881f654101a8aa2 diff --git a/libs/program_options b/libs/program_options -Subproject 23019ff2ef79b36cf29ce30a519433e08ab65c4 +Subproject ea2b3099940761263dcb1cf82cf560370e7a53b diff --git a/libs/property_map b/libs/property_map -Subproject dcb61a53a33dfb76527c40c1a3bb3b2b6af3e48 +Subproject 180bebbe1c3c8f62f5b2f31dff9a2a834ae7d66 diff --git a/libs/property_tree b/libs/property_tree -Subproject 41c994af2a95043fdcc15b5578a7120c8059c43 +Subproject f30d00f62c861a0af06f32e145950ed90ee6424 diff --git a/libs/proto b/libs/proto -Subproject a23b21efd658e66cdd13421b5b25ae2a88be765 +Subproject d02069ce177004f5c5d56621396bc7f221c07fd diff --git a/libs/ptr_container b/libs/ptr_container -Subproject f7e2e3bf5ac354c81d24b95c701a4688050639b +Subproject 6db7919bed5527bb7f7a547d65f85f2b4e624bb diff --git a/libs/python b/libs/python -Subproject 5cda75ebe702c89ef5d757795cc6211be4d2ca3 +Subproject 7d2f44b21e3933c1cfec8f34f503fac177bed3c diff --git a/libs/random b/libs/random -Subproject b641e0b484c3b6c4bdacbd411aeaf477f63c4cd +Subproject dce702454b6675e9b32cb3152f708ea5739fbf8 diff --git a/libs/range b/libs/range -Subproject a65512ed5c5a6f2f2ea7f78a23d8382deae2ff8 +Subproject 5e7948667e983c2b165afea66b1650dd30431d4 diff --git a/libs/rational b/libs/rational -Subproject ac4f2e9484802316acc04bd167978c1815d36c5 +Subproject c199efeaa31c3ffc56df0f9eb337e3e2e290f9a diff --git a/libs/regex b/libs/regex -Subproject 85192b703d4909068d002c8baa0d7a008de22e3 +Subproject 330f23e84c2663f0b663e2383c1369d1874f5fc diff --git a/libs/serialization b/libs/serialization -Subproject bd53f9b877a7f9c01a4c767f6817c36acdb0267 +Subproject 93e0f250931349937f389405d9a5737cebc1135 diff --git a/libs/signals b/libs/signals -Subproject 56c1df4e61151c05f58bbbcde94137613d79096 +Subproject c7ecbb6814c9d56747304bd83c72a8dfb499574 diff --git a/libs/smart_ptr b/libs/smart_ptr -Subproject d9b9921d236f43d3d1f01521224ae044d0845b7 +Subproject c40b30664750da870f97be7c616e6c4ba5186f2 diff --git a/libs/spirit b/libs/spirit -Subproject 16fa9c543936ab63387a16bd84386ed19966d3a +Subproject 01e11a8481322fd590e40a993865b35827249cb diff --git a/libs/statechart b/libs/statechart -Subproject 5439ddd9cce3e476323619a80e14b6b819f541e +Subproject 4f0949106fde7c52b209f91c51e1cee9784a62b diff --git a/libs/thread b/libs/thread -Subproject 9e0550d1403e46d63008171add0e3ef2d7c4460 +Subproject f4dab6aac5e183563486317460f0fe506a6c1df diff --git a/libs/timer b/libs/timer -Subproject f1998ed0e0904d425e8b7ae7ac3d247028ff58a +Subproject 4d1432733e5086160ac70d40150b7f898d2e86e diff --git a/libs/tokenizer b/libs/tokenizer -Subproject 3dbdc0c6a3cdfa6fee90b63383a21d578191d90 +Subproject ea00b485b9f7d7c0d317a826187df242e466520 diff --git a/libs/tr1 b/libs/tr1 -Subproject 36a4d1dcb7fb98ae415ae3394ce4251bc8a8de8 +Subproject e4ff3b23353d1d4c57aa7e7d1dccd51c7e00e1b diff --git a/libs/tuple b/libs/tuple -Subproject 776be602e508e609222c8cb122e4ea7caf8d264 +Subproject 4e452cb734c1dde597cf46dc09492348cef1bd1 diff --git a/libs/typeof b/libs/typeof -Subproject f2a646b417957bff84185fd9d5677ed0e94ec14 +Subproject 2d046d3f9f4c91b098109e9c28f3ca790953612 diff --git a/libs/units b/libs/units -Subproject 403c6f5cc6c35affd116df24f86bf3b3386ee1c +Subproject 2b38c9f32c566083bc3d9c4887e66e3dd24b33a diff --git a/libs/unordered b/libs/unordered -Subproject 366c09f199ed16b9d286ca9718b6d5fcee301d1 +Subproject 1f4d8e7c21b326052282b3af678cb39b9903dbb diff --git a/libs/utility b/libs/utility -Subproject ebe853ff2f4c0419c12ad084b18bbdd6ea05661 +Subproject 53f6d106527b0293a98dbdf05f7619f7fc294fc diff --git a/libs/variant b/libs/variant -Subproject 7df722ef6e9aaa3dae920a89aaea91da961c904 +Subproject 0fe5e2e874023202fd399bd5342fe7c827b09e4 diff --git a/libs/xpressive b/libs/xpressive -Subproject b42287c8e9fd44cf70d5f39c63c4ae72d7aa747 +Subproject d1bc9aba82b471c3eda097cc36832723fbff3fa diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 0eeef8f0f2..cc6a0db7b4 100644 --- a/tools/CMakeLists.txt +++ b/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)
\ No newline at end of file diff --git a/tools/bcp b/tools/bcp -Subproject fa0c4930b89b1efea35ca10b0cf5d0b4995df6f +Subproject 8d502ac840d87be247cad31f1da96bcab3d1306 |