$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: dgregor_at_[hidden]
Date: 2008-03-04 12:52:58
Author: dgregor
Date: 2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
New Revision: 43495
URL: http://svn.boost.org/trac/boost/changeset/43495
Log:
Import Boost-CMake work for 1.35.0
Added:
   branches/CMake-release/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/README.txt   (contents, props changed)
   branches/CMake-release/Welcome.txt   (contents, props changed)
   branches/CMake-release/libs/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/algorithm/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/algorithm/minmax/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/algorithm/string/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/any/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/any/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/array/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/array/test/
   branches/CMake-release/libs/array/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/assign/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/assign/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/bind/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/bind/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/concept_check/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/concept_check/test/
   branches/CMake-release/libs/concept_check/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/config/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/config/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/conversion/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/conversion/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/crc/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/crc/test/
   branches/CMake-release/libs/crc/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/date_time/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/date_time/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/date_time/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/disjoint_sets/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/disjoint_sets/test/
   branches/CMake-release/libs/disjoint_sets/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/dynamic_bitset/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/dynamic_bitset/test/
   branches/CMake-release/libs/dynamic_bitset/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/filesystem/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/filesystem/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/filesystem/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/foreach/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/foreach/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/format/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/format/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/function/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/function/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/functional/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/functional/hash/examples/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/functional/hash/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/functional/test/
   branches/CMake-release/libs/functional/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/graph/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/graph/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/graph/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/integer/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/integer/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/io/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/io/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/iostreams/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/iostreams/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/iostreams/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/iterator/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/iterator/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/lambda/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/lambda/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/logic/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/logic/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/math/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/math/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/mpl/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/mpl/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/multi_array/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/multi_array/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/multi_index/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/multi_index/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/numeric/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/numeric/conversion/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/numeric/interval/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/numeric/ublas/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/optional/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/optional/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/parameter/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/parameter/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/pool/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/pool/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/preprocessor/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/preprocessor/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/program_options/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/program_options/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/program_options/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/property_map/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/property_map/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/ptr_container/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/ptr_container/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/python/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/python/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/python/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/random/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/random/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/range/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/range/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/rational/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/rational/test/
   branches/CMake-release/libs/rational/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/regex/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/regex/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/regex/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/serialization/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/serialization/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/serialization/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/signals/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/signals/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/signals/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/smart_ptr/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/smart_ptr/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/spirit/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/spirit/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/spirit/test/actor/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/spirit/test/typeof_support/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/statechart/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/statechart/example/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/statechart/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/static_assert/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/static_assert/test/
   branches/CMake-release/libs/static_assert/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/system/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/system/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/test/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/test/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/thread/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/thread/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/thread/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/timer/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/timer/test/
   branches/CMake-release/libs/timer/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/tokenizer/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/tokenizer/test/
   branches/CMake-release/libs/tokenizer/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/tr1/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/tr1/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/tuple/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/tuple/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/type_traits/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/type_traits/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/typeof/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/typeof/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/utility/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/utility/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/variant/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/variant/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/wave/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/wave/src/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/wave/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/xpressive/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/libs/xpressive/test/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/tools/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/tools/build/CMake/
   branches/CMake-release/tools/build/CMake/BoostConfig.cmake   (contents, props changed)
   branches/CMake-release/tools/build/CMake/BoostCore.cmake   (contents, props changed)
   branches/CMake-release/tools/build/CMake/BoostTesting.cmake   (contents, props changed)
   branches/CMake-release/tools/build/CMake/BoostUtils.cmake   (contents, props changed)
   branches/CMake-release/tools/build/CMake/CompileTest/
   branches/CMake-release/tools/build/CMake/CompileTest/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/tools/build/CMake/FindICU.cmake   (contents, props changed)
   branches/CMake-release/tools/build/CMake/LinkTest/
   branches/CMake-release/tools/build/CMake/LinkTest/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/tools/quickbook/CMakeLists.txt   (contents, props changed)
   branches/CMake-release/tools/wave/CMakeLists.txt   (contents, props changed)
Added: branches/CMake-release/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,172 @@
+##########################################################################
+# CMake Build Rules for Boost                                            #
+##########################################################################
+# Copyright (C) 2007, 2008 Douglas Gregor <doug.gregor_at_[hidden]>        #
+# 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.4.5 FATAL_ERROR)
+set(CMAKE_BACKWARDS_COMPATIBILITY 2.4)
+project(Boost)
+
+##########################################################################
+# Version information                                                    #
+##########################################################################
+set(BOOST_VERSION_MAJOR 1)
+set(BOOST_VERSION_MINOR 35)
+set(BOOST_VERSION_SUBMINOR 0)
+set(BOOST_VERSION "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}")
+##########################################################################
+
+##########################################################################
+# Boost CMake modules                                                    #
+##########################################################################
+list(APPEND CMAKE_MODULE_PATH ${Boost_SOURCE_DIR}/tools/build/CMake)
+include(BoostUtils)
+include(BoostConfig)
+include(BoostCore)
+include(BoostTesting)
+##########################################################################
+
+##########################################################################
+# Build Features and Variants                                            #
+##########################################################################
+
+# 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" ON)
+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)
+if(MSVC)
+  boost_add_default_variant(MULTI_THREADED SINGLE_THREADED)
+else(MSVC)
+  boost_add_default_variant(SINGLE_THREADED MULTI_THREADED)
+endif(MSVC)
+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
+        REGEX ".svn" EXCLUDE)
+##########################################################################
+
+##########################################################################
+# Binary packages                                                        #
+##########################################################################
+set(CPACK_PACKAGE_NAME "Boost")
+set(CPACK_PACKAGE_VENDOR "Boost.org")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${Boost_SOURCE_DIR}/README.txt")
+set(CPACK_RESOURCE_FILE_README "${Boost_SOURCE_DIR}/README.txt")
+set(CPACK_RESOURCE_FILE_LICENSE "${Boost_SOURCE_DIR}/LICENSE_1_0.txt")
+set(CPACK_RESOURCE_FILE_WELCOME "${Boost_SOURCE_DIR}/Welcome.txt")
+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_at_[hidden]")
+  set(CPACK_NSIS_MODIFY_PATH ON)
+  
+  # Encode the compiler name in the package 
+  if (MSVC60)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc6")
+  elseif (MSVC70)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc7")
+  elseif (MSVC71)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc71")
+  elseif (MSVC80)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc8")
+  elseif (BORLAND)
+    set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-borland")  
+  endif (MSVC60)
+endif(WIN32 AND NOT UNIX)
+include(CPack)
+##########################################################################
+
+
+##########################################################################
+# Building Boost libraries                                               #
+##########################################################################
+# Always include the Boost source directory, so that we can find
+# include files in boost/
+include_directories(${Boost_SOURCE_DIR})
+
+# 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(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
+SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
+
+# 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 all of the Boost libraries
+add_subdirectory(libs)
+
+# Add build rules for all of the Boost tools
+add_subdirectory(tools)
+##########################################################################
Added: branches/CMake-release/README.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/README.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,210 @@
+Boost 1.34.0, the latest version of peer-reviewed, portable C++ 
+libraries, has been released. This release brings five new libraries
+and extensive updates to existing libraries.
+
+New Libraries
+
+    * Foreach Library: 
+        BOOST_FOREACH macro for easily iterating over the elements of a
+        sequence, from Eric Niebler.
+    * Statechart Library: 
+        Arbitrarily complex finite state machines can be implemented in
+        easily readable and maintainable C++ code, from Andreas Huber.
+    * TR1 Library: 
+        An implementation of the C++ Technical Report on Standard Library
+        Extensions, from John Maddock.
+        This library does not itself implement the TR1 components, rather
+        it's a thin wrapper that will include your standard library's TR1
+        implementation (if it has one), otherwise it will include the Boost
+        Library equivalents, and import them into namespace std::tr1. Highlights
+        include: Reference Wrappers, Smart Pointers, result_of,
+        Function Object Binders, Polymorphic function wrappers, Type Traits,
+        Random Number Generators and Distributions, Tuples, Fixed Size Array,
+        Hash Function Objects, Regular Expressions and
+        Complex Number Additional Algorithms.
+    * Typeof Library: 
+        Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt.
+    * Xpressive Library: 
+        Regular expressions that can be written as strings or as expression
+        templates, and that can refer to each other and themselves recursively
+        with the power of context-free grammars, from Eric Niebler.
+
+Updated Libraries
+
+    * Assign Library:
+          o Support for ptr_map<key,T> via the new function ptr_map_insert()
+          o Support for initialization of Pointer Containers when the containers
+            hold pointers to an abstract base class.
+    * Date_time library:
+          o Support for new US/Canada timezone rules and other bug fixes.
+            See Change History for details.
+    * Filesystem Library: 
+        Major upgrade in preparation for submission to the C++ Standards Committee
+        for TR2. Changes include:
+          o Internationalization, provided by class templates basic_path,
+            basic_filesystem_error, basic_directory_iterator
+            and basic_directory_entry.
+          o Simplification of the path interface by eliminating special constructors
+            to identify native formats.
+          o Rationalization of predicate function design, including the addition of
+            several new functions.
+          o Clearer specification by reference to POSIX, the ISO/IEEE Single Unix
+            Standard, with provisions for Windows and other operating systems.
+          o Preservation of existing user code whenever possible.
+          o More efficient directory iteration.
+          o Addition of a recursive directory iterator.
+    * Function Library: 
+        Boost.Function now implements a small buffer optimization, which can
+        drastically improve the performance when copying or constructing 
+        Boost.Function objects storing small function objects. For instance,
+        bind(&X:foo, &x, _1, _2) requires no heap allocation when placed into
+        a Boost.Function object.
+    * Functional/Hash Library
+          o Use declarations for standard classes, so that the library doesn't
+            need to include all of their headers
+          o Deprecated the <boost/functional/hash/*.hpp> headers.
+          o Add support for the BOOST_HASH_NO_EXTENSIONS macro, which disables
+            the extensions to TR1
+          o Minor improvements to the hash functions for floating point numbers.
+    * Graph Library:
+          o edmonds_maximum_cardinality_matching, from Aaron Windsor.
+          o lengauer_tarjan_dominator_tree, from JongSoo Park.
+          o compressed_sparse_row_graph, from Jeremiah Willcock and Douglas Gregor
+            of Indiana University.
+          o sorted_erdos_renyi_iterator, from Jeremiah Willcock
+            of Indiana University.
+          o biconnected_components now supports a visitor and named parameters,
+            from Janusz Piwowarski.
+          o adjacency_matrix now models the Bidirectional Graph concept.
+          o dijkstra_shortest_paths now calls vis.initialize_vertex for each
+            vertex during initialization.
+          o Note: the name of the compiled library for the GraphViz reader has
+            changed to boost_graph (from bgl-viz) to match Boost conventions.
+          o See the complete revision history for more information.
+    * MultiArray Library: 
+        Boost.MultiArray now by default provides range-checking for operator[].
+        Range checking can be disabled by defining the macro BOOST_DISABLE_ASSERTS
+        before including multi_array.hpp. A bug in multi_array::resize() related
+        to storage orders was fixed.
+    * Multi-index Containers Library:
+          o New random access indices.
+          o Non key-based indices feature new rearrange facilities.
+          o This version also includes a number of optimizations and usage
+            improvements. For a complete list of changes,
+            see the library release notes.
+    * Optional Library:
+          o boost::none_t and boost::none now added to Optional's documentation
+          o Relational operators now directly support arguments of type 'T'
+            and 'none_t'
+          o operator->() now also works with reference types.
+          o Helper functions make_optional(val), make_optional(cond,val)
+            and get_optional_value_or(opt,alternative_value) added.
+          o Constructor taking a boolean condition (as well as a value) added.
+          o Member function get_value_or(alternative_value) added.
+          o Incompatbility bug with mpl::apply<> fixed.
+          o Converting assignment bug with uninitialized lvalues fixed.
+    * Parameter Library:
+          o Every ArgumentPack is now a valid MPL Forward Sequence.
+          o Support for unnamed arguments (those whose keyword is deduced from
+            their types) is added.
+          o Support for named and unnamed template arguments is added.
+          o New overload generation macros solve the forwarding problem directly.
+          o See also the Python library changes, below.
+    * Pointer Container Library:
+          o Support for serialization via Boost.Serialization.
+          o Exceptions can be disabled by defining the macro 
+            BOOST_PTR_CONTAINER_NO_EXCEPTIONS before including any header.
+            This macro is defined by default if BOOST_NO_EXCEPTIONS is defined.
+          o Additional std::auto_ptr<T> overloads added s.t. one can also pass
+            std::auto_ptr<T> instead of only T* arguments to member functions.
+          o transfer() now has weaker requirements s.t. one can transfer objects
+            from ptr_container<Derived> to ptr_container<Base>,
+    * Python Library:
+          o Boost.Python now automatically appends C++ signatures to docstrings.
+            The new docstring_options.hpp header is available to control the
+            content of docstrings.
+          o stl_input_iterator, for turning a Python iterable object into an STL
+            input iterator, from Eric Niebler.
+          o Support for void* conversions is added.
+          o Integrated support for wrapping C++ functions built with the
+            parameter library; keyword names are automatically known to
+            docsstrings.
+          o Enhancements to the API for better embedding support
+            (boost::python::import(), boost::python::exec()
+             and boost::python::exec_file()).
+    * Signals Library: 
+        More improvements to signal invocation performance from Robert Zeh.
+    * Smart Pointers Library:
+          o Allocator support as proposed in N1851 (162 Kb PDF).
+          o pointer_cast and pointer_to_other utilities to allow
+            pointer-independent code, from Ion Gaztanaga.
+    * String Algorithm Library:
+          o lexicographical_compare
+          o join
+          o New comparison predicates is_less, is_not_greater.
+          o Negative indexes support (like Perl) in various algorihtms
+            (*_head/tail, *_nth).
+    * Wave Library:
+          o Wave now correctly recognizes pp-number tokens as mandated by the
+            C++ Standard, which are converted to C++ tokens right before they are
+            returned from the library.
+          o Several new preprocessing hooks have been added. For a complete
+            description please refer to the related documentation page:
+            The Context Policy.
+          o Shared library (dll) support has been added for the generated Wave
+            libraries.
+          o The overall error handling has been improved. It is now possible to
+            recover and continue after an error or a warning was issued.
+          o Support for optional comment and/or full whitespace preservation
+            in the generated output stream has been added.
+          o The Wave library now performs automatic include guard detection to
+            avoid accessing header files more than once, if appropriate.
+          o Full interactive mode has been added to the Wave tool. Now the Wave
+            tool can be used just like Python or Perl for instance to
+            interactively try out your BOOST_PP macros. Additionally it is now
+            possible to load and save the current state of an interactive
+            session (macro tables et.al.).
+          o The overall performance has been improved by upto 40-60%, depending
+            on the concrete files to process.
+          o Support for new pragmas has been added allowing to control certain
+            library features from inside the preprocessed sources (partial
+            output redirection, control of generated whitespace and #line
+            directives).
+          o Optional support for #pragma message "..." has been added.
+          o This version also includes a number of bug fixes and usage
+            improvements. For a complete list of changes, see the libraries
+            change log.
+
+Supported Compilers
+
+  Boost is tested on a wide range of compilers and platforms. Since Boost libraries
+  rely on modern C++ features not available in all compilers, not all Boost
+  libraries will work with every compiler. The following compilers and platforms
+  have been extensively tested with Boost, although many other compilers and
+  platforms will work as well. For more information, see the regression test
+  results.
+
+    * Apple GCC 4.0.1 on Mac OS X.
+    * Borland C++ 5.8.2 on Windows.
+    * GNU C++
+          o 3.2.x., 3.3.x, 3.4.x, 4.0.x, 4.1.x on Linux
+          o 4.1.x on Solaris
+          o 3.4.x on Windows
+    * HP aC++ A.06.14.
+    * Intel C++ 9.1 on Windows, 9.0 on Linux.
+    * Metrowerks CodeWarrior 9.4 on Windows.
+    * Microsoft Visual C++ 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0.
+      Note: Boost does not support the non-standard "Safe" C++ Library shipping
+      with Visual C++ 8.0, which may result in many spurious warnings from Boost
+      headers and other standards-conforming C++ code. To suppress these warnings,
+      define the macro _SCL_SECURE_NO_DEPRECATE.
+    * Sun Studio 11 on Solaris.
+
+Acknowledgements
+
+  Thomas Witt managed this release.
+
+  A great number of people contributed their time and expertise to make this release
+  possible. Special thanks go to Vladimir Prus for making Boost.Build version 2 a
+  reality, David Abrahams for authoring a new Getting Started guide, Rene Rivera for
+  general build and installation support and Greg D. for answering countless questions.
\ No newline at end of file
Added: branches/CMake-release/Welcome.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/Welcome.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+Welcome to Boost!
+
+Boost provides free peer-reviewed portable C++ source libraries.
+
+We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
+
+We aim to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries are already included in the C++ Standards Committee's Library Technical Report ( TR1) as a step toward becoming part of a future C++ Standard. More Boost libraries are proposed for the upcoming TR2.
Added: branches/CMake-release/libs/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,25 @@
+# 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)
+  file(GLOB BOOST_LIBRARY_CMAKE_FILES 
+    RELATIVE "${CMAKE_SOURCE_DIR}/libs" "*/CMakeLists.txt")
+  MESSAGE(STATUS "Scanning subdirectories:")
+  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)
+
+boost_collect_subproject_directory_names(BOOST_SUBPROJECT_DIRS)
+add_subdirectories(" + " ${BOOST_SUBPROJECT_DIRS})
+
Added: branches/CMake-release/libs/algorithm/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/algorithm/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Algorithm 
+  TESTDIRS minmax/test string/test
+  )
Added: branches/CMake-release/libs/algorithm/minmax/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/algorithm/minmax/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,2 @@
+boost_test_run(minmax_element_test)
+boost_test_run(minmax_test)
Added: branches/CMake-release/libs/algorithm/string/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/algorithm/string/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,10 @@
+boost_test_run(trim_test)
+
+boost_test_run(conv_test)
+boost_test_run(predicate_test)
+boost_test_run(find_test)
+boost_test_run(split_test)
+boost_test_run(join_test)
+boost_test_run(replace_test)
+boost_test_run(regex_test DEPENDS boost_regex SHARED)
+
Added: branches/CMake-release/libs/any/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/any/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_library_project(
+  Any
+  TESTDIRS test
+)
+
+
Added: branches/CMake-release/libs/any/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/any/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,2 @@
+boost_test_run(any_test ../any_test.cpp)
+
Added: branches/CMake-release/libs/array/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/array/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Array
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/array/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/array/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_test_run(array0 ../array0.cpp)
+boost_test_run(array1 ../array1.cpp)
+boost_test_run(array2 ../array2.cpp)
+boost_test_run(array3 ../array3.cpp)
+boost_test_run(array4 ../array4.cpp)
+boost_test_run(array5 ../array5.cpp)
Added: branches/CMake-release/libs/assign/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/assign/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_library_project(
+  Assign
+  TESTDIRS test
+)
+
+
Added: branches/CMake-release/libs/assign/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/assign/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,19 @@
+SET(TESTS 
+ basic
+ std
+ list_of
+ ptr_list_of
+ static_list_of
+ tuple_list_of
+ list_inserter
+ ptr_list_inserter
+ ptr_map_inserter
+ list_of_workaround 
+ email_example
+ my_vector_example
+ multi_index_container)
+
+FOREACH(test ${TESTS})
+  boost_test_run(${test} DEPENDS boost_unit_test_framework)
+ENDFOREACH(test ${TESTS})
+
Added: branches/CMake-release/libs/bind/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/bind/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_library_project(
+  Bind
+  TESTDIRS test
+)
+
+
Added: branches/CMake-release/libs/bind/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/bind/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,28 @@
+SET(tests 
+    bind_test
+    bind_dm_test
+    bind_eq_test
+    bind_const_test
+    bind_cv_test
+    bind_stateful_test
+    bind_dm2_test
+    bind_not_test
+    bind_rel_test
+    bind_function_test
+    bind_lookup_problem_test
+    bind_rv_sp_test
+    bind_dm3_test
+    bind_visit_test 
+    mem_fn_test 
+    mem_fn_void_test 
+    mem_fn_derived_test 
+    mem_fn_eq_test 
+    mem_fn_dm_test 
+    mem_fn_rv_test 
+    )
+FOREACH(test ${tests})
+  boost_test_run(${test})
+ENDFOREACH(test ${tests})
+
+boost_test_compile(bind_unary_addr)
+
Added: branches/CMake-release/libs/concept_check/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/concept_check/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_library_project(
+  Concept_check
+  TESTDIRS test
+)
+
+
Added: branches/CMake-release/libs/concept_check/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/concept_check/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+# this fails but looks like it isn't the build
+# boost_test_run(../stl_concept_covering)
+boost_test_run(concept_check_test ../concept_check_test.cpp)
+boost_test_run(class_concept_check_test ../class_concept_check_test.cpp)
+boost_test_compile_fail(concept_check_fail_expected ../concept_check_fail_expected.cpp)
+boost_test_compile_fail(class_concept_fail_expected ../class_concept_fail_expected.cpp)
Added: branches/CMake-release/libs/config/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/config/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,3 @@
+boost_library_project(
+  Config
+  TESTDIRS test)
Added: branches/CMake-release/libs/config/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/config/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,255 @@
+#
+# Regression test rules for Boost configuration setup.
+# *** DO NOT EDIT THIS FILE BY HAND ***
+# This file was automatically generated on Fri May 18 22:13:10 2007
+#  by libs/config/tools/generate.cpp
+# Copyright John Maddock and Douglas Gregor.
+# Use, modification and distribution are subject to 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)
+macro(boost_configure what var)
+  file(READ ${CMAKE_CURRENT_SOURCE_DIR}/${what}.ipp SRC)
+  check_cxx_source_compiles("${SRC}  int main(int, char**) { }" tmp)
+  set(${var} ${tmp})
+endmacro(boost_configure what)
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/main.cpp "int main(int, char**) { }")
+
+# 
+# it would seem a lot easier to do this kind of thing here and write a config.h at build time
+# rather than checking all this stuff in 
+#
+
+boost_configure(boost_has_pthread_yield BOOST_HAS_PTHREAD_YIELD)
+# boost_configure(boost_has_nanosleep BOOST_HAS_NANOSLEEP)
+# boost_configure(boost_has_pthread_ma_st BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE)
+# boost_configure(boost_no_ded_typename BOOST_DEDUCED_TYPENAME)
+
+set(vars "BOOST_HAS_PTHREAD_YIELD")
+foreach(var ${vars})
+  if(${var})
+    add_definitions(-D${var})
+  endif(${var})
+endforeach(var ${vars})
+
+boost_test_run(config_info)
+boost_test_run(math_info)
+
+
+# if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+#  set(threadlibs "LIBRARIES;pthread;rt")
+# endif(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+# these aren't really tests anyway
+#set(tests_need_threadlibs config_test has_clock_gettime_pass has_pthread_ma_st_pass has_pthread_yield_pass)
+#foreach(test ${tests_need_threadlibs})
+#  boost_test_run(${test})
+#endforeach(test ${tests_need_threadlibs})
+
+
+boost_test_run(limits_test DEPENDS boost_test_exec_monitor)
+boost_test_run(abi_test abi/abi_test.cpp abi/main.cpp)
+
+boost_test_run(has_2arg_use_facet_pass)
+boost_test_compile_fail(has_2arg_use_facet_fail)
+boost_test_run(has_bethreads_pass)
+boost_test_compile_fail(has_bethreads_fail)
+boost_test_compile_fail(has_clock_gettime_fail)
+boost_test_run(has_dirent_h_pass)
+boost_test_compile_fail(has_dirent_h_fail)
+boost_test_run(has_expm1_pass)
+boost_test_compile_fail(has_expm1_fail)
+boost_test_run(has_ftime_pass)
+boost_test_compile_fail(has_ftime_fail)
+boost_test_run(has_gettimeofday_pass)
+boost_test_compile_fail(has_gettimeofday_fail)
+boost_test_run(has_hash_pass)
+boost_test_compile_fail(has_hash_fail)
+boost_test_run(has_log1p_pass)
+boost_test_compile_fail(has_log1p_fail)
+boost_test_run(has_long_long_pass)
+boost_test_compile_fail(has_long_long_fail)
+boost_test_run(has_macro_use_facet_pass)
+boost_test_compile_fail(has_macro_use_facet_fail)
+boost_test_run(has_ms_int64_pass)
+boost_test_compile_fail(has_ms_int64_fail)
+boost_test_run(has_nanosleep_pass)
+boost_test_compile_fail(has_nanosleep_fail)
+boost_test_run(has_nl_types_h_pass)
+boost_test_compile_fail(has_nl_types_h_fail)
+boost_test_run(has_nrvo_pass)
+boost_test_compile_fail(has_nrvo_fail)
+boost_test_run(has_part_alloc_pass)
+boost_test_compile_fail(has_part_alloc_fail)
+boost_test_run(has_pthread_delay_np_pass)
+boost_test_compile_fail(has_pthread_delay_np_fail)
+
+boost_test_compile_fail(has_pthread_ma_st_fail)
+boost_test_compile_fail(has_pthread_yield_fail)
+boost_test_run(has_pthreads_pass)
+boost_test_compile_fail(has_pthreads_fail)
+boost_test_run(has_sched_yield_pass)
+boost_test_compile_fail(has_sched_yield_fail)
+boost_test_run(has_sgi_type_traits_pass)
+boost_test_compile_fail(has_sgi_type_traits_fail)
+boost_test_run(has_sigaction_pass)
+boost_test_compile_fail(has_sigaction_fail)
+boost_test_run(has_slist_pass)
+boost_test_compile_fail(has_slist_fail)
+boost_test_run(has_stdint_h_pass)
+boost_test_compile_fail(has_stdint_h_fail)
+boost_test_run(has_stlp_use_facet_pass)
+boost_test_compile_fail(has_stlp_use_facet_fail)
+boost_test_run(has_tr1_array_pass)
+boost_test_compile_fail(has_tr1_array_fail)
+boost_test_run(has_tr1_bind_pass)
+boost_test_compile_fail(has_tr1_bind_fail)
+boost_test_run(has_tr1_complex_over_pass)
+boost_test_compile_fail(has_tr1_complex_over_fail)
+boost_test_run(has_tr1_complex_trig_pass)
+boost_test_compile_fail(has_tr1_complex_trig_fail)
+boost_test_run(has_tr1_function_pass)
+boost_test_compile_fail(has_tr1_function_fail)
+boost_test_run(has_tr1_hash_pass)
+boost_test_compile_fail(has_tr1_hash_fail)
+boost_test_run(has_tr1_mem_fn_pass)
+boost_test_compile_fail(has_tr1_mem_fn_fail)
+boost_test_run(has_tr1_random_pass)
+boost_test_compile_fail(has_tr1_random_fail)
+boost_test_run(has_tr1_ref_wrap_pass)
+boost_test_compile_fail(has_tr1_ref_wrap_fail)
+boost_test_run(has_tr1_regex_pass)
+boost_test_compile_fail(has_tr1_regex_fail)
+boost_test_run(has_tr1_result_of_pass)
+boost_test_compile_fail(has_tr1_result_of_fail)
+boost_test_run(has_tr1_shared_ptr_pass)
+boost_test_compile_fail(has_tr1_shared_ptr_fail)
+boost_test_run(has_tr1_tuple_pass)
+boost_test_compile_fail(has_tr1_tuple_fail)
+boost_test_run(has_tr1_type_traits_pass)
+boost_test_compile_fail(has_tr1_type_traits_fail)
+boost_test_run(has_tr1_unordered_map_pass)
+boost_test_compile_fail(has_tr1_unordered_map_fail)
+boost_test_run(has_tr1_unordered_set_pass)
+boost_test_compile_fail(has_tr1_unordered_set_fail)
+boost_test_run(has_tr1_utility_pass)
+boost_test_compile_fail(has_tr1_utility_fail)
+boost_test_run(has_unistd_h_pass)
+boost_test_compile_fail(has_unistd_h_fail)
+boost_test_run(has_vc6_mem_templ_pass)
+boost_test_compile_fail(has_vc6_mem_templ_fail)
+boost_test_run(has_vc_iterator_pass)
+boost_test_compile_fail(has_vc_iterator_fail)
+boost_test_run(has_winthreads_pass)
+boost_test_compile_fail(has_winthreads_fail)
+boost_test_run(no_arg_dep_lookup_pass)
+boost_test_compile_fail(no_arg_dep_lookup_fail)
+boost_test_run(no_array_type_spec_pass)
+boost_test_compile_fail(no_array_type_spec_fail)
+boost_test_run(no_auto_ptr_pass)
+boost_test_compile_fail(no_auto_ptr_fail)
+boost_test_run(no_bcb_partial_spec_pass)
+boost_test_compile_fail(no_bcb_partial_spec_fail)
+boost_test_run(no_ctype_functions_pass)
+boost_test_compile_fail(no_ctype_functions_fail)
+boost_test_run(no_cv_spec_pass)
+boost_test_compile_fail(no_cv_spec_fail)
+boost_test_run(no_cv_void_spec_pass)
+boost_test_compile_fail(no_cv_void_spec_fail)
+boost_test_run(no_cwchar_pass)
+boost_test_compile_fail(no_cwchar_fail)
+boost_test_run(no_cwctype_pass)
+boost_test_compile_fail(no_cwctype_fail)
+boost_test_run(no_ded_typename_pass)
+boost_test_compile_fail(no_ded_typename_fail)
+boost_test_run(no_dep_nested_class_pass)
+boost_test_compile_fail(no_dep_nested_class_fail)
+boost_test_run(no_dep_val_param_pass)
+boost_test_compile_fail(no_dep_val_param_fail)
+boost_test_run(no_excep_std_pass)
+boost_test_compile_fail(no_excep_std_fail)
+boost_test_run(no_exceptions_pass)
+boost_test_compile_fail(no_exceptions_fail)
+boost_test_run(no_exp_func_tem_arg_pass)
+boost_test_compile_fail(no_exp_func_tem_arg_fail)
+boost_test_run(no_func_tmp_order_pass)
+boost_test_compile_fail(no_func_tmp_order_fail)
+boost_test_run(no_i64_limits_pass)
+boost_test_compile_fail(no_i64_limits_fail)
+boost_test_run(no_inline_memb_init_pass)
+boost_test_compile_fail(no_inline_memb_init_fail)
+boost_test_run(no_integral_int64_t_pass)
+boost_test_compile_fail(no_integral_int64_t_fail)
+boost_test_run(no_is_abstract_pass)
+boost_test_compile_fail(no_is_abstract_fail)
+boost_test_run(no_iter_construct_pass)
+boost_test_compile_fail(no_iter_construct_fail)
+boost_test_run(no_limits_pass)
+boost_test_compile_fail(no_limits_fail)
+boost_test_run(no_limits_const_exp_pass)
+boost_test_compile_fail(no_limits_const_exp_fail)
+boost_test_run(no_ll_limits_pass)
+boost_test_compile_fail(no_ll_limits_fail)
+boost_test_run(no_mem_func_spec_pass)
+boost_test_compile_fail(no_mem_func_spec_fail)
+boost_test_run(no_mem_tem_keyword_pass)
+boost_test_compile_fail(no_mem_tem_keyword_fail)
+boost_test_run(no_mem_tem_pnts_pass)
+boost_test_compile_fail(no_mem_tem_pnts_fail)
+boost_test_run(no_mem_templ_frnds_pass)
+boost_test_compile_fail(no_mem_templ_frnds_fail)
+boost_test_run(no_mem_templates_pass)
+boost_test_compile_fail(no_mem_templates_fail)
+boost_test_run(no_ops_in_namespace_pass)
+boost_test_compile_fail(no_ops_in_namespace_fail)
+boost_test_run(no_partial_spec_pass)
+boost_test_compile_fail(no_partial_spec_fail)
+boost_test_run(no_priv_aggregate_pass)
+boost_test_compile_fail(no_priv_aggregate_fail)
+boost_test_run(no_ptr_mem_const_pass)
+boost_test_compile_fail(no_ptr_mem_const_fail)
+boost_test_run(no_ret_det_pass)
+boost_test_compile_fail(no_ret_det_fail)
+boost_test_run(no_sfinae_pass)
+boost_test_compile_fail(no_sfinae_fail)
+boost_test_run(no_sstream_pass)
+boost_test_compile_fail(no_sstream_fail)
+boost_test_run(no_std_allocator_pass)
+boost_test_compile_fail(no_std_allocator_fail)
+boost_test_run(no_std_distance_pass)
+boost_test_compile_fail(no_std_distance_fail)
+boost_test_run(no_std_iter_traits_pass)
+boost_test_compile_fail(no_std_iter_traits_fail)
+boost_test_run(no_std_iterator_pass)
+boost_test_compile_fail(no_std_iterator_fail)
+boost_test_run(no_std_locale_pass)
+boost_test_compile_fail(no_std_locale_fail)
+boost_test_run(no_std_messages_pass)
+boost_test_compile_fail(no_std_messages_fail)
+boost_test_run(no_std_min_max_pass)
+boost_test_compile_fail(no_std_min_max_fail)
+boost_test_run(no_std_oi_assign_pass)
+boost_test_compile_fail(no_std_oi_assign_fail)
+boost_test_run(no_std_use_facet_pass)
+boost_test_compile_fail(no_std_use_facet_fail)
+boost_test_run(no_std_wstreambuf_pass)
+boost_test_compile_fail(no_std_wstreambuf_fail)
+boost_test_run(no_std_wstring_pass)
+boost_test_compile_fail(no_std_wstring_fail)
+boost_test_run(no_stdc_namespace_pass)
+boost_test_compile_fail(no_stdc_namespace_fail)
+boost_test_run(no_swprintf_pass)
+boost_test_compile_fail(no_swprintf_fail)
+boost_test_run(no_template_template_pass)
+boost_test_compile_fail(no_template_template_fail)
+boost_test_run(no_using_breaks_adl_pass)
+boost_test_compile_fail(no_using_breaks_adl_fail)
+boost_test_run(no_using_decl_overld_pass)
+boost_test_compile_fail(no_using_decl_overld_fail)
+boost_test_run(no_using_template_pass)
+boost_test_compile_fail(no_using_template_fail)
+boost_test_run(no_void_returns_pass)
+boost_test_compile_fail(no_void_returns_fail)
+boost_test_run(no_wchar_t_pass)
+boost_test_compile_fail(no_wchar_t_fail)
+
Added: branches/CMake-release/libs/conversion/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/conversion/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_library_project(
+  Conversion
+  TESTDIRS test
+)
+
+
Added: branches/CMake-release/libs/conversion/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/conversion/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,12 @@
+boost_test_run(implicit_cast)
+boost_test_compile_fail(implicit_cast_fail)
+boost_test_run(cast_test ../cast_test.cpp)
+boost_test_run(numeric_cast_test ../numeric_cast_test.cpp)
+boost_test_run(
+  lexical_cast_test 
+  ../lexical_cast_test.cpp 
+  DEPENDS boost_unit_test_framework
+)
+
+
+      
Added: branches/CMake-release/libs/crc/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/crc/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_library_project(
+  CRC
+  TESTDIRS test
+)
+
+
Added: branches/CMake-release/libs/crc/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/crc/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,2 @@
+boost_test_run(crc_test ../crc_test.cpp)
+
Added: branches/CMake-release/libs/date_time/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/date_time/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,10 @@
+boost_library_project(
+  Date_time 
+  SRCDIRS src 
+  TESTDIRS test
+  )
+
+
+
+
+
Added: branches/CMake-release/libs/date_time/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/date_time/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+add_definitions(-DBOOST_DATE_TIME_NO_LIB=1)
+boost_add_library(
+  boost_date_time
+  gregorian/greg_month.cpp gregorian/greg_weekday.cpp gregorian/date_generators.cpp 
+  STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK
+  SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1
+  )
Added: branches/CMake-release/libs/date_time/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/date_time/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,185 @@
+# Core
+boost_test_run(testint_adapter)
+boost_test_run(testtime_resolution_traits)
+boost_test_run(testwrapping_int)
+boost_test_run(testconstrained_value)
+boost_test_run(testgregorian_calendar)
+boost_test_run(testgeneric_period)
+
+set(DATE_TIME_COMPILE_FLAGS 
+  "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB")
+set(DATE_TIME_SHARED_COMPILE_FLAGS 
+  "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB")
+
+# A macro that collects the common settings used to build a run test
+# for the Date-Time library that links statically.
+macro(date_time_static_test SUBDIR TESTNAME)
+  boost_test_run(${TESTNAME}
+    "${SUBDIR}/${TESTNAME}.cpp"
+    DEPENDS boost_date_time STATIC
+    COMPILE_FLAGS ${DATE_TIME_COMPILE_FLAGS})
+endmacro(date_time_static_test)
+
+# A macro that collects the common settings used to build a run test
+# for the Date-Time library that links dynamically.
+macro(date_time_shared_test SUBDIR TESTNAME)
+  boost_test_run("${TESTNAME}_dll"
+    "${SUBDIR}/${TESTNAME}.cpp"
+    DEPENDS boost_date_time SHARED
+    COMPILE_FLAGS ${DATE_TIME_SHARED_COMPILE_FLAGS})
+endmacro(date_time_shared_test)
+
+# Gregorian
+date_time_static_test(gregorian testdate)
+date_time_static_test(gregorian testdate_duration)
+date_time_static_test(gregorian testgreg_durations)
+date_time_static_test(gregorian testperiod)
+date_time_static_test(gregorian testdate_iterator)
+date_time_static_test(gregorian testformatters)
+###  streaming
+date_time_static_test(gregorian testdate_facet_new)
+date_time_static_test(gregorian testdate_input_facet)
+###
+date_time_static_test(gregorian testgenerators)
+date_time_static_test(gregorian testgreg_cal)
+date_time_static_test(gregorian testgreg_day)     
+date_time_static_test(gregorian testgreg_month)
+date_time_static_test(gregorian testgreg_year)
+
+date_time_shared_test(gregorian testdate)
+date_time_shared_test(gregorian testdate_duration)
+date_time_shared_test(gregorian testgreg_durations)
+date_time_shared_test(gregorian testperiod)
+date_time_shared_test(gregorian testdate_iterator)
+date_time_shared_test(gregorian testformatters)
+###  streaming
+date_time_shared_test(gregorian testdate_facet_new)
+date_time_shared_test(gregorian testdate_input_facet)
+###
+date_time_shared_test(gregorian testgenerators)
+date_time_shared_test(gregorian testgreg_cal)
+date_time_shared_test(gregorian testgreg_day)     
+date_time_shared_test(gregorian testgreg_month)
+date_time_shared_test(gregorian testgreg_year)
+
+# POSIX Time
+date_time_static_test(posix_time testfiletime_functions)
+date_time_static_test(posix_time testlocal_adjustor)
+date_time_static_test(posix_time testc_local_adjustor)
+date_time_static_test(posix_time testclock)
+date_time_static_test(posix_time testdst_rules)
+date_time_static_test(posix_time testduration)
+date_time_static_test(posix_time testiterator)
+date_time_static_test(posix_time testparse_time)
+date_time_static_test(posix_time testtime_period)
+date_time_static_test(posix_time testtime)
+date_time_static_test(posix_time testmicrosec_time_clock)
+date_time_static_test(posix_time testtime_formatters)
+date_time_static_test(posix_time testgreg_duration_operators)
+### streaming
+date_time_static_test(posix_time testtime_facet)
+date_time_static_test(posix_time testtime_input_facet)
+###
+
+# Wide streaming
+boost_test_run(testgreg_wstream
+  "gregorian/testgreg_wstream.cpp"
+  DEPENDS boost_date_time STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+boost_test_run(testtime_wstream
+  "posix_time/testtime_wstream.cpp"
+  DEPENDS boost_date_time STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+
+# Pre-1.33 facets
+boost_test_run(testfacet_dll
+  "gregorian/testfacet.cpp"
+  DEPENDS boost_date_time SHARED
+  COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+# Note: This next test was commented out in the Jamfile.v2 because "it
+# crashes on VC6 (cause unknown)"
+boost_test_run(testparse_date_dll
+  "gregorian/testparse_date.cpp"
+  DEPENDS boost_date_time SHARED
+  COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+boost_test_run(testfacet
+  "gregorian/testfacet.cpp"
+  DEPENDS boost_date_time STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+boost_test_run(testparse_date
+  "gregorian/testparse_date.cpp"
+  DEPENDS boost_date_time STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+boost_test_run(teststreams
+  "posix_time/teststreams.cpp"
+  DEPENDS boost_date_time STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+
+# Local time
+date_time_static_test(local_time testdst_transition_day_rule)
+date_time_static_test(local_time testcustom_time_zone)
+date_time_static_test(local_time testposix_time_zone)
+date_time_static_test(local_time testwcustom_time_zone)
+date_time_static_test(local_time testwposix_time_zone)
+
+# we have to copy these into the binary dir because to make the 
+# paths inside the tests match
+if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+  FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data")
+  execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/data/date_time_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/data")
+  FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time")
+  execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/test/local_time/poorly_formed_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time")
+endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+
+date_time_static_test(local_time testtz_database)
+date_time_static_test(local_time testlocal_time)
+date_time_static_test(local_time testlocal_time_iterator)
+date_time_static_test(local_time testlocal_time_period)
+### streaming
+date_time_static_test(local_time testlocal_time_facet)
+date_time_static_test(local_time testlocal_time_input_facet)
+###
+date_time_static_test(local_time testclocks)
+
+
+set(DATE_TIME_COMPILE_FLAGS 
+  "-DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB -DUSE_DATE_TIME_PRE_1_33_FACET_IO")
+
+# Serialization
+ # xml archive tests
+boost_test_run(testgreg_serialize_xml
+  "gregorian/testgreg_serialize.cpp"
+  DEPENDS boost_date_time boost_serialization STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE")
+boost_test_run(testtime_serialize_xml_std_config
+  "posix_time/testtime_serialize.cpp"
+  DEPENDS boost_date_time boost_serialization STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DDATE_TIME_XML_SERIALIZE")
+boost_test_run(testtime_serialize_xml
+  "posix_time/testtime_serialize.cpp"
+  DEPENDS boost_date_time boost_serialization STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE")
+
+ # text archive tests
+boost_test_run(testgreg_serialize
+  "gregorian/testgreg_serialize.cpp"
+  DEPENDS boost_date_time boost_serialization STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}")
+boost_test_run(testgreg_serialize_dll
+  "gregorian/testgreg_serialize.cpp"
+  DEPENDS boost_date_time SHARED boost_serialization SHARED
+  COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS}")
+boost_test_run(testtime_serialize_std_config
+  "posix_time/testtime_serialize.cpp"
+  DEPENDS boost_date_time boost_serialization STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG")
+boost_test_run(testtime_serialize
+  "posix_time/testtime_serialize.cpp"
+  DEPENDS boost_date_time boost_serialization STATIC
+  COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}")
+
+# Copyright (c) 2000-2005
+# CrystalClear Software, Inc.
+# Subject to the Boost Software License, Version 1.0. 
+# (See accompanying file LICENSE-1.0 or 
+# http://www.boost.org/LICENSE-1.0)
Added: branches/CMake-release/libs/disjoint_sets/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/disjoint_sets/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Disjoint_sets
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/disjoint_sets/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/disjoint_sets/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1 @@
+boost_test_run(disjoint_set_test ../disjoint_set_test.cpp)
Added: branches/CMake-release/libs/dynamic_bitset/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/dynamic_bitset/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Dynamic_bitset
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/dynamic_bitset/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/dynamic_bitset/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_test_run(dyn_bitset_unit_tests1 ../dyn_bitset_unit_tests1.cpp)
+boost_test_run(dyn_bitset_unit_tests2 ../dyn_bitset_unit_tests2.cpp)
+boost_test_run(dyn_bitset_unit_tests3 ../dyn_bitset_unit_tests3.cpp)
+boost_test_run(dyn_bitset_unit_tests4 ../dyn_bitset_unit_tests4.cpp)
Added: branches/CMake-release/libs/filesystem/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/filesystem/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,9 @@
+boost_library_project(
+  Filesystem 
+  SRCDIRS src 
+  TESTDIRS test
+  )
+
+
+
+
Added: branches/CMake-release/libs/filesystem/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/filesystem/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+boost_add_library(
+  boost_filesystem
+  operations.cpp path.cpp portability.cpp utf8_codecvt_facet.cpp
+  SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1"
+  DEPENDS boost_system
+  )
+
Added: branches/CMake-release/libs/filesystem/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/filesystem/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,21 @@
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK)
+
+SET(TESTS path_test operations_test 
+  fstream_test convenience_test 
+  large_file_support_test wide_test)
+
+FOREACH(test ${TESTS})
+  boost_test_run(${test}_static
+    ${test}.cpp
+    DEPENDS boost_filesystem STATIC
+    COMPILE_FLAGS -DBOOST_FILESYSTEM_STATIC_LINK)
+  boost_test_run(${test}_dynamic
+    ${test}.cpp
+    DEPENDS boost_filesystem SHARED
+    COMPILE_FLAGS -DBOOST_FILESYSTEM_DYN_LINK)
+ENDFOREACH(test ${TESTS})
+
+boost_test_compile(mbcopy ../example/mbcopy.cpp)
+boost_test_compile(mbpath ../example/mbpath.cpp)
+boost_test_compile(simple_ls ../example/simple_ls.cpp)
+
Added: branches/CMake-release/libs/foreach/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/foreach/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Foreach
+  TESTDIRS test
+)
+
Added: branches/CMake-release/libs/foreach/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/foreach/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,21 @@
+set(TESTS 
+stl_byval
+stl_byref
+array_byval
+array_byref
+cstr_byval
+cstr_byref
+pair_byval
+pair_byref
+user_defined
+call_once
+rvalue_const
+rvalue_nonconst
+dependent_type)
+
+foreach(test ${TESTS})
+  boost_test_run(${test})
+endforeach(test ${TESTS})
+
+boost_test_compile(noncopyable)
+
Added: branches/CMake-release/libs/format/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/format/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Format
+  TESTDIRS test
+)
+
Added: branches/CMake-release/libs/format/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/format/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_test_run(format_test1 DEPENDS boost_test_exec_monitor)
+boost_test_run(format_test2 DEPENDS boost_test_exec_monitor)
+boost_test_run(format_test3 DEPENDS boost_test_exec_monitor)
+boost_test_run(format_test_wstring DEPENDS boost_test_exec_monitor)
+
Added: branches/CMake-release/libs/function/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/function/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1 @@
+boost_library_project(Function TESTDIRS test)
Added: branches/CMake-release/libs/function/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/function/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,20 @@
+boost_test_run(lib_function_test function_test.cpp)
+boost_test_run(function_n_test)
+boost_test_run(allocator_test)
+boost_test_run(stateless_test)
+boost_test_run(lambda_test)
+boost_test_compile_fail(function_test_fail1)
+boost_test_compile_fail(function_test_fail2)
+boost_test_compile(function_30)
+boost_test_run(function_arith_cxx98)
+boost_test_run(function_arith_portable)
+boost_test_run(sum_avg_cxx98)
+boost_test_run(sum_avg_portable)
+boost_test_run(mem_fun_cxx98)
+boost_test_run(mem_fun_portable)
+boost_test_run(std_bind_cxx98)
+boost_test_run(std_bind_portable)
+boost_test_run(function_ref_cxx98)
+boost_test_run(function_ref_portable)
+boost_test_run(contains_test)
+boost_test_run(contains2_test)
Added: branches/CMake-release/libs/functional/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/functional/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Functional
+  TESTDIRS test hash/test hash/examples
+)
+
Added: branches/CMake-release/libs/functional/hash/examples/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/functional/hash/examples/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_test_run(books)
+boost_test_run(point)
+boost_test_run(portable)
+
+
Added: branches/CMake-release/libs/functional/hash/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/functional/hash/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,44 @@
+#project hash-tests
+#    : requirements
+#        <toolset>gcc:<define>_GLIBCXX_DEBUG
+#    ;
+if (GCC)
+  ADD_DEFINITIONS(-D_GLIBCXX_DEBUG)
+endif(GCC)
+
+#        [ run .cpp : : : <test-info>always_show_run_output ]
+
+SET(tests
+hash_float_test
+hash_fwd_test_1
+hash_fwd_test_2
+hash_number_test
+hash_pointer_test
+hash_function_pointer_test
+hash_string_test
+hash_range_test
+hash_custom_test
+hash_global_namespace_test
+hash_friend_test
+hash_built_in_array_test
+hash_value_array_test
+hash_vector_test
+hash_list_test
+hash_deque_test
+hash_set_test
+hash_map_test
+container_fwd_test
+hash_no_ext_macro_1
+hash_no_ext_macro_2
+)
+
+boost_test_run(link_test link_test.cpp link_test_2.cpp)
+boost_test_run(link_ext_test link_ext_test.cpp link_no_ext_test.cpp)
+
+foreach(test ${tests})
+  boost_test_run(${test})
+endforeach(test ${tests})
+
+boost_test_compile_fail(hash_no_ext_fail_test)
+
+# build-project ../examples ;
Added: branches/CMake-release/libs/functional/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/functional/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1 @@
+boost_test_run(function_test ../function_test.cpp)
Added: branches/CMake-release/libs/graph/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/graph/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_library_project(
+  Graph 
+  SRCDIRS src 
+  TESTDIRS test
+  )
+
Added: branches/CMake-release/libs/graph/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/graph/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,27 @@
+add_definitions(-DBOOST_GRAPH_NO_LIB=1)
+
+if (MSVC)
+  # Without these flags, MSVC 7.1 and 8.0 crash
+  add_definitions(-GR-)
+endif (MSVC)
+
+set(BOOST_GRAPH_OPTIONAL_SOURCES "")
+set(BOOST_GRAPH_OPTIONAL_LIBRARIES "")
+
+# Try to find the Expat library 
+include(FindEXPAT)
+if (EXPAT_FOUND)
+  # We have Expat, so build the GraphML parser - TODO: Boost 1.34.x only
+#  set(BOOST_GRAPH_OPTIONAL_SOURCES 
+#    ${BOOST_GRAPH_OPTIONAL_SOURCES} "graphml.cpp")
+  include_directories(${EXPAT_INCLUDE_DIRS})
+  set(BOOST_GRAPH_OPTIONAL_LIBRARIES 
+      "${BOOST_GRAPH_OPTIONAL_LIBRARIES} ${EXPAT_LIBRARIES}")
+endif (EXPAT_FOUND)
+
+boost_add_library(
+  boost_graph
+  read_graphviz_spirit.cpp ${BOOST_GRAPH_OPTIONAL_SOURCES}
+  LINK_LIBS ${BOOST_GRAPH_OPTIONAL_LIBRARIES}
+  SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1"
+  )
Added: branches/CMake-release/libs/graph/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/graph/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,61 @@
+boost_test_run(transitive_closure_test)
+boost_test_compile(adj_list_cc)
+boost_test_run(adj_list_edge_list_set)
+boost_test_compile(adj_matrix_cc)
+boost_test_run(bfs)
+boost_test_compile(bfs_cc)
+boost_test_run(bellman-test)
+boost_test_run(betweenness_centrality_test RELEASE)
+boost_test_run(csr_graph_test)
+boost_test_run(dag_longest_paths)
+boost_test_run(dfs)
+boost_test_compile(dfs_cc)
+boost_test_compile(dijkstra_cc)
+boost_test_run(dijkstra_heap_performance ARGS 10000 RELEASE)
+boost_test_run(dominator_tree_test)
+boost_test_run(relaxed_heap_test ARGS 5000 15000)
+boost_test_compile(edge_list_cc)
+boost_test_compile(filtered_graph_cc)
+boost_test_run(graph)
+boost_test_compile(graph_concepts)
+boost_test_run(graphviz_test 
+  DEPENDS boost_test_exec_monitor boost_graph STATIC)
+boost_test_run(gursoy_atun_layout_test)
+boost_test_run(layout_test)
+boost_test_run(serialize DEPENDS boost_serialization)
+boost_test_compile(reverse_graph_cc)
+boost_test_run(sequential_vertex_coloring)
+boost_test_run(subgraph)
+boost_test_run(isomorphism)
+boost_test_run(adjacency_matrix_test)
+boost_test_compile(vector_graph_cc)
+boost_test_compile(copy)
+boost_test_compile(property_iter)
+boost_test_run(bundled_properties)
+boost_test_run(floyd_warshall_test)
+boost_test_run(astar_search_test)
+boost_test_run(biconnected_components_test)
+boost_test_run(cuthill_mckee_ordering)
+boost_test_run(king_ordering)
+boost_test_run(matching_test)
+# boost_test_run(max_flow_test)
+# boost_test_run(kolmogorov_max_flow_test) TODO: Boost 1.34.x only
+
+# GraphML Tests - not for Boost 1.34.x
+#include(FindEXPAT)
+#if (EXPAT_FOUND)
+#  include_directories(${EXPAT_INCLUDE_DIRS})
+#  boost_test_run(graphml_test LIBRARIES boost_graph)
+#endif (EXPAT_FOUND)
+
+# Stanford GraphBase Tests
+if ($ENV{SDB})
+  include_directories("$ENV{SDB}")
+  boost_test_compile(stanford_graph_cc)
+endif ($ENV{SDB})
+
+# LEDA tests
+if ($ENV{LEDA})
+  include_directories("$ENV{LEDA}/incl")
+  boost_test_compile(leda_graph_cc)
+endif ($ENV{LEDA}) 
Added: branches/CMake-release/libs/integer/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/integer/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Integer
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/integer/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/integer/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_test_run(cstdint_test ../cstdint_test.cpp)
+boost_test_run(integer_test ../integer_test.cpp)
+boost_test_run(integer_traits_test ../integer_traits_test.cpp
+               DEPENDS boost_test_exec_monitor)
Added: branches/CMake-release/libs/io/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/io/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,2 @@
+boost_library_project(IO
+  TESTDIRS test)
Added: branches/CMake-release/libs/io/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/io/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,3 @@
+boost_test_run(ios_state_unit_test DEPENDS boost_unit_test_framework)
+boost_test_run(ios_state_test DEPENDS boost_test_exec_monitor)
+
Added: branches/CMake-release/libs/iostreams/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/iostreams/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  IOStreams
+  SRCDIRS src
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/iostreams/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/iostreams/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,32 @@
+set(BOOST_IOSTREAMS_EXTRA_SOURCES)
+set(BOOST_IOSTREAMS_LIBRARIES)
+
+# Find zlib. If it's available, include it in the iostreams build
+set(ZLIB_FIND_QUIETLY TRUE)
+include(FindZLIB)
+if (ZLIB_FOUND)
+  include_directories(${ZLIB_INCLUDE_DIR})
+  set(BOOST_IOSTREAMS_EXTRA_SOURCES 
+    ${BOOST_IOSTREAMS_EXTRA_SOURCES} zlib.cpp)
+  set(BOOST_IOSTREAMS_LIBRARIES
+    ${BOOST_IOSTREAMS_LIBRARIES} ${ZLIB_LIBRARIES})
+endif(ZLIB_FOUND)
+
+# Find bzip2. If it's available, include it in the iostreams build
+set(BZip2_FIND_QUIETLY TRUE)
+include(FindBZip2)
+if (BZIP2_FOUND)
+  include_directories(${BZIP2_INCLUDE_DIR})
+  add_definitions(${BZIP2_DEFINITIONS})
+  set(BOOST_IOSTREAMS_EXTRA_SOURCES 
+    ${BOOST_IOSTREAMS_EXTRA_SOURCES} bzip2.cpp)
+  set(BOOST_IOSTREAMS_LIBRARIES
+    ${BOOST_IOSTREAMS_LIBRARIES} ${BZIP2_LIBRARIES})
+
+  # NOTE: What to do about BZIP2_NEED_PREFIX?
+endif(BZIP2_FOUND)
+
+boost_add_library(boost_iostreams
+  file_descriptor.cpp mapped_file.cpp ${BOOST_IOSTREAMS_EXTRA_SOURCES}
+  LINK_LIBS "${BOOST_IOSTREAMS_LIBRARIES}"
+  SHARED_COMPILE_FLAGS "-DBOOST_IOSTREAMS_DYN_LINK=1")
Added: branches/CMake-release/libs/iostreams/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/iostreams/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,65 @@
+# Helper macro to create tests for the iostreams library
+macro(iostreams_test TESTNAME)
+  boost_test_run(${TESTNAME} 
+    ${ARGN}
+    DEPENDS boost_unit_test_framework
+    COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+endmacro(iostreams_test)
+
+iostreams_test(array_test)
+iostreams_test(auto_close_test)
+iostreams_test(buffer_size_test)
+iostreams_test(code_converter_test 
+  code_converter_test.cpp detail/utf8_codecvt_facet.cpp)
+iostreams_test(compose_test)
+iostreams_test(component_access_test)
+iostreams_test(copy_test)
+iostreams_test(counter_test)
+iostreams_test(direct_adapter_test)
+iostreams_test(example_test)
+iostreams_test(file_test)
+boost_test_run(file_descriptor_test
+  DEPENDS boost_unit_test_framework boost_iostreams
+  COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+iostreams_test(filtering_stream_test)
+iostreams_test(finite_state_filter_test)
+iostreams_test(flush_test)
+iostreams_test(invert_test)
+iostreams_test(line_filter_test)
+boost_test_run(mapped_file_test
+  DEPENDS boost_unit_test_framework boost_iostreams
+  COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+iostreams_test(newline_test)
+iostreams_test(null_test)
+iostreams_test(pipeline_test)
+boost_test_run(regex_filter_test
+  DEPENDS boost_unit_test_framework boost_regex
+  COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+iostreams_test(restrict_test)
+iostreams_test(seekable_file_test)
+iostreams_test(seekable_filter_test)
+iostreams_test(stdio_filter_test)
+iostreams_test(symmetric_filter_test)
+iostreams_test(tee_test)
+iostreams_test(wide_stream_test)
+
+# Find zlib. If it's available, test it
+set(ZLIB_FIND_QUIETLY TRUE)
+include(FindZLIB)
+if (ZLIB_FOUND)
+  boost_test_run(gzip_test
+    DEPENDS boost_unit_test_framework boost_iostreams
+    COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+  boost_test_run(zlib_test
+    DEPENDS boost_unit_test_framework boost_iostreams
+    COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+endif(ZLIB_FOUND)
+
+# Find BZip2. If it's available, test it
+set(BZip2_FIND_QUIETLY TRUE)
+include(FindBZip2)
+if (BZIP2_FOUND)
+  boost_test_run(bzip2_test
+    DEPENDS boost_unit_test_framework boost_iostreams
+    COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+endif(BZIP2_FOUND)
Added: branches/CMake-release/libs/iterator/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/iterator/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Iterator
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/iterator/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/iterator/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,31 @@
+# These first two tests will run last, and are expected to fail
+# for many less-capable compilers.
+
+boost_test_compile_fail(interoperable_fail)
+# test uses expected success, so that we catch unrelated
+# compilation problems.
+boost_test_run(is_convertible_fail)  
+boost_test_run(zip_iterator_test)
+  
+# These tests should work for just about everything.
+boost_test_compile(is_lvalue_iterator)
+boost_test_compile(is_readable_iterator)
+boost_test_compile(pointee)
+  
+boost_test_run(unit_tests)
+boost_test_run(concept_tests)
+boost_test_run(iterator_adaptor_cc)
+boost_test_run(iterator_adaptor_test)
+boost_test_compile(iterator_archetype_cc)
+boost_test_compile_fail(iter_archetype_default_ctor)
+boost_test_compile_fail(lvalue_concept_fail)
+boost_test_run(transform_iterator_test)
+boost_test_run(indirect_iterator_test)
+boost_test_compile(indirect_iter_member_types)
+boost_test_run(filter_iterator_test)
+boost_test_run(iterator_facade)
+boost_test_run(reverse_iterator_test)
+boost_test_run(counting_iterator_test)
+boost_test_run(interoperable)
+boost_test_run(iterator_traits_test)
+boost_test_run(permutation_iterator_test)
Added: branches/CMake-release/libs/lambda/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/lambda/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Lambda
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/lambda/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/lambda/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,16 @@
+boost_test_run(algorithm_test DEPENDS boost_test_exec_monitor)
+boost_test_run(bind_tests_simple DEPENDS boost_test_exec_monitor)
+boost_test_run(bind_tests_advanced DEPENDS boost_test_exec_monitor)
+boost_test_run(bind_tests_simple_f_refs DEPENDS boost_test_exec_monitor)
+boost_test_run(bll_and_function DEPENDS boost_test_exec_monitor)
+boost_test_run(lambda_cast_test 
+  cast_test.cpp DEPENDS boost_test_exec_monitor)
+boost_test_run(constructor_tests DEPENDS boost_test_exec_monitor)
+boost_test_run(control_structures DEPENDS boost_test_exec_monitor)
+boost_test_run(exception_test DEPENDS boost_test_exec_monitor)
+boost_test_run(extending_rt_traits DEPENDS boost_test_exec_monitor)
+boost_test_run(is_instance_of_test DEPENDS boost_test_exec_monitor)
+boost_test_run(member_pointer_test DEPENDS boost_test_exec_monitor)
+boost_test_run(operator_tests_simple DEPENDS boost_test_exec_monitor)
+boost_test_run(phoenix_control_structures DEPENDS boost_test_exec_monitor)
+boost_test_run(switch_construct DEPENDS boost_test_exec_monitor)
Added: branches/CMake-release/libs/logic/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/logic/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Logic
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/logic/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/logic/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,3 @@
+boost_test_run(tribool_test)
+boost_test_run(tribool_rename_test)
+boost_test_run(tribool_io_test)
Added: branches/CMake-release/libs/math/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/math/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Math
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/math/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/math/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,18 @@
+boost_test_run(common_factor_test DEPENDS boost_unit_test_framework)
+boost_test_run(octonion_test 
+  ../octonion/octonion_test.cpp
+  DEPENDS boost_unit_test_framework)
+boost_test_run(quaternion_test 
+  ../quaternion/quaternion_test.cpp
+  DEPENDS boost_unit_test_framework)
+boost_test_run(special_functions_test 
+  ../special_functions/special_functions_test.cpp 
+  DEPENDS boost_unit_test_framework)
+boost_test_run(quaternion_multi_incl_test 
+  ../quaternion/quaternion_mult_incl_test.cpp 
+                 ../quaternion/quaternion_mi1.cpp
+                 ../quaternion/quaternion_mi2.cpp
+  DEPENDS boost_unit_test_framework)
+boost_test_run(complex_test)
+boost_test_run(hypot_test)
+boost_test_run(log1p_expm1_test)
Added: branches/CMake-release/libs/mpl/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/mpl/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Metaprogramming
+  TESTDIRS test
+  )
+  
Added: branches/CMake-release/libs/mpl/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/mpl/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,89 @@
+boost_test_compile(largest_int aux_/largest_int.cpp)
+boost_test_compile(msvc_is_class aux_/msvc_is_class.cpp)
+boost_test_compile(template_arity aux_/template_arity.cpp)
+
+boost_test_compile(advance)
+boost_test_compile(always)
+boost_test_compile(apply)
+boost_test_compile(apply_wrap)
+boost_test_compile(arithmetic)
+boost_test_compile(as_sequence)
+boost_test_compile(assert)
+boost_test_compile(at)
+boost_test_compile(back)
+boost_test_compile(bind)
+boost_test_compile(bitwise)
+boost_test_run(bool)
+boost_test_compile(comparison)
+boost_test_compile(contains)
+boost_test_compile(copy)
+boost_test_compile(copy_if)
+boost_test_compile(count)
+boost_test_compile(count_if)
+boost_test_compile(deque)
+boost_test_compile(distance)
+boost_test_compile(empty)
+boost_test_compile(equal)
+boost_test_compile(erase)
+boost_test_compile(erase_range)
+boost_test_compile(eval_if)
+boost_test_compile(filter_view)
+boost_test_compile(find)
+boost_test_compile(find_if)
+boost_test_compile(fold)
+boost_test_run(for_each)
+boost_test_compile(front)
+boost_test_compile(has_xxx)
+boost_test_compile(identity)
+boost_test_compile(if)
+boost_test_compile(index_of)
+boost_test_compile(inherit)
+boost_test_compile(insert)
+boost_test_compile(insert_range)
+boost_test_run(int)
+boost_test_run(integral_c)
+boost_test_compile(is_placeholder)
+boost_test_compile(is_sequence)
+boost_test_compile(iterator_tags)
+boost_test_compile(joint_view)
+boost_test_compile(lambda)
+boost_test_compile(lambda_args)
+boost_test_compile(list)
+boost_test_compile(list_c)
+boost_test_compile(logical)
+boost_test_compile(lower_bound)
+boost_test_compile(map)
+boost_test_compile(max_element)
+boost_test_compile(min_max)
+boost_test_compile(multiset)
+boost_test_compile(next)
+boost_test_compile(no_has_xxx)
+boost_test_compile(numeric_ops)
+boost_test_compile(pair_view)
+boost_test_compile(partition)
+boost_test_compile(pop_front)
+boost_test_compile(push_front)
+boost_test_compile(quote)
+boost_test_compile(range_c)
+boost_test_compile(remove)
+boost_test_compile(remove_if)
+boost_test_compile(replace)
+boost_test_compile(replace_if)
+boost_test_compile(reverse)
+boost_test_compile(same_as)
+boost_test_compile(set)
+boost_test_compile(set_c)
+boost_test_compile(single_view)
+boost_test_compile(size)
+boost_test_run(size_t)
+boost_test_compile(sizeof)
+boost_test_compile(sort)
+boost_test_compile(stable_partition)
+boost_test_compile(transform)
+boost_test_compile(transform_view)
+boost_test_compile(unique)
+boost_test_compile(unpack_args)
+boost_test_compile(upper_bound)
+boost_test_compile(vector)
+boost_test_compile(vector_c)
+boost_test_compile(zip_view)
Added: branches/CMake-release/libs/multi_array/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/multi_array/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  MultiArray
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/multi_array/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/multi_array/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,38 @@
+boost_test_compile_fail(fail_cbracket)
+boost_test_compile_fail(fail_cdata)
+boost_test_compile_fail(fail_citerator)
+boost_test_compile_fail(fail_cparen)
+boost_test_compile_fail(fail_criterator)
+boost_test_compile_fail(fail_csubarray)
+boost_test_compile_fail(fail_csubarray2)
+boost_test_compile_fail(fail_csubarray3)
+boost_test_compile_fail(fail_cview)
+boost_test_compile_fail(fail_cview2)
+boost_test_compile_fail(fail_cview3)
+boost_test_compile_fail(fail_ref_cbracket)
+boost_test_compile_fail(fail_ref_cdata)
+boost_test_compile_fail(fail_ref_citerator)
+boost_test_compile_fail(fail_ref_cparen)
+boost_test_compile_fail(fail_ref_criterator)
+boost_test_compile_fail(fail_ref_csubarray)
+boost_test_compile_fail(fail_ref_csubarray2)
+boost_test_compile_fail(fail_ref_csubarray3)
+boost_test_compile_fail(fail_ref_cview)
+boost_test_compile_fail(fail_ref_cview2)
+boost_test_compile_fail(fail_ref_cview3)
+
+boost_test_run(constructors DEPENDS boost_test_exec_monitor)
+boost_test_run(access DEPENDS boost_test_exec_monitor)
+boost_test_run(compare DEPENDS boost_test_exec_monitor)
+boost_test_run(iterators DEPENDS boost_test_exec_monitor)
+boost_test_run(slice DEPENDS boost_test_exec_monitor)
+boost_test_run(assign DEPENDS boost_test_exec_monitor)
+boost_test_run(assign_to_array DEPENDS boost_test_exec_monitor)
+boost_test_run(index_bases DEPENDS boost_test_exec_monitor)
+boost_test_run(storage_order DEPENDS boost_test_exec_monitor)
+boost_test_run(reshape DEPENDS boost_test_exec_monitor)
+boost_test_run(range1 DEPENDS boost_test_exec_monitor)
+boost_test_run(idxgen1 DEPENDS boost_test_exec_monitor)
+boost_test_run(stl_interaction DEPENDS boost_test_exec_monitor)
+boost_test_run(resize DEPENDS boost_test_exec_monitor)
+boost_test_compile(concept_checks)
Added: branches/CMake-release/libs/multi_index/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/multi_index/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  MultiIndex
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/multi_index/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/multi_index/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,24 @@
+boost_test_run(test_basic test_basic.cpp            test_basic_main.cpp)
+boost_test_run(test_capacity test_capacity.cpp         test_capacity_main.cpp)
+boost_test_run(test_comparison test_comparison.cpp       test_comparison_main.cpp)
+boost_test_run(test_composite_key test_composite_key.cpp    test_composite_key_main.cpp)
+boost_test_run(test_conv_iterators test_conv_iterators.cpp   test_conv_iterators_main.cpp)
+boost_test_run(test_copy_assignment test_copy_assignment.cpp  test_copy_assignment_main.cpp)
+boost_test_run(test_hash_ops test_hash_ops.cpp         test_hash_ops_main.cpp)
+boost_test_run(test_iterators test_iterators.cpp        test_iterators_main.cpp)
+boost_test_run(test_key_extractors test_key_extractors.cpp   test_key_extractors_main.cpp)
+boost_test_run(test_list_ops  test_list_ops.cpp         test_list_ops_main.cpp)
+boost_test_run(test_modifiers test_modifiers.cpp        test_modifiers_main.cpp)
+boost_test_run(test_mpl_ops test_mpl_ops.cpp          test_mpl_ops_main.cpp)
+boost_test_run(test_observers test_observers.cpp        test_observers_main.cpp)    
+boost_test_run(test_projection test_projection.cpp       test_projection_main.cpp)
+boost_test_run(test_range test_range.cpp            test_range_main.cpp)
+boost_test_run(test_rearrange test_rearrange.cpp        test_rearrange_main.cpp)
+boost_test_run(test_safe_mode test_safe_mode.cpp        test_safe_mode_main.cpp)
+boost_test_run(test_serialization
+  test_serialization.cpp    test_serialization1.cpp
+  test_serialization2.cpp   test_serialization_main.cpp
+  DEPENDS boost_serialization)
+boost_test_run(test_set_ops test_set_ops.cpp          test_set_ops_main.cpp)
+boost_test_run(test_special_set_ops test_special_set_ops.cpp  test_special_set_ops_main.cpp)
+boost_test_run(test_update test_update.cpp           test_update_main.cpp)
Added: branches/CMake-release/libs/numeric/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/numeric/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Numeric
+  TESTDIRS conversion/test interval/test ublas/test
+  )
Added: branches/CMake-release/libs/numeric/conversion/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/numeric/conversion/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_test_run(bounds_test)
+boost_test_run(traits_test)
+boost_test_run(converter_test)
+boost_test_run(udt_support_test)
+boost_test_run(numeric_cast_test)
+boost_test_run(udt_example_0)
Added: branches/CMake-release/libs/numeric/interval/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/numeric/interval/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,21 @@
+#TODO: Deal with these on OSF
+#    <toolset>hp_cxx,<os>OSF:<cflags>"-fprm d"
+ #   <toolset>gcc,<os>OSF:<cflags>-mfp-rounding-mode=d
+
+boost_test_compile(integer)
+
+boost_test_run(add)
+boost_test_run(det)
+boost_test_run(fmod)
+boost_test_run(mul)
+boost_test_run(overflow)
+boost_test_run(pi)
+boost_test_run(pow)
+
+boost_test_run(cmp DEPENDS boost_test_exec_monitor)
+boost_test_run(cmp_exn DEPENDS boost_test_exec_monitor)
+boost_test_run(cmp_exp DEPENDS boost_test_exec_monitor)
+boost_test_run(cmp_lex DEPENDS boost_test_exec_monitor)
+boost_test_run(cmp_set DEPENDS boost_test_exec_monitor)
+boost_test_run(cmp_tribool DEPENDS boost_test_exec_monitor)
+boost_test_run(test_float DEPENDS boost_test_exec_monitor)
Added: branches/CMake-release/libs/numeric/ublas/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/numeric/ublas/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,57 @@
+# Define features to test:
+#  Value types: USE_FLOAT USE_DOUBLE USE_STD_COMPLEX
+#  Proxies: USE_RANGE USE_SLICE
+#  Storage types: USE_BOUNDED_ARRAY USE_UNBOUNDED_ARRAY
+#  Vector types: USE_STD_VECTOR USE_BOUNDED_VECTOR
+#  Matrix types: USE_MATRIX USE_BOUNDED_MATRIX USE_VECTOR_OF_VECTOR
+#  Adaptors: USE_ADAPTOR
+
+set(UBLAS_TESTSET_DEFINES
+  "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_RANGE -DUSE_SLICE -DUSE_UNBOUNDED_ARRAY -DUSE_STD_VECTOR -DUSE_BOUNDED_VECTOR -DUSE_MATRIX")
+
+#  Sparse storage: USE_MAP_ARRAY USE_STD_MAP
+#  Sparse vectors: USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR USE_COORDINATE_VECTOR
+#  Sparse matrices: USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX USE_COORDINATE_MATRIX USE_MAPPED_VECTOR_OF_MAPPED_VECTOR USE_GENERALIZED_VECTOR_OF_VECTOR
+
+set(UBLAS_TESTSET_SPARSE_DEFINES
+  "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_UNBOUNDED_ARRAY -DUSE_MAP_ARRAY -DUSE_STD_MAP -DUSE_MAPPED_VECTOR -DUSE_COMPRESSED_VECTOR -DUSE_COORDINATE_VECTOR -DUSE_MAPPED_MATRIX -DUSE_COMPRESSED_MATRIX -DUSE_COORDINATE_MATRIX")
+
+# Definitions for uBLAS tests
+add_definitions(-DBOOST_UBLAS_NO_EXCEPTIONS)
+# TODO: <toolset>vacpp:<define>"BOOST_UBLAS_NO_ELEMENT_PROXIES"
+
+boost_test_run(test1
+  test1.cpp test11.cpp test12.cpp test13.cpp
+  COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(test2
+  test2.cpp test21.cpp test22.cpp test23.cpp
+  COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(test3
+  test3.cpp test31.cpp test32.cpp test33.cpp
+  COMPILE_FLAGS "${UBLAS_TESTSET_SPARSE_DEFINES}")
+
+boost_test_run(test4
+  test4.cpp test42.cpp test43.cpp
+  COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(test5
+  test5.cpp test52.cpp test53.cpp
+  COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(test6
+  test6.cpp test62.cpp test63.cpp
+  COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+# Test commented out, just like in V1 and V2 Jamfiles
+# boost_test_run(test7
+#   test7.cpp test71.cpp test72.cpp test73.cpp
+#   COMPILE_FLAGS "-DBOOST_UBLAS_USE_INTERVAL ${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(placement_new)
+
+#TODO:
+#            <toolset>intel-linux:<cxxflags>"-Xc"
+#			<toolset>darwin:<cxxflags>"-fabi-version=0"
+boost_test_compile(concepts COMPILE_FLAGS "-DEXTERNAL")
Added: branches/CMake-release/libs/optional/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/optional/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Optional
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/optional/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/optional/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,13 @@
+boost_test_run(optional_test)
+boost_test_run(optional_test_tie)
+boost_test_run(optional_test_ref)
+boost_test_run(optional_test_inplace)
+boost_test_run(optional_test_io)
+boost_test_compile_fail(optional_test_fail1)
+boost_test_compile_fail(optional_test_fail3a)
+boost_test_compile_fail(optional_test_fail3b)
+boost_test_compile_fail(optional_test_ref_fail1)
+boost_test_compile_fail(optional_test_ref_fail3)
+boost_test_compile_fail(optional_test_ref_fail4)
+boost_test_compile_fail(optional_test_inplace_fail)
+boost_test_compile_fail(optional_test_inplace_fail2)
Added: branches/CMake-release/libs/parameter/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/parameter/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Parameter
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/parameter/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/parameter/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,22 @@
+boost_test_run(basics)
+boost_test_run(sfinae)
+boost_test_run(macros)
+boost_test_run(earwicker)
+boost_test_run(tutorial)
+boost_test_run(singular)
+boost_test_run(mpl)
+boost_test_run(preprocessor)
+boost_test_run(preprocessor_deduced)
+boost_test_run(efficiency COMPILE_FLAGS "${RELEASE_COMPILE_FLAGS}")
+boost_test_run(maybe)
+boost_test_run(deduced)
+boost_test_run(optional_deduced_sfinae)
+boost_test_run(deduced_dependent_predicate)
+boost_test_run(normalized_argument_types)
+boost_test_compile(ntp)
+boost_test_compile(unwrap_cv_reference)
+boost_test_compile_fail(duplicates)
+boost_test_compile_fail(deduced_unmatched_arg)
+boost_test_compile(compose)
+
+# TODO: [ bpl-test python_test ]
Added: branches/CMake-release/libs/pool/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/pool/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Pool
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/pool/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/pool/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1 @@
+boost_test_run(test_pool_alloc DEPENDS boost_test_exec_monitor)
Added: branches/CMake-release/libs/preprocessor/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/preprocessor/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Preprocessor
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/preprocessor/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/preprocessor/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,14 @@
+boost_test_compile(arithmetic)
+boost_test_compile(array)
+boost_test_compile(comparison)
+boost_test_compile(control)
+boost_test_compile(debug)
+boost_test_compile(facilities)
+boost_test_compile(iteration)
+boost_test_compile(list)
+boost_test_compile(logical)
+boost_test_compile(repetition)
+boost_test_compile(selection)
+boost_test_compile(seq)
+boost_test_compile(slot)
+boost_test_compile(tuple)
Added: branches/CMake-release/libs/program_options/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/program_options/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Program_Options
+  SRCDIRS src
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/program_options/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/program_options/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_add_library(boost_program_options
+  cmdline.cpp config_file.cpp options_description.cpp parsers.cpp 
+  variables_map.cpp value_semantic.cpp positional_options.cpp 
+  utf8_codecvt_facet.cpp convert.cpp winmain.cpp
+  SHARED_COMPILE_FLAGS "-DBOOST_PROGRAM_OPTIONS_DYN_LINK=1")
Added: branches/CMake-release/libs/program_options/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/program_options/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,19 @@
+set(PROGRAM_OPTIONS_LIBRARIES
+  boost_program_options
+  boost_test_exec_monitor)
+
+macro(program_options_test_run TESTNAME)
+  boost_test_run(${TESTNAME} 
+    DEPENDS boost_program_options boost_test_exec_monitor STATIC)
+  boost_test_run("${TESTNAME}_dll"
+    "${TESTNAME}.cpp"
+    DEPENDS boost_program_options boost_test_exec_monitor-static SHARED)
+endmacro(program_options_test_run)
+
+program_options_test_run(options_description_test) 
+program_options_test_run(parsers_test)
+program_options_test_run(variable_map_test)
+program_options_test_run(cmdline_test)
+program_options_test_run(positional_options_test)
+program_options_test_run(unicode_test) 
+program_options_test_run(winmain) 
Added: branches/CMake-release/libs/property_map/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/property_map/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Property_Map
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/property_map/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/property_map/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,2 @@
+boost_test_compile(property_map_cc)
+boost_test_run(dynamic_properties_test)
Added: branches/CMake-release/libs/ptr_container/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/ptr_container/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Pointer_Containers
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/ptr_container/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/ptr_container/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,14 @@
+boost_test_run(ptr_vector DEPENDS boost_unit_test_framework)
+boost_test_run(ptr_list DEPENDS boost_unit_test_framework)
+boost_test_run(ptr_deque DEPENDS boost_unit_test_framework)
+boost_test_run(ptr_set DEPENDS boost_unit_test_framework)  
+boost_test_run(ptr_map DEPENDS boost_unit_test_framework)
+boost_test_run(ptr_array DEPENDS boost_unit_test_framework)
+boost_test_run(tree_test DEPENDS boost_unit_test_framework)   
+boost_test_run(incomplete_type_test DEPENDS boost_unit_test_framework)
+boost_test_run(view_example DEPENDS boost_unit_test_framework)
+boost_test_run(iterator_test DEPENDS boost_unit_test_framework)
+boost_test_run(tut1 DEPENDS boost_unit_test_framework)   
+boost_test_run(indirect_fun DEPENDS boost_unit_test_framework)
+boost_test_run(serialization DEPENDS boost_unit_test_framework boost_serialization)
+boost_test_run(no_exceptions DEPENDS boost_unit_test_framework)
Added: branches/CMake-release/libs/python/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/python/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,66 @@
+include(FindPythonInterp)
+message(STATUS "   found python executable  ${PYTHON_EXECUTABLE}")
+include(FindPythonLibs)
+message(STATUS "   found python includes    ${PYTHON_INCLUDE_PATH}")
+message(STATUS "   found python libs        ${PYTHON_LIBRARIES}")
+
+if (PYTHON_LIBRARIES)
+  include_directories(${PYTHON_INCLUDE_PATH})
+
+  # Determine extra libraries we need to link against to build Python
+  # extension modules.
+  if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+    set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "dl")
+    if(CMAKE_COMPILER_IS_GNUCXX)
+      set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt")
+    endif(CMAKE_COMPILER_IS_GNUCXX)
+  elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD")
+    set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread")
+  elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly")
+    # DragonFly is a variant of FreeBSD
+    set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread")
+  elseif(CMAKE_SYSTEM_NAME STREQUAL "OSF")
+    set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread" "dl")
+    if(CMAKE_COMPILER_IS_GNUCXX)
+      set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt")
+    endif(CMAKE_COMPILER_IS_GNUCXX)    
+  elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
+    # No options necessary for QNX
+  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+    # No options necessary for Mac OS X
+  elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
+    set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt")
+  elseif(UNIX)
+    # Assume -pthread and -ldl on all other variants
+    set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread" "dl")
+    if(CMAKE_COMPILER_IS_GNUCXX)
+      set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "util")
+    endif(CMAKE_COMPILER_IS_GNUCXX)    
+  endif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+
+  # Macro for building Boost.Python extension modules
+  macro(boost_python_extension MODULE_NAME)
+    parse_arguments(BPL_EXT 
+      "" 
+      "" 
+      ${ARGN})
+
+    # Create the library target itself
+    add_library(${MODULE_NAME} MODULE ${BPL_EXT_DEFAULT_ARGS} )
+
+    # Miscellaneous target properties
+    set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
+
+    # Link against Boost.Python library
+    target_link_libraries(${MODULE_NAME} boost_python-shared)
+
+    # Link against Python libraries
+    target_link_libraries(${MODULE_NAME} ${PYTHON_LIBRARIES})
+  endmacro(boost_python_extension)
+
+  boost_library_project(
+    Python
+    SRCDIRS src
+    TESTDIRS test
+    )
+endif (PYTHON_LIBRARIES)
Added: branches/CMake-release/libs/python/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/python/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,62 @@
+if (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON)
+  # We have detected that there might be Python debug libraries
+  # available, but check for ourselves whether this is true by trying
+  # to compile/link a program against them.
+  set(CMAKE_REQUIRED_DEFINITIONS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG")
+  get_directory_property(CMAKE_REQUIRED_INCLUDES INCLUDE_DIRECTORIES)
+  set(CMAKE_REQUIRED_LIBRARIES ${PYTHON_DEBUG_LIBRARIES})
+  set(CHECK_PYDEBUG_SOURCE
+    "#include <boost/python/object.hpp>")
+  check_cxx_source_compiles(
+    "#include <boost/python/object.hpp>
+    void check(PyObject *obj) { Py_INCREF(obj); } int main() { }" 
+    PYDEBUG_CAN_BUILD)
+
+  # Setup an option to enable/disable building variants with Python
+  # debugging. If we were able to link against the debug libraries,
+  # default to ON; otherwise, default to OFF.
+  option(BUILD_PYTHON_DEBUG
+    "Build an additional Boost.Python library with Python debugging enabled"
+    ${PYDEBUG_CAN_BUILD})
+endif (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON)
+
+# Always build the non-debug variants of the boost_python library
+set(BUILD_PYTHON_NODEBUG ON)
+
+boost_add_library(boost_python
+  numeric.cpp 
+  list.cpp 
+  long.cpp 
+  dict.cpp 
+  tuple.cpp 
+  str.cpp 
+  slice.cpp
+  converter/from_python.cpp 
+  converter/registry.cpp
+  converter/type_id.cpp
+  object/enum.cpp
+  object/class.cpp
+  object/function.cpp
+  object/inheritance.cpp
+  object/life_support.cpp
+  object/pickle_support.cpp
+  errors.cpp
+  module.cpp
+  converter/builtin_converters.cpp
+  converter/arg_to_python_base.cpp
+  object/iterator.cpp
+  object/stl_iterator.cpp
+  object_protocol.cpp
+  object_operators.cpp
+  wrapper.cpp
+  import.cpp
+  exec.cpp
+  STATIC_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB"
+  SHARED_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE"
+  PYTHON_NODEBUG_LINK_LIBS "${PYTHON_LIBRARIES}"
+
+  # Support for Python debugging
+  EXTRA_VARIANTS PYTHON_NODEBUG:PYTHON_DEBUG
+  PYTHON_DEBUG_COMPILE_FLAGS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG"
+  PYTHON_DEBUG_LINK_LIBS "${PYTHON_DEBUG_LIBRARIES}"
+  )
Added: branches/CMake-release/libs/python/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/python/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,194 @@
+macro(bpl_test TESTNAME)
+  parse_arguments(BPL_TEST
+    "ARGS"
+    ""
+    ${ARGN})
+
+  # Determine the Python and C++ source files for this test
+  if (BPL_TEST_DEFAULT_ARGS)
+    # First argument is the Python source we will run, the rest are
+    # either extra Python sources we're dependent on or C++ files from
+    # which we will build extension modules.
+    car(BPL_TEST_PYSOURCE ${BPL_TEST_DEFAULT_ARGS})
+    cdr(BPL_TEST_DEFAULT_ARGS ${BPL_TEST_DEFAULT_ARGS})
+
+    get_filename_component(BPL_TEST_PYBASE ${BPL_TEST_PYSOURCE} NAME_WE)
+    foreach(SRC ${BPL_TEST_DEFAULT_ARGS})
+      get_filename_component(BPL_SRC_EXT ${SRC} EXT)
+      if (BPL_SRC_EXT STREQUAL ".cpp")
+        # Build a Python extension module from this source file
+        get_filename_component(BPL_SRC_NAME ${SRC} NAME_WE)
+        if(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
+          boost_python_extension(${BPL_SRC_NAME}_ext ${SRC})
+        else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
+          boost_python_extension(${BPL_SRC_NAME} ${SRC})
+        endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
+      endif (BPL_SRC_EXT STREQUAL ".cpp")
+    endforeach(SRC ${BPL_TEST_DEFAULT_ARGS})
+  else (BPL_TEST_DEFAULT_ARGS)
+    set(BPL_TEST_PYSOURCE "${TESTNAME}.py")
+
+    # Build a Python extension module from this source file
+    boost_python_extension(${TESTNAME}_ext "${TESTNAME}.cpp")
+  endif(BPL_TEST_DEFAULT_ARGS)
+
+  # We'll need the full patch to run the Python test
+  set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE})
+    
+  # Run the test itself
+  file(TO_NATIVE_PATH "${LIBRARY_OUTPUT_PATH}" PYTHONPATH)
+  if(WIN32 AND NOT UNIX)
+    string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}")
+  endif(WIN32 AND NOT UNIX)
+  add_test("${PROJECT_NAME}::${TESTNAME}"
+    ${PYTHON_EXECUTABLE} 
+    "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py" 
+    "${PYTHONPATH}"
+    ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS})
+endmacro(bpl_test)
+
+macro(py_run TESTNAME)
+  boost_test_run(${TESTNAME} 
+    ${TESTNAME}.cpp
+    DEPENDS boost_python STATIC
+    LINK_LIBS ${PYTHON_LIBRARIES})
+endmacro(py_run)
+
+boost_test_run(exec 
+  DEPENDS boost_python STATIC 
+  ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py"
+  LINK_LIBS ${PYTHON_LIBRARIES})
+boost_test_run(exec-dynamic 
+  exec.cpp
+  ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py"
+  DEPENDS boost_python SHARED 
+  LINK_LIBS ${PYTHON_LIBRARIES})
+
+bpl_test(crossmod_exception 
+  crossmod_exception.py crossmod_exception_a.cpp crossmod_exception_b.cpp)
+
+bpl_test(injected)
+bpl_test(properties)
+bpl_test(return_arg)
+bpl_test(staticmethod)
+bpl_test(shared_ptr)
+bpl_test(andreas_beyer)
+bpl_test(polymorphism)
+bpl_test(polymorphism2)
+
+bpl_test(wrapper_held_type)
+bpl_test(polymorphism2_auto_ptr)
+
+bpl_test(auto_ptr)
+
+bpl_test(minimal)
+bpl_test(args)
+bpl_test(raw_ctor)
+bpl_test(numpy numpy.py printer.py numeric_tests.py numarray_tests.py numpy.cpp)
+bpl_test(enum)
+bpl_test(exception_translator)
+bpl_test(pearu1 test_cltree.py cltree.cpp)
+bpl_test(try newtest.py m1.cpp m2.cpp)
+bpl_test(const_argument)
+bpl_test(keywords keywords_test.py keywords.cpp)
+   
+boost_python_extension(builtin_converters_ext test_builtin_converters.cpp)
+bpl_test(builtin_converters test_builtin_converters.py builtin_converters_ext)
+
+bpl_test(test_pointer_adoption)
+bpl_test(operators)
+bpl_test(callbacks)
+bpl_test(defaults)
+
+bpl_test(object)
+bpl_test(list)
+bpl_test(long)
+bpl_test(dict)
+bpl_test(tuple)
+bpl_test(str)
+bpl_test(slice)
+
+bpl_test(virtual_functions)
+bpl_test(back_reference)
+bpl_test(implicit)
+bpl_test(data_members)
+
+bpl_test(ben_scott1)
+
+bpl_test(bienstman1)
+bpl_test(bienstman2)
+bpl_test(bienstman3)
+
+bpl_test(multi_arg_constructor)
+# TODO: A bug in the Win32 intel compilers causes compilation of one
+# of our tests to take forever when debug symbols are
+# enabled. This rule turns them off when added to the requirements
+# section 
+#   <toolset>intel-win:<debug-symbols>off
+
+bpl_test(iterator iterator.py iterator.cpp input_iterator.cpp)
+
+bpl_test(stl_iterator stl_iterator.py stl_iterator.cpp)
+
+bpl_test(extract)
+
+bpl_test (crossmod_opaque
+  crossmod_opaque.py crossmod_opaque_a.cpp crossmod_opaque_b.cpp)
+
+bpl_test(opaque)
+bpl_test(voidptr)
+
+bpl_test(pickle1)
+bpl_test(pickle2)
+bpl_test(pickle3)
+bpl_test(pickle4)
+
+bpl_test(nested)
+
+bpl_test(docstring)
+
+bpl_test(vector_indexing_suite)
+
+bpl_test(pointer_vector)
+# TODO: Turn off this test on HP CXX, as the test hangs when executing.
+# Whenever the cause for the failure of the polymorphism test is found
+# and fixed, this should be retested.
+#    <toolset>hp_cxx:<build>no
+      
+boost_python_extension(map_indexing_suite_ext 
+  map_indexing_suite.cpp int_map_indexing_suite.cpp)
+
+bpl_test(map_indexing_suite 
+  map_indexing_suite.py map_indexing_suite_ext)
+
+
+# --- unit tests of library components ---
+
+boost_test_compile(indirect_traits_test)
+boost_test_run(destroy_test)
+py_run(pointer_type_id_test)
+py_run(bases)
+boost_test_run(if_else)
+py_run(pointee)
+boost_test_run(result)
+
+boost_test_compile(string_literal)
+boost_test_compile(borrowed)
+boost_test_compile(object_manager)
+boost_test_compile(copy_ctor_mutates_rhs)
+
+py_run(upcast)
+  
+boost_test_compile(select_holder)
+
+boost_test_run(select_from_python_test
+  select_from_python_test.cpp ../src/converter/type_id.cpp
+  COMPILE_FLAGS "-DBOOST_PYTHON_STATIC_LIB"
+  LINK_LIBS ${PYTHON_LIBRARIES})
+  
+boost_test_compile(select_arg_to_python_test)
+
+boost_test_compile_fail(raw_pyobject_fail1)
+boost_test_compile_fail(raw_pyobject_fail2)
+boost_test_compile_fail(as_to_python_function)
+boost_test_compile_fail(object_fail1)
Added: branches/CMake-release/libs/random/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/random/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Random
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/random/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/random/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+boost_test_run(random_test ../random_test.cpp)
+boost_test_run(random_demo ../random_demo.cpp)
+# TODO: These tests were commented out in the Jamfile.v2:
+#       [ run libs/random/nondet_random_speed.cpp ]
+#       [ run libs/random/random_device.cpp ]
+#       [ run libs/random/random_speed.cpp ]
+#       [ run libs/random/statistic_tests.cpp ]
Added: branches/CMake-release/libs/range/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/range/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Range
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/range/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/range/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,11 @@
+boost_test_run(array DEPENDS boost_unit_test_framework)
+boost_test_run(iterator_pair DEPENDS boost_unit_test_framework)
+boost_test_run(std_container DEPENDS boost_unit_test_framework)
+boost_test_run(string DEPENDS boost_unit_test_framework)
+boost_test_run(iterator_range DEPENDS boost_unit_test_framework)
+boost_test_run(sub_range DEPENDS boost_unit_test_framework)
+boost_test_run(partial_workaround DEPENDS boost_unit_test_framework)
+boost_test_run(algorithm_example DEPENDS boost_unit_test_framework)
+boost_test_run(reversible_range DEPENDS boost_unit_test_framework)
+boost_test_run(const_ranges DEPENDS boost_unit_test_framework)
+boost_test_run(extension_mechanism DEPENDS boost_unit_test_framework)
Added: branches/CMake-release/libs/rational/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/rational/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Rational
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/rational/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/rational/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_test_run(rational_example ../rational_example.cpp)
+boost_test_run(rational_test 
+  ../rational_test.cpp
+  DEPENDS boost_unit_test_framework
+  )
Added: branches/CMake-release/libs/regex/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/regex/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Regex 
+  SRCDIRS src
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/regex/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/regex/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,34 @@
+# Look for the ICU library. If we find it, we'll compile in support for ICU
+include(FindICU)
+set(BOOST_REGEX_LIBRARIES)
+if (ICU_FOUND AND ICU_I18N_FOUND)
+  add_definitions(-DBOOST_HAS_ICU=1)
+  include_directories(${ICU_INCLUDE_DIRS})
+  set(BOOST_REGEX_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+endif (ICU_FOUND AND ICU_I18N_FOUND)
+ 
+boost_add_library(boost_regex
+   c_regex_traits.cpp
+   cpp_regex_traits.cpp
+   cregex.cpp
+   fileiter.cpp
+   icu.cpp
+   instances.cpp
+   posix_api.cpp
+   regex.cpp
+   regex_debug.cpp
+   regex_raw_buffer.cpp
+   regex_traits_defaults.cpp
+   static_mutex.cpp
+   w32_regex_traits.cpp
+   wc_regex_traits.cpp
+   wide_posix_api.cpp
+   winstances.cpp 
+   usinstances.cpp 
+   LINK_LIBS ${BOOST_REGEX_LIBRARIES}
+   SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1)
+
+
+
+
+
Added: branches/CMake-release/libs/regex/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/regex/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,88 @@
+# TODO: Default to multi-threaded?
+macro(regex_test TESTNAME)
+  parse_arguments(REGEX_TEST "" "" ${ARGN})
+
+  if (REGEX_TEST_DEFAULT_ARGS)
+    set(REGEX_TEST_SOURCES ${REGEX_TEST_DEFAULT_ARGS})
+  else (REGEX_TEST_DEFAULT_ARGS)
+    set(REGEX_TEST_SOURCES "${TESTNAME}.cpp")
+  endif (REGEX_TEST_DEFAULT_ARGS)
+
+  boost_test_run(${TESTNAME} ${REGEX_TEST_SOURCES} 
+    COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
+    DEPENDS boost_regex SHARED)
+endmacro(regex_test)
+
+set(R_SOURCES
+  regress/basic_tests.cpp
+  regress/main.cpp
+  regress/test_alt.cpp
+  regress/test_anchors.cpp
+  regress/test_asserts.cpp
+  regress/test_backrefs.cpp
+  regress/test_deprecated.cpp
+  regress/test_emacs.cpp
+  regress/test_escapes.cpp
+  regress/test_grep.cpp
+  regress/test_locale.cpp
+  regress/test_mfc.cpp
+  regress/test_non_greedy_repeats.cpp
+  regress/test_perl_ex.cpp
+  regress/test_replace.cpp
+  regress/test_sets.cpp
+  regress/test_simple_repeats.cpp
+  regress/test_tricky_cases.cpp
+  regress/test_icu.cpp
+  regress/test_unicode.cpp
+  regress/test_overloads.cpp
+  regress/test_operators.cpp
+  )
+
+boost_test_run(regex_regress ${R_SOURCES} DEPENDS boost_regex STATIC)
+boost_test_run(regex_regress_dll ${R_SOURCES} 
+  COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
+  DEPENDS boost_regex SHARED)
+boost_test_run(regex_regress_threaded ${R_SOURCES} 
+  COMPILE_FLAGS "-DTEST_THREADS -DBOOST_REGEX_DYN_LINK=1"
+  MULTI_THREADED SHARED
+  DEPENDS boost_regex boost_thread)
+
+regex_test(posix_api_check c_compiler_checks/posix_api_check.c)
+boost_test_compile(wide_posix_api_check_c c_compiler_checks/wide_posix_api_check.c)
+regex_test(posix_api_check_cpp c_compiler_checks/wide_posix_api_check.cpp)
+regex_test(bad_expression_test pathology/bad_expression_test.cpp)
+regex_test(recursion_test pathology/recursion_test.cpp)
+regex_test(unicode_iterator_test unicode/unicode_iterator_test.cpp)
+
+boost_test_run(static_mutex_test static_mutex/static_mutex_test.cpp
+  COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
+  MULTI_THREADED SHARED
+  DEPENDS boost_regex boost_thread)
+
+regex_test(object_cache_test object_cache/object_cache_test.cpp)
+boost_test_run(regex_config_info config_info/regex_config_info.cpp
+  DEPENDS boost_regex STATIC)
+
+boost_test_run(regex_dll_config_info config_info/regex_config_info.cpp
+  COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
+  DEPENDS boost_regex SHARED)
+
+regex_test(test_collate_info collate_info/collate_info.cpp)
+
+boost_test_compile(concept_check concepts/concept_check.cpp)
+boost_test_compile(ice_concept_check concepts/icu_concept_check.cpp)
+
+# TODO: Deal with this
+  #  [ run
+    # sources
+#    captures/captures_test.cpp
+ #   captures//boost_regex_extra
+ #:  # additional args
+ #:  # test-files
+ #:  # requirements
+ #   <threading>multi
+ #   <define>BOOST_REGEX_MATCH_EXTRA=1
+ #   <define>BOOST_REGEX_NO_LIB=1
+# :  # test name
+ #   captures_test
+# ]
Added: branches/CMake-release/libs/serialization/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/serialization/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Serialization
+  SRCDIRS src
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/serialization/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/serialization/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,56 @@
+
+set(SOURCES
+    basic_archive.cpp
+    basic_iarchive.cpp
+    basic_oarchive.cpp
+    basic_iserializer.cpp
+    basic_oserializer.cpp
+    basic_pointer_iserializer.cpp
+    basic_pointer_oserializer.cpp
+    basic_serializer_map.cpp
+    basic_text_iprimitive.cpp
+    basic_text_oprimitive.cpp
+    basic_xml_archive.cpp
+    binary_iarchive.cpp
+    binary_oarchive.cpp
+    extended_type_info.cpp
+    extended_type_info_no_rtti.cpp
+    extended_type_info_typeid.cpp
+    polymorphic_iarchive.cpp
+    polymorphic_oarchive.cpp
+    stl_port.cpp
+    text_iarchive.cpp
+    text_oarchive.cpp
+    void_cast.cpp
+    xml_grammar.cpp
+    xml_iarchive.cpp
+    xml_oarchive.cpp
+    )
+    
+set(WSOURCES
+    codecvt_null.cpp
+    utf8_codecvt_facet.cpp
+    basic_text_wiprimitive.cpp
+    basic_text_woprimitive.cpp
+    binary_wiarchive.cpp
+    binary_woarchive.cpp
+    text_wiarchive.cpp
+    text_woarchive.cpp
+    xml_wgrammar.cpp
+    xml_wiarchive.cpp
+    xml_woarchive.cpp
+    )
+
+boost_add_library(boost_serialization
+  ${SOURCES}
+  SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1
+)
+
+option(BUILD_BOOST_WSERIALIZATION "Build wide-char boost serialization libs" ON)
+if (BUILD_BOOST_WSERIALIZATION)
+  boost_add_library(boost_wserialization
+    ${WSOURCES}
+    SHARED_COMPILE_FLAGS "-DBOOST_SERIALIZATION_DYN_LINK=1 -DBOOST_WSERIALIZATION_DYN_LINK=1"
+    DEPENDS boost_serialization
+    )
+endif(BUILD_BOOST_WSERIALIZATION)
Added: branches/CMake-release/libs/serialization/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/serialization/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,144 @@
+# The set of archives that we will use for testing the Serialization
+# library
+set(BOOST_ARCHIVE_LIST 
+  "text_archive" 
+  "text_warchive" 
+  "binary_archive" 
+  "xml_archive" 
+  "xml_warchive"
+  )
+
+# The serialization_test macro declares a set of tests of the
+# serialization library. For each invocation of serialization_test,
+# this macro will build separate static and dynamic tests for each
+# archive type listed in BOOST_ARCHIVE_LIST.
+macro(serialization_test testname)
+  parse_arguments(BSL_TEST "" "NO_LIBS;POLYMORPHIC" ${ARGN})
+
+  if(NOT BSL_TEST_DEFAULT_ARGS)
+    set(BSL_TEST_SOURCES "${testname}.cpp")
+  else(NOT BSL_TEST_DEFAULT_ARGS)
+    set(BSL_TEST_SOURCES "${BSL_TEST_DEFAULT_ARGS}")
+  endif(NOT BSL_TEST_DEFAULT_ARGS)
+
+  if (BSL_TEST_POLYMORPHIC)
+    set(BSL_TEST_POLY "polymorphic_")
+  elseif(BSL_TEST_POLYMORPHIC)
+    set(BSL_TEST_POLY "")
+  endif(BSL_TEST_POLYMORPHIC)
+  
+  foreach(ARCHIVE ${BOOST_ARCHIVE_LIST})
+    set(BSL_TEST_LIBRARIES) 
+    if(NOT BSL_NO_LIBS)
+      set(BSL_TEST_LIBRARIES "boost_serialization")
+      if(ARCHIVE MATCHES ".*warchive")
+        set(BSL_TEST_LIBRARIES "boost_wserialization" ${BSL_TEST_LIBRARIES})
+      endif(ARCHIVE MATCHES ".*warchive")
+    endif(NOT BSL_NO_LIBS)
+
+    # Tests linking against the static serialization library
+    boost_test_run("${testname}_${ARCHIVE}"
+      ${BSL_TEST_SOURCES}
+      STATIC
+      DEPENDS boost_test_exec_monitor-static ${BSL_TEST_LIBRARIES}
+      COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1")
+    
+    # Tests linking against the shared serialization library
+    boost_test_run("${testname}_${ARCHIVE}_dll"
+      ${BSL_TEST_SOURCES}
+      SHARED
+      DEPENDS boost_test_exec_monitor-static ${BSL_TEST_LIBRARIES}
+      COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1")
+  endforeach(ARCHIVE ${BOOST_ARCHIVE_LIST})
+endmacro(serialization_test)
+
+serialization_test(test_array)
+serialization_test(test_binary)
+serialization_test(test_contained_class)
+serialization_test(test_cyclic_ptrs)
+serialization_test(test_delete_pointer)
+serialization_test(test_deque)
+serialization_test(test_derived)
+serialization_test(test_derived_class)
+serialization_test(test_derived_class_ptr)
+serialization_test(test_diamond)
+serialization_test(test_exported)
+serialization_test(test_class_info_save)
+serialization_test(test_class_info_load)
+serialization_test(test_object)
+serialization_test(test_primitive)
+serialization_test(test_list)
+serialization_test(test_list_ptrs)
+serialization_test(test_map)
+serialization_test(test_mi)
+serialization_test(test_multiple_ptrs)
+serialization_test(test_no_rtti)
+serialization_test(test_non_intrusive)
+serialization_test(test_non_default_ctor)
+serialization_test(test_non_default_ctor2)
+serialization_test(test_null_ptr)
+serialization_test(test_nvp)
+serialization_test(test_recursion)
+serialization_test(test_registered)
+serialization_test(test_set)
+serialization_test(test_simple_class)
+serialization_test(test_simple_class_ptr)
+serialization_test(test_split)
+serialization_test(test_tracking)
+serialization_test(test_unregistered)
+serialization_test(test_variant)
+serialization_test(test_vector)
+serialization_test(test_optional)
+serialization_test(test_shared_ptr)
+serialization_test(test_shared_ptr_132)
+serialization_test(test_polymorphic POLYMORPHIC 
+  test_polymorphic.cpp test_polymorphic_A.cpp)
+serialization_test(test_iterators NO_LIBS)
+serialization_test(test_iterators_base64 NO_LIBS)
+serialization_test(test_inclusion NO_LIBS)
+serialization_test(test_private_ctor)
+serialization_test(test_reset_object_address)
+serialization_test(test_smart_cast NO_LIBS)
+serialization_test(test_static_warning NO_LIBS)
+serialization_test(test_utf8_codecvt 
+  test_utf8_codecvt.cpp ../src/utf8_codecvt_facet.cpp NO_LIBS)
+serialization_test(test_void_cast)
+serialization_test(test_mult_archive_types)
+serialization_test(test_codecvt_null 
+  test_codecvt_null.cpp ../src/codecvt_null.cpp NO_LIBS)
+
+# demos
+serialization_test(test_demo)
+serialization_test(test_demo_auto_ptr)
+serialization_test(test_demo_exception)
+serialization_test(test_demo_fast_archive)
+serialization_test(test_demo_pimpl 
+  ../example/demo_pimpl.cpp ../example/demo_pimpl_A.cpp)
+serialization_test(test_demo_polymorphic 
+  ../example/demo_polymorphic.cpp ../example/demo_polymorphic_A.cpp)
+serialization_test(test_demo_portable_archive)
+serialization_test(test_demo_shared_ptr)
+serialization_test(test_demo_xml)
+serialization_test(test_demo_xml_save)
+serialization_test(test_demo_xml_load)
+
+# should fail compilation
+boost_test_compile_fail(test_not_serializable) # FIXME std:locale-support ]
+boost_test_compile_fail(test_traits_fail) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_save_fail1) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_save_fail2) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_save_fail3) # FIXME std:locale-support ]
+# note - library unable to detect there errors for now
+#boost_test_compile_fail(test_const_save_fail1_nvp)
+#boost_test_compile_fail(test_const_save_fail2_nvp)
+#boost_test_compile_fail(test_const_save_fail3_nvp)
+boost_test_compile_fail(test_const_load_fail1) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_load_fail2) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_load_fail3) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_load_fail1_nvp) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_load_fail2_nvp) # FIXME std:locale-support ]
+boost_test_compile_fail(test_const_load_fail3_nvp) # FIXME std:locale-support ]
+
+# should compile
+boost_test_compile(test_traits_pass) # FIXME std:locale-support ]
+boost_test_compile(test_const_pass) # FIXME std:locale-support ]
Added: branches/CMake-release/libs/signals/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/signals/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Signals 
+  SRCDIRS src 
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/signals/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/signals/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+add_definitions(-DBOOST_SIGNALS_NO_LIB=1)
+
+boost_add_library(
+  boost_signals 
+  trackable.cpp connection.cpp named_slot_map.cpp signal_base.cpp slot.cpp
+  SHARED_COMPILE_FLAGS "-DBOOST_SIGNALS_DYN_LINK=1"
+  )
Added: branches/CMake-release/libs/signals/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/signals/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,6 @@
+boost_test_run(dead_slot_test DEPENDS boost_signals)
+boost_test_run(deletion_test DEPENDS boost_signals)
+boost_test_run(ordering_test DEPENDS boost_signals)
+boost_test_run(signal_n_test DEPENDS boost_signals)
+boost_test_run(signal_test DEPENDS boost_signals)
+boost_test_run(trackable_test DEPENDS boost_signals)
Added: branches/CMake-release/libs/smart_ptr/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/smart_ptr/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Smart_pointer
+  TESTDIRS test
+  )
+  
Added: branches/CMake-release/libs/smart_ptr/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/smart_ptr/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,15 @@
+boost_test_run(smart_ptr_test)
+boost_test_run(shared_ptr_basic_test)
+boost_test_run(shared_ptr_test)
+boost_test_run(weak_ptr_test)
+boost_test_run(shared_from_this_test)
+boost_test_run(get_deleter_test)
+boost_test_run(intrusive_ptr_test)
+boost_test_run(atomic_count_test)
+boost_test_run(lw_mutex_test)
+boost_test_compile_fail(shared_ptr_assign_fail)
+boost_test_compile_fail(shared_ptr_delete_fail)
+boost_test_run(shared_ptr_alloc2_test)
+boost_test_run(pointer_cast_test)
+boost_test_compile(pointer_to_other_test)
+boost_test_run(auto_ptr_rv_test)
Added: branches/CMake-release/libs/spirit/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/spirit/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Spirit
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/spirit/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/spirit/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,123 @@
+macro(spirit_run TESTNAME)
+  parse_arguments(SPIRIT_RUN "COMPILE_FLAGS" "" ${ARGN})
+
+  if (SPIRIT_RUN_DEFAULT_ARGS)
+    set(SPIRIT_RUN_SOURCES ${SPIRIT_RUN_DEFAULT_ARGS})
+  else (SPIRIT_RUN_DEFAULT_ARGS)
+    set(SPIRIT_RUN_SOURCES "${TESTNAME}.cpp")
+  endif (SPIRIT_RUN_DEFAULT_ARGS)
+
+  boost_test_run(${TESTNAME} 
+    ${SPIRIT_RUN_SOURCES}
+    COMPILE_FLAGS "${SPIRIT_RUN_COMPILE_FLAGS}"
+    )
+  boost_test_run(${TESTNAME}_debug 
+    ${SPIRIT_RUN_SOURCES}
+    COMPILE_FLAGS "-DBOOST_SPIRIT_DEBUG=1 ${SPIRIT_RUN_COMPILE_FLAGS}"
+    )
+endmacro(spirit_run)
+
+if(MSVC)
+  # For Visual C++, turn on optimizations
+  set(OPT_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}")
+else(MSVC)
+  set(OPT_FLAGS "")
+endif(MSVC)
+
+# spirit.core.kernel
+spirit_run(match_tests)
+
+# spirit.core.scanner
+spirit_run(scanner_tests)
+spirit_run(scanner_value_type_tests)
+
+# spirit.core.primitive
+spirit_run(primitives_tests)
+spirit_run(char_strings_test)
+boost_test_compile_fail(char_strings_test_fail)
+spirit_run(numerics_tests COMPILE_FLAGS "${OPT_FLAGS}")
+
+# spirit.core.composite
+spirit_run(epsilon_tests)
+spirit_run(negated_eps_p_test)
+spirit_run(operators_tests)
+spirit_run(directives_tests)
+spirit_run(shortest_alternative_tests)
+
+# spirit.core.non_terminal
+spirit_run(rule_tests)
+spirit_run(owi_st_tests)
+spirit_run(grammar_tests COMPILE_FLAGS "${OPT_FLAGS}")
+spirit_run(grammar_multi_instance_tst COMPILE_FLAGS "${OPT_FLAGS}")
+spirit_run(subrule_tests)
+# TODO: [        run owi_mt_tests.cpp : : : $(multi-threading) ]
+# TODO: [        run grammar_mt_tests.cpp : : : $(multi-threading) ]
+spirit_run(parser_context_test)
+
+# spirit.meta
+spirit_run(fundamental_tests)
+spirit_run(parser_traits_tests)
+spirit_run(traverse_tests)
+
+# spirit.attribute
+spirit_run(closure_tests COMPILE_FLAGS "${OPT_FLAGS}")
+# [        run bug_000008.cpp : : : $(multi-threading) ]
+spirit_run(parametric_tests)
+
+# spirit.error_handling
+spirit_run(exception_tests)
+
+# spirit.tree
+spirit_run(ast_calc_tests)
+spirit_run(group_match_bug)
+spirit_run(repeat_ast_tests)
+boost_test_compile(mix_and_match_trees)
+
+# temporarily removed from the test suite. tree_tests are not finished, yet.
+#         spirit_run(tree_tests)
+
+# spirit.dynamic
+boost_test_compile(if_p_as_parser_tests)
+boost_test_compile(while_p_as_parser_tests)
+boost_test_compile(for_p_as_parser_tests)
+spirit_run(if_tests)
+spirit_run(if_p_int_as_condition_test)
+spirit_run(for_tests)
+spirit_run(while_tests)
+spirit_run(lazy_tests)
+spirit_run(switch_tests_eps_default)
+spirit_run(switch_tests_general_def)
+spirit_run(switch_tests_wo_default)
+spirit_run(switch_tests_single)
+spirit_run(switch_problem)
+spirit_run(select_p_with_rule)
+
+# spirit.utility.parsers
+spirit_run(chset_tests)
+spirit_run(confix_tests)
+spirit_run(loops_tests)
+spirit_run(symbols_tests)
+spirit_run(symbols_add_null)
+spirit_run(symbols_find_null)
+spirit_run(escape_char_parser_tests COMPILE_FLAGS "${OPT_FLAGS}")
+spirit_run(distinct_tests)
+spirit_run(grammar_def_test)
+
+# spirit.utility.support
+# This test doesn't actually use multiple threads
+#   spirit_run(scoped_lock_tests : : : $(multi-threading) ]
+
+# spirit.iterator
+spirit_run(fixed_size_queue_tests)
+boost_test_compile_fail(fixed_size_queue_fail_tests)
+spirit_run(file_iterator_tests)
+spirit_run(multi_pass_tests COMPILE_FLAGS "${OPT_FLAGS}")
+spirit_run(sf_bug_720917 COMPILE_FLAGS "${OPT_FLAGS}")
+spirit_run(position_iterator_tests COMPILE_FLAGS "${OPT_FLAGS}")
+boost_test_compile(multi_pass_compile_tests)
+
+# spirit.small_bug_fixes
+spirit_run(bug_fixes)
+
+add_subdirectory(actor)
+add_subdirectory(typeof_support)
Added: branches/CMake-release/libs/spirit/test/actor/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/spirit/test/actor/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,14 @@
+# spirit.utility.actors
+spirit_run(action_tests
+  action_tests.cpp
+          assign_test.cpp
+          assign_key_test.cpp
+          clear_test.cpp
+          decrement_test.cpp
+          erase_at_test.cpp
+          increment_test.cpp
+          insert_key_test.cpp
+          insert_at_test.cpp
+          push_back_test.cpp
+          push_front_test.cpp
+          swap_test.cpp)
Added: branches/CMake-release/libs/spirit/test/typeof_support/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/spirit/test/typeof_support/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,12 @@
+# spirit.typeof-support
+boost_test_compile(typeof_actor)
+boost_test_compile(typeof_attribute)
+boost_test_compile(typeof_core)
+boost_test_compile(typeof_debug)
+boost_test_compile(typeof_dynamic)
+boost_test_compile(typeof_error_handling)
+boost_test_compile(typeof_iterator)
+boost_test_compile(typeof_symbols)
+boost_test_compile(typeof_tree)
+boost_test_compile(typeof_utility)
+
Added: branches/CMake-release/libs/statechart/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/statechart/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Statechart
+  TESTDIRS test example
+  )
Added: branches/CMake-release/libs/statechart/example/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/statechart/example/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,25 @@
+macro(statechart_example TESTNAME)
+  set(SOURCES)
+  foreach(ARG ${ARGN})
+    set(SOURCES ${SOURCES} "${TESTNAME}/${ARG}.cpp")
+  endforeach(ARG ${ARGN})
+
+  if (NOT)
+    set(SOURCES "${TESTNAME}/${TESTNAME}.cpp")
+  endif (NOT)
+
+  boost_test_link("${TESTNAME}Example"
+    ${SOURCES}
+    COMPILE_FLAGS "-DBOOST_DISABLE_THREADS"
+    )
+endmacro(statechart_example)
+
+statechart_example(BitMachine)
+#statechart_example(Camera
+#  : Camera : Camera Configuring Main Shooting)
+#statechart_example(Handcrafted : Handcrafted : Handcrafted)
+#statechart_example(Keyboard : Keyboard : Keyboard :)
+#statechart_example(Performance : Performance : Performance)
+#statechart_example(PingPong : PingPong : PingPong)
+#statechart_example(StopWatch : StopWatch : StopWatch)
+#statechart_example(StopWatch2 : StopWatch : StopWatch2) ;
Added: branches/CMake-release/libs/statechart/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/statechart/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,81 @@
+macro(statechart_compile_fail TESTNAME)
+  boost_test_compile_fail("${TESTNAME}Normal"
+    ${TESTNAME}.cpp
+    )
+  boost_test_compile_fail("${TESTNAME}Native"
+    ${TESTNAME}.cpp
+    COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI"
+    )
+  boost_test_compile_fail("${TESTNAME}Relaxed"
+    ${TESTNAME}.cpp
+    COMPILE_FLAGS "-DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
+    )
+  boost_test_compile_fail("${TESTNAME}Both"
+    ${TESTNAME}.cpp
+    COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
+    )
+endmacro(statechart_compile_fail)
+
+macro(statechart_run TESTNAME)
+  boost_test_run("${TESTNAME}Normal"
+    ${TESTNAME}.cpp
+    COMPILE_FLAGS "-DBOOST_DISABLE_THREADS"
+    DEPENDS boost_test_exec_monitor
+    )
+  boost_test_run("${TESTNAME}Native"
+    ${TESTNAME}.cpp
+    COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI"
+    DEPENDS boost_test_exec_monitor
+    )
+  boost_test_run("${TESTNAME}Relaxed"
+    ${TESTNAME}.cpp
+    COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
+    DEPENDS boost_test_exec_monitor
+    )
+  boost_test_run("${TESTNAME}Both"
+    ${TESTNAME}.cpp
+    COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT"
+    DEPENDS boost_test_exec_monitor
+    )
+endmacro(statechart_run)
+
+
+statechart_compile_fail(InvalidChartTest1)
+statechart_compile_fail(InvalidChartTest2)
+statechart_compile_fail(InvalidChartTest3)
+statechart_run(TransitionTest)
+statechart_compile_fail(InvalidTransitionTest1)
+statechart_compile_fail(InvalidTransitionTest2)
+statechart_run(InStateReactionTest)
+statechart_run(TerminationTest)
+statechart_run(DeferralTest)
+statechart_run(CustomReactionTest)
+statechart_compile_fail(InvalidResultAssignTest)
+statechart_compile_fail(InvalidResultDefCtorTest)
+statechart_run(InvalidResultCopyTest)
+statechart_run(UnconsumedResultTest)
+statechart_run(HistoryTest)
+statechart_compile_fail(InconsistentHistoryTest1)
+statechart_compile_fail(InconsistentHistoryTest2)
+statechart_compile_fail(InconsistentHistoryTest3)
+statechart_compile_fail(InconsistentHistoryTest4)
+statechart_compile_fail(InconsistentHistoryTest5)
+statechart_compile_fail(InconsistentHistoryTest6)
+statechart_compile_fail(InconsistentHistoryTest7)
+statechart_compile_fail(InconsistentHistoryTest8)
+statechart_compile_fail(UnsuppDeepHistoryTest)
+statechart_run(StateCastTest)
+statechart_run(TypeInfoTest)
+statechart_run(StateIterationTest)
+statechart_run(FifoSchedulerTest)
+# TODO: We need to create some libraries (just for testing!?), then link
+# and run tests against them. Ick.
+#statechart-st-lib-run LibTestNormal
+#  : TuTestMain : TuTest : <link>static $(normal))
+#statechart-st-lib-run LibTestNative
+#  : TuTestMain : TuTest : <link>static $(native))
+#statechart-st-lib-run DllTestNormal
+#  : TuTestMain : TuTest : <link>shared $(normal))
+#statechart-st-lib-run DllTestNative
+#  : TuTestMain : TuTest : <link>shared $(native))
+
Added: branches/CMake-release/libs/static_assert/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/static_assert/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Static_assert
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/static_assert/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/static_assert/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,13 @@
+boost_test_run(static_assert_test ../static_assert_test.cpp)
+boost_test_run(static_assert_example_2 ../static_assert_example_2.cpp)
+boost_test_run(static_assert_example_3 ../static_assert_example_3.cpp)
+boost_test_compile_fail(static_assert_test_fail_1 ../static_assert_test_fail_1.cpp)
+boost_test_compile_fail(static_assert_test_fail_2 ../static_assert_test_fail_2.cpp)
+boost_test_compile_fail(static_assert_test_fail_3 ../static_assert_test_fail_3.cpp)
+boost_test_compile_fail(static_assert_test_fail_4 ../static_assert_test_fail_4.cpp)
+boost_test_compile_fail(static_assert_test_fail_5 ../static_assert_test_fail_5.cpp)
+boost_test_compile_fail(static_assert_test_fail_6 ../static_assert_test_fail_6.cpp)
+boost_test_compile_fail(static_assert_test_fail_7 ../static_assert_test_fail_7.cpp)
+boost_test_compile_fail(static_assert_test_fail_8 ../static_assert_test_fail_8.cpp)
+boost_test_compile_fail(static_assert_test_fail_9 ../static_assert_test_fail_9.cpp)
+boost_test_compile_fail(static_assert_test_fail_10 ../static_assert_test_fail_10.cpp)
Added: branches/CMake-release/libs/system/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/system/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  System
+  SRCDIRS src
+  )
\ No newline at end of file
Added: branches/CMake-release/libs/system/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/system/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+boost_add_library(
+  boost_system
+  error_code.cpp
+  SHARED_COMPILE_FLAGS "-DBOOST_SYSTEM_DYN_LINK=1"
+  STATIC_COMPILE_FLAGS "-DBOOST_SYSTEM_STATIC_LINK=1"
+  )
+
Added: branches/CMake-release/libs/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Test 
+  SRCDIRS src 
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/test/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/test/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,64 @@
+# Test library configuration
+add_definitions(-DBOOST_TEST_NO_AUTO_LINK=1)
+
+# Compiler-specific configuration
+set(BOOST_SHARED_COMPILE_FLAGS "")
+if(MSVC)
+  add_definitions(/EHac)
+  set(BOOST_SHARED_COMPILE_FLAGS "${BOOST_SHARED_COMPILE_FLAGS} -wd4275")
+endif(MSVC)
+
+if (BORLAND)
+  add_definitions(-w-8080)
+endif(BORLAND)
+
+boost_add_library(boost_prg_exec_monitor 
+  execution_monitor.cpp cpp_main.cpp debug.cpp
+  STATIC_TAG
+  SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS})
+
+boost_add_library(boost_test_exec_monitor
+  NO_SHARED
+  compiler_log_formatter.cpp
+  debug.cpp
+  execution_monitor.cpp
+  framework.cpp
+  plain_report_formatter.cpp
+  progress_monitor.cpp
+  results_collector.cpp
+  results_reporter.cpp
+  test_main.cpp
+  test_tools.cpp
+  unit_test_log.cpp
+  unit_test_main.cpp
+  unit_test_monitor.cpp
+  unit_test_parameters.cpp
+  unit_test_suite.cpp
+  xml_log_formatter.cpp
+  xml_report_formatter.cpp
+  )
+
+boost_add_library(boost_unit_test_framework
+    compiler_log_formatter.cpp
+    debug.cpp
+    exception_safety.cpp
+    execution_monitor.cpp
+    framework.cpp
+    interaction_based.cpp
+    logged_expectations.cpp
+    plain_report_formatter.cpp
+    progress_monitor.cpp
+    results_collector.cpp
+    results_reporter.cpp
+    test_tools.cpp
+    unit_test_log.cpp
+    unit_test_main.cpp
+    unit_test_monitor.cpp
+    unit_test_parameters.cpp
+    unit_test_suite.cpp
+    xml_log_formatter.cpp
+    xml_report_formatter.cpp
+    STATIC_TAG
+  SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS}
+  )
+
Added: branches/CMake-release/libs/test/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/test/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,43 @@
+add_definitions(-DBOOST_TEST_NO_AUTO_LINK=1)
+# shared needs:
+add_definitions(-DBOOST_TEST_DYN_LINK=1)
+
+if(BORLAND)
+  add_definitions(-w-8080)
+endif(BORLAND)
+
+# Basic tests
+boost_test_run(class_properties_test DEPENDS boost_unit_test_framework)
+boost_test_run(basic_cstring_test DEPENDS boost_unit_test_framework)
+
+# Program execution monitor tests
+boost_test_run_fail(prg_exec_fail1 DEPENDS boost_prg_exec_monitor)
+boost_test_run_fail(prg_exec_fail2 DEPENDS boost_prg_exec_monitor)
+boost_test_run_fail(prg_exec_fail3 DEPENDS boost_prg_exec_monitor)
+boost_test_run_fail(prg_exec_fail4 DEPENDS boost_prg_exec_monitor)
+
+# Unit test framework tests
+# NOTE: skipped errors_handling_test until I figure out what BBv2 is doing
+boost_test_run(online_test)
+boost_test_run_fail(minimal_test)
+boost_test_run(foreach_test)
+boost_test_run(output_test_stream_test DEPENDS boost_unit_test_framework SHARED)
+
+# NOTE: skipped result_report_test until I figure out what BBv2 is doing
+
+boost_test_run(parameterized_test_test DEPENDS boost_unit_test_framework SHARED)
+boost_test_run(test_fp_comparisons DEPENDS boost_unit_test_framework SHARED)
+
+# NOTE: skipped test_tools_test until I figure out what BBv2 is doing
+
+boost_test_run(test_case_template_test DEPENDS boost_unit_test_framework SHARED)
+
+boost_test_run(custom_exception_test DEPENDS boost_unit_test_framework)
+
+boost_test_run(fixed_mapping_test DEPENDS boost_unit_test_framework SHARED)
+
+# NOTE: skipped ifstream_line_iterator_test until I figure out what BBv2 is doing
+
+boost_test_run(algorithms_test DEPENDS boost_unit_test_framework)
+boost_test_run(token_iterator_test DEPENDS boost_unit_test_framework SHARED)
+boost_test_run(boost_check_equal_str DEPENDS boost_unit_test_framework SHARED)
Added: branches/CMake-release/libs/thread/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/thread/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Thread
+  SRCDIRS src 
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/thread/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/thread/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,15 @@
+if (WIN32)
+  set(THREAD_SOURCES win32/thread.cpp win32/exceptions.cpp win32/tss_dll.cpp
+                     win32/tss_pe.cpp)
+else (WIN32)
+  set(THREAD_SOURCES pthread/thread.cpp pthread/exceptions.cpp pthread/once.cpp)
+endif (WIN32)
+
+boost_add_library(
+  boost_thread
+  ${THREAD_SOURCES}
+  SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1"
+  STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1"
+  NO_SINGLE_THREADED
+  )
+
Added: branches/CMake-release/libs/thread/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/thread/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,8 @@
+boost_test_run(test_thread MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework) 
+boost_test_run(test_mutex MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)
+boost_test_run(test_condition MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)
+boost_test_run(test_tss MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)
+boost_test_run(test_once MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)
+boost_test_run(test_xtime MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)
+boost_test_run(test_barrier MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)		   
+#boost_test_run(test_read_write_mutex DEPENDS boost_thread-static boost_unit_test_framework)
Added: branches/CMake-release/libs/timer/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/timer/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Timer
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/timer/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/timer/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1 @@
+boost_test_compile(timer_test ../timer_test.cpp)
Added: branches/CMake-release/libs/tokenizer/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/tokenizer/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Tokenizer
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/tokenizer/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/tokenizer/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+boost_test_run(examples ../examples.cpp 
+  DEPENDS boost_test_exec_monitor)
+boost_test_run(simple_example_1 ../simple_example_1.cpp)
+boost_test_run(simple_example_2 ../simple_example_2.cpp)
+boost_test_run(simple_example_3 ../simple_example_3.cpp)
+boost_test_run(simple_example_4 ../simple_example_4.cpp)
+boost_test_run(simple_example_5 ../simple_example_5.cpp)
Added: branches/CMake-release/libs/tr1/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/tr1/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  tr1
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/tr1/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/tr1/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,54 @@
+include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1)
+
+if (BORLAND)
+  # Borland's broken include mechanism needs these extra headers:
+  include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1/bcc32)  
+endif (BORLAND)
+
+macro(boost_glob_test_compile path glob_par compile_flags)
+  list_contains(WITH_STD "WITH_STD" ${ARGN})
+  file(GLOB file_list ${path}/${glob_par})
+  foreach (current_file ${file_list})
+    get_filename_component(file_name ${current_file} NAME_WE)
+    boost_test_compile(${file_name} ${path}/${file_name}.cpp 
+      COMPILE_FLAGS "${compile_flags}")
+    if (WITH_STD)
+      boost_test_compile(${file_name}_std ${path}/${file_name}.cpp 
+        COMPILE_FLAGS "${compile_flags} -DTEST_STD_HEADERS=1")
+    endif (WITH_STD)
+  endforeach (current_file)
+endmacro(boost_glob_test_compile)
+
+macro(boost_glob_test_compile_fail patch glob_par compile_flags)
+  file(GLOB file_list ${glob_par})
+  foreach (current_file ${file_list})
+    get_filename_component(file_name ${current_file} NAME_WE)
+    boost_test_compile_fail(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}")
+	  endforeach (current_file)
+endmacro(boost_glob_test_compile_fail)
+
+macro(boost_glob_test_run path glob_par compile_flags)
+  list_contains(WITH_STD "WITH_STD" ${ARGN})
+  file(GLOB file_list ${path}/${glob_par})
+  foreach (current_file ${file_list})
+    get_filename_component(file_name ${current_file} NAME_WE)
+    boost_test_run(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}")
+    if (WITH_STD)
+      boost_test_run(${file_name}_std ${path}/${file_name}.cpp 
+        COMPILE_FLAGS "${compile_flags} -DTEST_STD_HEADERS=1")
+    endif (WITH_STD)
+  endforeach (current_file)
+endmacro(boost_glob_test_run)
+
+
+boost_glob_test_compile(. test*.cpp "" WITH_STD)
+
+boost_glob_test_run(. run*.cpp "" WITH_STD)
+
+boost_glob_test_compile_fail(config tr1_has_tr1*fail.cpp "")
+
+boost_glob_test_compile(config tr1_has_tr1*pass.cpp "")
+
+boost_glob_test_run(type_traits *.cpp "-DTEST_STD=1")
+
+boost_glob_test_compile(std_headers *.cpp "-DTEST_STD=1")
Added: branches/CMake-release/libs/tuple/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/tuple/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Tuple
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/tuple/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/tuple/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,2 @@
+boost_test_run(tuple_test_bench DEPENDS boost_test_exec_monitor)
+boost_test_run(io_test DEPENDS boost_test_exec_monitor)
Added: branches/CMake-release/libs/type_traits/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/type_traits/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Type_traits
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/type_traits/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/type_traits/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+file(GLOB TEST_FILES "*_test.cpp")
+foreach(TEST_FILE ${TEST_FILES})
+  get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE)
+  boost_test_run(${TEST_NAME})
+endforeach(TEST_FILE ${TEST_FILES})
+
+boost_test_run(udt_specialisations)
Added: branches/CMake-release/libs/typeof/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/typeof/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Typeof
+  TESTDIRS test
+  )
Added: branches/CMake-release/libs/typeof/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/typeof/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,21 @@
+file(GLOB TEST_FILES "*.cpp")
+foreach(TEST_FILE ${TEST_FILES})
+  if (TEST_FILE MATCHES "odr.*cpp")
+    # Skip ODR tests; we'll handle them separately
+  else (TEST_FILE MATCHES "odr.*cpp")
+    get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE)
+    boost_test_compile("${TEST_NAME}_native" 
+      "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE")
+    boost_test_compile("${TEST_NAME}_emulation" 
+      "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION")
+  endif (TEST_FILE MATCHES "odr.*cpp")
+endforeach(TEST_FILE ${TEST_FILES})
+
+boost_test_run(odr_native 
+  odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE")
+boost_test_run(odr_emulation
+  odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION")
+boost_test_run(odr_no_uns
+  odr_no_uns1.cpp odr_no_uns2.cpp 
+  COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION")
+  
Added: branches/CMake-release/libs/utility/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/utility/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+boost_library_project(
+  Utility
+  TESTDIRS test
+)
+
Added: branches/CMake-release/libs/utility/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/utility/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,36 @@
+boost_test_run(addressof_test ../addressof_test.cpp)
+boost_test_run(assert_test ../assert_test.cpp)
+boost_test_run(base_from_member_test ../base_from_member_test.cpp)
+boost_test_run(binary_search_test ../binary_search_test.cpp)
+boost_test_run(call_traits_test ../call_traits_test.cpp ARGS -u)
+boost_test_compile_fail(checked_delete_test ../checked_delete_test.cpp)
+boost_test_run(compressed_pair_test 
+  ../compressed_pair_test 
+  DEPENDS boost_test_exec_monitor)
+boost_test_run(current_function_test ../current_function_test.cpp)
+boost_test_run(iterators_test 
+  ../iterators_test.cpp 
+  DEPENDS boost_test_exec_monitor)
+boost_test_run(next_prior_test DEPENDS boost_test_exec_monitor)
+boost_test_compile_fail(noncopyable_test ../noncopyable_test.cpp)
+boost_test_run(numeric_traits_test ../numeric_traits_test.cpp)
+if (${CMAKE_SYSTEM} MATCHES "FreeBSD-.*")
+boost_test_compile_fail("operators_test_compilerbug")
+elseif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*")
+boost_test_run(operators_test 
+  ../operators_test.cpp
+  DEPENDS boost_test_exec_monitor)
+endif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*")
+boost_test_compile(ref_ct_test ../ref_ct_test.cpp)
+boost_test_run(ref_test 
+  ../ref_test.cpp
+  DEPENDS boost_test_exec_monitor)
+boost_test_compile(result_of_test)
+boost_test_run(shared_iterator_test ../shared_iterator_test.cpp)
+boost_test_run(value_init_test ../value_init_test.cpp)
+boost_test_compile_fail(value_init_test_fail1 
+  ../value_init_test_fail1.cpp)
+boost_test_compile_fail(value_init_test_fail2
+  ../value_init_test_fail2.cpp)
+boost_test_compile_fail(value_init_test_fail3
+  ../value_init_test_fail3.cpp)
Added: branches/CMake-release/libs/variant/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/variant/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Variant
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/variant/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/variant/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,7 @@
+boost_test_run(test1 test1.cpp class_a.cpp)
+boost_test_run(test4 test4.cpp class_a.cpp) 
+set(tests test2 test3 test5 test6 test7 test8 recursive_variant_test variant_reference_test variant_comparison_test variant_visit_test)
+
+foreach(test ${tests})
+  boost_test_run(${test})
+endforeach(test ${tests})
Added: branches/CMake-release/libs/wave/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/wave/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,9 @@
+boost_library_project(
+  Wave 
+  SRCDIRS src 
+  TESTDIRS test
+  )
+
+
+
+
Added: branches/CMake-release/libs/wave/src/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/wave/src/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,16 @@
+boost_add_library(
+  boost_wave 
+  instantiate_cpp_exprgrammar.cpp
+  instantiate_cpp_grammar.cpp
+  instantiate_cpp_literalgrs.cpp
+  instantiate_defined_grammar.cpp
+  instantiate_predef_macros.cpp
+  instantiate_re2c_lexer.cpp
+  instantiate_re2c_lexer_str.cpp
+  token_ids.cpp
+  wave_config_constant.cpp
+  cpplexer/re2clex/aq.cpp
+  cpplexer/re2clex/cpp_re.cpp
+  DEPENDS boost_filesystem
+  SHARED_COMPILE_FLAGS "-DBOOST_ALL_DYN_LINK=1"
+)
Added: branches/CMake-release/libs/wave/test/CMakeLists.txt
==============================================================================
Added: branches/CMake-release/libs/xpressive/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/xpressive/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,4 @@
+boost_library_project(
+  Xpressive
+  TESTDIRS test
+)
Added: branches/CMake-release/libs/xpressive/test/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/libs/xpressive/test/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,69 @@
+#  : requirements
+#        <toolset>intel:<debug-symbols>off
+#       <toolset>msvc,<stdlib>stlport:<define>_STLP_EXPOSE_GLOBALS_IMPLEMENTATION
+
+#         [ linkp multiple_defs1.cpp multiple_defs2.cpp : : multiple_defs ]
+
+# TODO: Fix these
+# boost_test_fail("multipledefs")
+# boost_test_fail("msvc-stlport")
+
+if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+  FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data")
+  execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/xpressive/test/regress.txt" "${CMAKE_CURRENT_BINARY_DIR}")
+endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+
+
+SET(runtests 
+  regress
+  c_traits
+  test1
+  test2
+  test3
+  test4
+  test5
+  test6
+  test7
+  test8
+  test9
+  test10
+  test11
+  test1u
+  test2u
+  test3u
+  test4u
+  test5u
+  test6u
+  test7u
+  test8u
+  test9u
+  test10u
+  test11u
+  misc1
+  misc2
+  test_cycles
+  test_non_char
+  test_static
+  test_dynamic)
+
+foreach(runtest ${runtests})
+  boost_test_run(${runtest})
+endforeach(runtest ${runtests})
+
+set(compiletests
+  test_basic_regex
+  test_match_results
+  test_regex_algorithms
+  test_regex_compiler
+  test_regex_constants
+  test_regex_error
+  test_regex_iterator
+  test_regex_primitives
+  test_regex_token_iterator
+  test_regex_traits 
+  test_sub_match
+  )
+
+foreach(compiletest ${compiletests})
+  boost_test_compile(${compiletest})
+endforeach(compiletest ${compiletests})
Added: branches/CMake-release/tools/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,2 @@
+add_subdirectory(quickbook)
+add_subdirectory(wave)
\ No newline at end of file
Added: branches/CMake-release/tools/build/CMake/BoostConfig.cmake
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/build/CMake/BoostConfig.cmake	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,148 @@
+##########################################################################
+# Boost Configuration Support                                            #
+##########################################################################
+# Copyright (C) 2007 Douglas Gregor <doug.gregor_at_[hidden]>              #
+# 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                                 #
+##########################################################################
+# This module defines several variables that provide information about   #
+# the target compiler and platform.                                      #
+#                                                                        #
+# Variables defined:                                                     #
+#                                                                        #
+#   BOOST_TOOLSET:                                                       #
+#     The Boost toolset name, used by the library version mechanism to   #
+#     encode the compiler and version into the name of the               #
+#     library. This toolset name will correspond with Boost.Build        #
+#     version 2's toolset name, including version number.                #
+#                                                                        #
+#   MULTI_THREADED_COMPILE_FLAGS:                                        #
+#     Compilation flags when building multi-threaded programs.           #
+#                                                                        #
+#   MULTI_THREADED_LINK_FLAGS:                                           #
+#     Linker flags when building multi-threaded programs.                #
+##########################################################################
+include(CheckCXXSourceCompiles)
+
+# Toolset detection.
+if (NOT BOOST_TOOLSET)
+  if (MSVC60)
+    set(BOOST_TOOLSET "vc6")
+  elseif(MSVC70)
+    set(BOOST_TOOLSET "vc7")
+  elseif(MSVC71)
+    set(BOOST_TOOLSET "vc71")
+  elseif(MSVC80)
+    set(BOOST_TOOLSET "vc80")
+  elseif(MSVC)
+  elseif(BORLAND)
+    set(BOOST_TOOLSET "bcb")
+  elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+    # Execute GCC with the -dumpversion option, to give us a version string
+    execute_process(
+      COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion" 
+      OUTPUT_VARIABLE GCC_VERSION_STRING)
+    
+    # Match only the major and minor versions of the version string
+    string(REGEX MATCH "[0-9]+.[0-9]+" GCC_MAJOR_MINOR_VERSION_STRING
+      "${GCC_VERSION_STRING}")
+    
+    # Strip out the period between the major and minor versions
+    string(REGEX REPLACE "\\." "" BOOST_VERSIONING_GCC_VERSION
+      "${GCC_MAJOR_MINOR_VERSION_STRING}")
+    
+    # Set the GCC versioning toolset
+    set(BOOST_TOOLSET "gcc${BOOST_VERSIONING_GCC_VERSION}")
+  endif(MSVC60)
+endif (NOT BOOST_TOOLSET)
+
+# Multi-threading support
+if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+  set(MULTI_THREADED_COMPILE_FLAGS "-pthreads")
+  set(MULTI_THREADED_LINK_LIBS rt)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "BeOS")
+  # No threading options necessary for BeOS
+elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD")
+  set(MULTI_THREADED_COMPILE_FLAGS "-pthread")
+  set(MULTI_THREADED_LINK_LIBS pthread)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly")
+  # DragonFly is  FreeBSD bariant
+  set(MULTI_THREADED_COMPILE_FLAGS "-pthread")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "IRIX")
+  # TODO: GCC on Irix doesn't support multi-threading?
+elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
+  # TODO: gcc on HP-UX does not support multi-threading?
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+  # No threading options necessary for Mac OS X
+elseif(UNIX)
+  # Assume -pthread and -lrt on all other variants
+  set(MULTI_THREADED_COMPILE_FLAGS "-pthread -D_REENTRANT")
+  set(MULTI_THREADED_LINK_FLAGS "")  
+  set(MULTI_THREADED_LINK_LIBS pthread rt)
+endif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+
+# Setup DEBUG_COMPILE_FLAGS, RELEASE_COMPILE_FLAGS, DEBUG_LINK_FLAGS and
+# and RELEASE_LINK_FLAGS based on the CMake equivalents
+if(CMAKE_CXX_FLAGS_DEBUG)
+  if(MSVC)
+    # Eliminate the /MDd flag; we'll add it back when we need it
+    string(REPLACE "/MDd" "" CMAKE_CXX_FLAGS_DEBUG 
+           "${CMAKE_CXX_FLAGS_DEBUG}") 
+  endif(MSVC)
+  set(DEBUG_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "Compilation flags for debug libraries")
+endif(CMAKE_CXX_FLAGS_DEBUG)
+if(CMAKE_CXX_FLAGS_RELEASE)
+  if(MSVC)
+    # Eliminate the /MD flag; we'll add it back when we need it
+    string(REPLACE "/MD" "" CMAKE_CXX_FLAGS_RELEASE
+           "${CMAKE_CXX_FLAGS_RELEASE}") 
+  endif(MSVC)
+  set(RELEASE_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "Compilation flags for release libraries")
+endif(CMAKE_CXX_FLAGS_RELEASE)
+if(CMAKE_SHARED_LINKER_FLAGS_DEBUG)
+  set(DEBUG_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE STRING "Linker flags for debug libraries")
+endif(CMAKE_SHARED_LINKER_FLAGS_DEBUG)
+if(CMAKE_SHARED_LINKER_FLAGS_RELEASE)
+  set(RELEASE_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" CACHE STRING "Link flags for release libraries")
+endif(CMAKE_SHARED_LINKER_FLAGS_RELEASE)
+
+# Set DEBUG_EXE_LINK_FLAGS, RELEASE_EXE_LINK_FLAGS
+if (CMAKE_EXE_LINKER_FLAGS_DEBUG)
+  set(DEBUG_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
+endif (CMAKE_EXE_LINKER_FLAGS_DEBUG)
+if (CMAKE_EXE_LINKER_FLAGS_RELEASE)
+  set(RELEASE_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
+endif (CMAKE_EXE_LINKER_FLAGS_RELEASE)
+
+# Tweak the configuration and build types appropriately.
+if(CMAKE_CONFIGURATION_TYPES)
+  # Limit CMAKE_CONFIGURATION_TYPES to Debug and Release
+  set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Semicolon-separate list of supported configuration types" FORCE)
+else(CMAKE_CONFIGURATION_TYPES)
+  # Build in release mode by default
+  if (NOT CMAKE_BUILD_TYPE)
+    set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are Release or Debug" FORCE)
+  endif (NOT CMAKE_BUILD_TYPE)
+endif(CMAKE_CONFIGURATION_TYPES)
+
+# Clear out the built-in C++ compiler and link flags for each of the 
+# configurations.
+set(CMAKE_CXX_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_CXX_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
+set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
Added: branches/CMake-release/tools/build/CMake/BoostCore.cmake
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/build/CMake/BoostCore.cmake	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,986 @@
+##########################################################################
+# Core Functionality for Boost                                           #
+##########################################################################
+# Copyright (C) 2007 Douglas Gregor <doug.gregor_at_[hidden]>              #
+# 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                                 #
+##########################################################################
+# Important developer macros in this file:                               #
+#                                                                        #
+#   boost_library_project: Defines a Boost library project (e.g.,        #
+#   Boost.Python).                                                       #
+#                                                                        #
+#   boost_add_library: Builds library binaries for Boost libraries       #
+#   with compiled sources (e.g., boost_filesystem).                      #
+#                                                                        #
+#   boost_add_executable: Builds executables.                            #
+##########################################################################
+
+# Defines a Boost library project (e.g., for Boost.Python). Use as:
+#
+#   boost_library_project(libname
+#                         [SRCDIRS srcdir1 srcdir2 ...] 
+#                         [TESTDIRS testdir1 testdir2 ...])
+#
+# where libname is the name of the library (e.g., Python, or
+# Filesystem), srcdir1, srcdir2, etc, are subdirectories containing
+# library sources (for Boost libraries that build actual library
+# binaries), and testdir1, testdir2, etc, are subdirectories
+# containing regression tests.
+#
+# For libraries that build actual library binaries, this macro adds a
+# option BUILD_BOOST_LIBNAME (which defaults to ON). When the option
+# is ON, this macro will include the source subdirectories, and
+# therefore, will build and install the library binary.
+#
+# For libraries that have regression tests, and when testing is
+# enabled globally by the BUILD_TESTING option, this macro also
+# defines the TEST_BOOST_LIBNAME option (defaults to ON). When ON, the
+# generated makefiles/project files will contain regression tests for
+# this library.
+#
+# Example: 
+#   boost_library_project(
+#     Thread
+#     SRCDIRS src 
+#     TESTDIRS test
+#     )
+macro(boost_library_project LIBNAME)
+  parse_arguments(THIS_PROJECT
+    "SRCDIRS;TESTDIRS"
+    ""
+    ${ARGN}
+    )
+
+  string(TOUPPER "BUILD_BOOST_${LIBNAME}" BOOST_BUILD_LIB_OPTION)
+  if (THIS_PROJECT_SRCDIRS)
+    # This Boost library has source directories, so provide an option
+    # BUILD_BOOST_LIBNAME that allows one to turn on/off building of
+    # the library.
+    option(${BOOST_BUILD_LIB_OPTION} 
+      "Build Boost.${LIBNAME} (prefer make targets, not this, to build individual libs)" 
+      ON)
+  else (THIS_PROJECT_SRCDIRS)
+    # This Boost library has no source directories, and therefore does
+    # not require building. Always enable it (but don't make it an
+    # option in the cache).
+    set(${BOOST_BUILD_LIB_OPTION} ON)
+  endif (THIS_PROJECT_SRCDIRS)
+
+  if(${BOOST_BUILD_LIB_OPTION})
+    string(TOLOWER "${LIBNAME}" libname)
+    project(${libname})
+
+    if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests)
+      file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests)
+    endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests)
+    if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${PROJECT_NAME})
+      file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests/${PROJECT_NAME})
+    endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${PROJECT_NAME})
+
+    # Include each of the source directories
+    foreach(SUBDIR ${THIS_PROJECT_SRCDIRS})
+      add_subdirectory(${SUBDIR})
+    endforeach(SUBDIR ${THIS_PROJECT_SRCDIRS})
+
+    if(BUILD_TESTING AND THIS_PROJECT_TESTDIRS)
+      # Testing is enabled globally and this project has some
+      # tests. So, add a testing option.
+      string(TOUPPER "TEST_BOOST_${LIBNAME}" BOOST_TEST_LIB_OPTION)
+      option(${BOOST_TEST_LIB_OPTION} 
+        "Enable testing of Boost.${LIBNAME}" 
+        ON)
+
+      # Only include the test directories when testing is enabled for
+      # this project.
+      if(${BOOST_TEST_LIB_OPTION})
+        foreach(SUBDIR ${THIS_PROJECT_TESTDIRS})
+          add_subdirectory(${SUBDIR})
+        endforeach(SUBDIR ${THIS_PROJECT_TESTDIRS})
+      endif(${BOOST_TEST_LIB_OPTION})
+    endif(BUILD_TESTING AND THIS_PROJECT_TESTDIRS)
+  endif(${BOOST_BUILD_LIB_OPTION})
+endmacro(boost_library_project)
+
+# This macro is an internal utility macro that builds the name of a
+# particular variant of a library
+#
+#   boost_library_variant_target_name(feature1 feature2 ...)
+#
+# where feature1, feature2, etc. are the names of features to be
+# included in this variant, e.g., MULTI_THREADED, DEBUG. 
+#
+# This macro sets two macros:
+#   
+#   VARIANT_TARGET_NAME: The suffix that should be appended to the
+#   name of the library target to name this variant of the
+#   library. For example, this might be "-mt-static" for a static,
+#   multi-threaded variant. It should be used to name the CMake
+#   library target, e.g., boost_signals-mt-static.
+#
+#   VARIANT_VERSIONED_NAME: The suffix that will be added to the name
+#   of the generated library, containing information about the
+#   particular version of the library and the toolset used to build
+#   this library. For example, this might be "-gcc41-mt-1_34" for the
+#   multi-threaded, release variant of the library in Boost 1.34.0 as
+#   compiled with GCC 4.1.
+macro(boost_library_variant_target_name)
+  set(VARIANT_TARGET_NAME "")
+
+  # The versioned name starts with the full Boost toolset
+  set(VARIANT_VERSIONED_NAME "-${BOOST_TOOLSET}")
+
+  # Add -mt for multi-threaded libraries
+  list_contains(VARIANT_IS_MT MULTI_THREADED ${ARGN})
+  if (VARIANT_IS_MT)
+    set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-mt")
+
+    # If we're creating versioned names, tack on "-mt"
+    set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-mt")
+  endif (VARIANT_IS_MT)
+
+  # Add -static for static libraries, -shared for shared libraries
+  list_contains(VARIANT_IS_STATIC STATIC ${ARGN})
+  if (VARIANT_IS_STATIC)
+    set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-static")
+  else (VARIANT_IS_STATIC)
+    set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-shared")
+  endif (VARIANT_IS_STATIC)
+
+  # Compute the ABI tag, which depends on various kinds of options
+  set(VARIANT_ABI_TAG "")
+
+  # Linking statically to the runtime library
+  list_contains(VARIANT_IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN})
+  if (VARIANT_IS_STATIC_RUNTIME)  
+    set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-staticrt")
+    set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}s")
+  endif (VARIANT_IS_STATIC_RUNTIME)
+  
+  # Using the debug version of the runtime library.
+  # With Visual C++, this comes automatically with debug
+  if (MSVC)
+    list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN})
+    if (VARIANT_IS_DEBUG)
+      set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}g")
+    endif (VARIANT_IS_DEBUG)
+  endif (MSVC)
+
+  # Add -pydebug for debug builds of Python
+  list_contains(VARIANT_IS_PYDEBUG PYTHON_DEBUG ${ARGN})
+  if (VARIANT_IS_PYDEBUG)
+    set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-pydebug")
+    set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}y")
+  endif (VARIANT_IS_PYDEBUG)
+
+  # TODO: STLport rather than default library
+  # TODO: STLport's deprecated iostreams
+
+  # Add -debug for debug libraries
+  list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN})
+  if (VARIANT_IS_DEBUG)
+    # Only add the actual "-debug" if we're also building release libraries
+    if (BUILD_RELEASE)
+      set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-debug")
+    endif (BUILD_RELEASE)
+    set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}d")
+  endif (VARIANT_IS_DEBUG)
+
+  # If there is an ABI tag, append it to the versioned name
+  if (VARIANT_ABI_TAG)
+    set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-${VARIANT_ABI_TAG}")
+  endif (VARIANT_ABI_TAG)
+
+  # Append the Boost version number to the versioned name
+  if(BOOST_VERSION_SUBMINOR GREATER 0)
+    set(VARIANT_VERSIONED_NAME
+      "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}_${BOOST_VERSION_SUBMINOR}")
+  else(BOOST_VERSION_SUBMINOR GREATER 0)
+    set(VARIANT_VERSIONED_NAME 
+      "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}")
+  endif(BOOST_VERSION_SUBMINOR GREATER 0)
+endmacro(boost_library_variant_target_name)
+
+# This macro is an internal utility macro that updates compilation and
+# linking flags based on interactions among the features in a variant.
+#
+#   boost_feature_interactions(prefix
+#                              feature1 feature2 ...)
+#
+# where "prefix" is the prefix of the compilation and linking flags
+# that will be updated (e.g., ${prefix}_COMPILE_FLAGS). feature1,
+# feature2, etc. are the names of the features used in this particular
+# variant. If the features in this variant conflict, set
+# ${prefix}_OKAY to FALSE.
+macro(boost_feature_interactions PREFIX)
+  # Don't build or link against a shared library and a static run-time
+  list_contains(IS_SHARED SHARED ${ARGN})
+  list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN})
+  if (IS_SHARED AND IS_STATIC_RUNTIME)
+    set(${PREFIX}_OKAY FALSE)
+  endif (IS_SHARED AND IS_STATIC_RUNTIME)
+  
+  # With Visual C++, the dynamic runtime is multi-threaded only
+  if (MSVC)
+    list_contains(IS_DYNAMIC_RUNTIME DYNAMIC_RUNTIME ${ARGN})
+    list_contains(IS_SINGLE_THREADED SINGLE_THREADED ${ARGN})
+    if (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED)
+      set(${PREFIX}_OKAY FALSE)
+    endif (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED) 
+  endif (MSVC)
+
+  # Visual C++-specific runtime library flags
+  if(MSVC)
+    list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN})
+    list_contains(IS_DEBUG DEBUG ${ARGN})
+    if(IS_DEBUG)
+      if(IS_STATIC_RUNTIME)
+        set(${PREFIX}_COMPILE_FLAGS "/MTd ${${PREFIX}_COMPILE_FLAGS}")
+      else(IS_STATIC_RUNTIME)
+        set(${PREFIX}_COMPILE_FLAGS "/MDd ${${PREFIX}_COMPILE_FLAGS}")
+      endif(IS_STATIC_RUNTIME)       
+    else(IS_DEBUG)
+      if(IS_STATIC_RUNTIME)
+        set(${PREFIX}_COMPILE_FLAGS "/MT ${${PREFIX}_COMPILE_FLAGS}")
+      else(IS_STATIC_RUNTIME)
+        set(${PREFIX}_COMPILE_FLAGS "/MD ${${PREFIX}_COMPILE_FLAGS}")
+      endif(IS_STATIC_RUNTIME)       
+    endif(IS_DEBUG)
+  endif(MSVC)  
+endmacro(boost_feature_interactions)
+
+# This macro is an internal utility macro that builds a particular
+# variant of a boost library.
+#
+#   boost_library_variant(libname 
+#                         feature1 feature2 ...)
+#
+# where libname is the name of the Boost library (e.g.,
+# "boost_filesystem") and feature1, feature2, ... are the features
+# that will be used in this variant. 
+#
+# This macro will define a new library target based on libname and the
+# specific variant name (see boost_library_variant_target_name), which
+# depends on the utility target libname. The compilation and linking
+# flags for this library are defined by THIS_LIB_COMPILE_FLAGS,
+# THIS_LIB_LINK_FLAGS, THIS_LIB_LINK_LIBS, and all of the compile and
+# linking flags implied by the features provided.
+#
+# If any of the features listed conflict with this library, no new
+# targets will be built. For example, if the library provides the
+# option NOT_MULTI_THREADED, and one of the features provided is
+# MULTI_THREADED, this macro will essentially be a no-op.
+macro(boost_library_variant LIBNAME)
+  set(THIS_VARIANT_COMPILE_FLAGS "${THIS_LIB_COMPILE_FLAGS}")
+  set(THIS_VARIANT_LINK_FLAGS "${THIS_LIB_LINK_FLAGS}")
+  set(THIS_VARIANT_LINK_LIBS ${THIS_LIB_LINK_LIBS})
+
+  # Determine if it is okay to build this variant
+  set(THIS_VARIANT_OKAY TRUE)
+  foreach(ARG ${ARGN})
+    # If the library itself stated that we cannot build this variant,
+    # don't. For example, we're trying to build a shared library
+    # variant, but the user specified NO_SHARED in the requirements of
+    # the library.
+    if (THIS_LIB_NO_${ARG})
+      set(THIS_VARIANT_OKAY FALSE)
+    endif (THIS_LIB_NO_${ARG})
+
+    # If the user specified that we should not build any variants of
+    # this kind, don't. For example, if the BUILD_SHARED option is
+    # off, don't build shared libraries.
+    if(NOT BUILD_${ARG})
+      set(THIS_VARIANT_OKAY FALSE)
+    endif(NOT BUILD_${ARG})
+
+    # Accumulate compile and link flags
+    set(THIS_VARIANT_COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS} ${THIS_LIB_${ARG}_COMPILE_FLAGS} ${${ARG}_COMPILE_FLAGS}")
+    set(THIS_VARIANT_LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS} ${THIS_LIB_${ARG}_LINK_FLAGS} ${${ARG}_LINK_FLAGS}")
+    set(THIS_VARIANT_LINK_LIBS ${THIS_VARIANT_LINK_LIBS} ${THIS_LIB_${ARG}_LINK_LIBS} ${${ARG}_LINK_LIBS})
+  endforeach(ARG ${ARGN})
+
+  # Handle feature interactions
+  boost_feature_interactions("THIS_VARIANT" ${ARGN})
+
+  if (THIS_VARIANT_OKAY)
+    # Determine the suffix for this library target
+    boost_library_variant_target_name(${ARGN})
+    set(VARIANT_LIBNAME "${LIBNAME}${VARIANT_TARGET_NAME}")
+
+    # We handle static vs. dynamic libraries differently
+    list_contains(THIS_LIB_IS_STATIC "STATIC" ${ARGN})
+    if (THIS_LIB_IS_STATIC)
+      # If the STATIC_TAG flag was set, we append "-s" to the name of
+      # the library. This is an unfortunate hack, needed only for the
+      # test library.
+      if (THIS_LIB_STATIC_TAG)
+        set(THIS_LIB_STATIC_TAG "-s")
+      else(THIS_LIB_STATIC_TAG)
+        set(THIS_LIB_STATIC_TAG "")
+      endif(THIS_LIB_STATIC_TAG)
+      
+      # On Windows, we need static and shared libraries to have
+      # different names, so we follow the Boost.Build version 2 style
+      # and prepend "lib" to the name.
+      if(WIN32 AND NOT CYGWIN)
+	set(LIBPREFIX "lib")
+      else(WIN32 AND NOT CYGWIN)
+	set(LIBPREFIX "")
+      endif(WIN32 AND NOT CYGWIN)
+      
+      # Add the library itself
+      add_library(${VARIANT_LIBNAME} STATIC ${THIS_LIB_SOURCES})
+
+      # Set properties on this library
+      set_target_properties(${VARIANT_LIBNAME}
+        PROPERTIES
+        OUTPUT_NAME "${LIBPREFIX}${LIBNAME}${VARIANT_VERSIONED_NAME}${THIS_LIB_STATIC_TAG}"
+        CLEAN_DIRECT_OUTPUT 1
+        COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
+        LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
+        )
+    elseif (THIS_LIB_MODULE)
+      # Add a module
+      add_library(${VARIANT_LIBNAME} MODULE ${THIS_LIB_SOURCES})
+
+      # Set properties on this library
+      set_target_properties(${VARIANT_LIBNAME}
+        PROPERTIES
+        OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}"
+        CLEAN_DIRECT_OUTPUT 1
+        COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
+        LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
+        SOVERSION "${BOOST_VERSION}"
+        )
+    else (THIS_LIB_IS_STATIC)
+      # Add a module
+      add_library(${VARIANT_LIBNAME} SHARED ${THIS_LIB_SOURCES})
+
+      # Set properties on this library
+      set_target_properties(${VARIANT_LIBNAME}
+        PROPERTIES
+        OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}"
+        CLEAN_DIRECT_OUTPUT 1
+        COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
+        LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
+        SOVERSION "${BOOST_VERSION}"
+        )
+    endif (THIS_LIB_IS_STATIC)
+      
+    # The basic LIBNAME target depends on each of the variants
+    add_dependencies(${LIBNAME} ${VARIANT_LIBNAME})
+    
+    # Link against whatever libraries this library depends on
+    target_link_libraries(${VARIANT_LIBNAME} ${THIS_VARIANT_LINK_LIBS})
+    foreach(dependency ${THIS_LIB_DEPENDS})
+      target_link_libraries(${VARIANT_LIBNAME} "${dependency}${VARIANT_TARGET_NAME}")
+    endforeach(dependency "${THIS_LIB_DEPENDS}")
+
+    # Installation of this library variant
+    install(TARGETS ${VARIANT_LIBNAME} DESTINATION lib)
+  endif (THIS_VARIANT_OKAY)
+endmacro(boost_library_variant)
+
+# Updates the set of default build variants to account for variations
+# in the given feature.
+#
+#   boost_add_default_variant(feature-val1 feature-val2 ...)
+#
+# Each new feature creates a new set of build variants using that
+# feature. For example, writing:
+# 
+#    boost_add_default_variant(SINGLE_THREADED MULTI_THREADED)
+#
+# will create single- and multi-threaded variants of every default
+# library variant already defined, doubling the number of variants
+# that will be built. See the top-level CMakeLists.txt for the set of
+# default variants.
+#
+# Variables affected:
+#
+#   BOOST_DEFAULT_VARIANTS:
+#     This variable describes all of the variants that will be built
+#     by default, and will be updated with each invocation of
+#     boost_add_default_variant. The variable itself is a list, where
+#     each element in the list contains a colon-separated string
+#     naming a specific set of features for that variant, e.g.,
+#     STATIC:DEBUG:SINGLE_THREADED.
+#
+#   BOOST_FEATURES:
+#     This variable describes all of the feature sets that we know about,
+#     and will be extended each time ither boost_add_default_variant or 
+#     boost_add_extra_variant is invoked. This macro will contain a list
+#     of feature sets, each containing the values for a given feature
+#     separated by colons, e.g., "DEBUG:RELEASE".
+#
+#   BOOST_ADD_ARG_NAMES:
+#     This variable describes all of the feature-specific arguments
+#     that can be used for the boost_add_library macro, separated by
+#     semicolons. For example, given the use of
+#     boost_add_default_variant above, this variable will contain (at
+#     least)
+#
+#        SINGLE_THREADED_COMPILE_FLAGS;SINGLE_THREADED_LINK_FLAGS;
+#        MULTI_THREADED_COMPILE_FLAGS;MULTI_THREADED_LINK_FLAGS
+#
+#     When this variable is used in boost_add_library, it turns these
+#     names into feature-specific options. For example,
+#     MULTI_THREADED_COMPILE_FLAGS provides extra compile flags to be
+#     used only for multi-threaded variants of the library.
+#
+#   BOOST_ADDLIB_OPTION_NAMES:
+#     Like BOOST_ADD_ARG_NAMES, this variable describes
+#     feature-specific options to boost_library that can be used to
+#     turn off building of the library when the variant would require
+#     certain features. For example, the NO_SINGLE_THREADED option
+#     turns off building of single-threaded variants for a library.
+#
+#   BOOST_ADDEXE_OPTION_NAMES:
+#     Like BOOST_ADDLIB_OPTION_NAMES, execept that that variable 
+#     describes options to boost_add_executable that can be used to
+#     describe which features are needed to build the executable.
+#     For example, the MULTI_THREADED option requires that the 
+#     executable be built against multi-threaded libraries and with
+#     multi-threaded options.
+macro(boost_add_default_variant)
+  # Update BOOST_DEFAULT_VARIANTS
+  if (BOOST_DEFAULT_VARIANTS)
+    set(BOOST_DEFAULT_VARIANTS_ORIG ${BOOST_DEFAULT_VARIANTS})
+    set(BOOST_DEFAULT_VARIANTS)
+    foreach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG})
+      foreach(FEATURE ${ARGN})
+        list(APPEND BOOST_DEFAULT_VARIANTS "${VARIANT}:${FEATURE}")
+      endforeach(FEATURE ${ARGN})
+    endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG})
+    set(BOOST_DEFAULT_VARIANTS_ORIG)
+  else (BOOST_DEFAULT_VARIANTS)
+    set(BOOST_DEFAULT_VARIANTS ${ARGN})
+  endif (BOOST_DEFAULT_VARIANTS)
+
+  # Set Feature flag options used by the boost_library macro and the
+  # BOOST_FEATURES variable
+  set(BOOST_DEFVAR_FEATURES)
+  foreach(FEATURE ${ARGN})
+    set(BOOST_ADD_ARG_NAMES 
+      "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS")
+    set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}")
+    set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}")
+    if (BOOST_DEFVAR_FEATURES)
+      set(BOOST_DEFVAR_FEATURES "${BOOST_DEFVAR_FEATURES}:${FEATURE}")
+    else (BOOST_DEFVAR_FEATURES)
+      set(BOOST_DEFVAR_FEATURES "${FEATURE}")
+    endif (BOOST_DEFVAR_FEATURES)
+  endforeach(FEATURE ${ARGN})
+  list(APPEND BOOST_FEATURES ${BOOST_DEFVAR_FEATURES})
+endmacro(boost_add_default_variant)
+
+# Updates the set of "extra" build variants, which may be used to
+# generate extra, library-specific variants of libraries.
+#
+#   boost_add_extra_variant(feature-val1 feature-val2 ...)
+#
+# Each extra viarant makes it possible for libraries to define extra
+# variants.  For example, writing:
+# 
+#    boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG)
+#
+# creates a PYTHON_NODEBUG/PYTHON_DEBUG feature pair as an extra
+# variant, used by the Boost.Python library, which generates separate
+# variants of the Boost.Python library: one variant uses the Python
+# debug libraries, the other does not.
+#
+# The difference between boost_add_default_variant and
+# boost_add_extra_variant is that adding a new default variant
+# introduces additional variants to *all* Boost libraries, unless
+# those variants are explicitly excluded by the library. Adding a new
+# extra variant, on the other hand, allows librarie to specifically
+# request extra variants using that feature.
+#
+# Variables affected:
+#
+#   BOOST_FEATURES:
+#     See boost_add_default_variant.
+#
+#   BOOST_ADD_ARG_NAMES: 
+#     See boost_add_default_variant.
+#
+#   BOOST_ADDLIB_OPTION_NAMES:
+#     See boost_add_default_variant.
+#
+#   BOOST_ADDEXE_OPTION_NAMES:
+#     See boost_add_default_variant.
+macro(boost_add_extra_variant)
+  set(BOOST_EXTVAR_FEATURES)
+  foreach(FEATURE ${ARGN})
+    set(BOOST_ADD_ARG_NAMES 
+      "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS")
+    set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}")
+    set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}")
+    if (BOOST_EXTVAR_FEATURES)
+      set(BOOST_EXTVAR_FEATURES "${BOOST_EXTVAR_FEATURES}:${FEATURE}")
+    else (BOOST_EXTVAR_FEATURES)
+      set(BOOST_EXTVAR_FEATURES "${FEATURE}")
+    endif (BOOST_EXTVAR_FEATURES)
+  endforeach(FEATURE ${ARGN})  
+  list(APPEND BOOST_FEATURES ${BOOST_EXTVAR_FEATURES})
+endmacro(boost_add_extra_variant)
+
+# Creates a new Boost library target that generates a compiled library
+# (.a, .lib, .dll, .so, etc) from source files. This routine will
+# actually build several different variants of the same library, with
+# different compilation options, as determined by the set of "default"
+# library variants.
+#
+#   boost_add_library(libname
+#                     source1 source2 ...
+#                     [COMPILE_FLAGS compileflags]
+#                     [feature_COMPILE_FLAGS compileflags]
+#                     [LINK_FLAGS linkflags]
+#                     [feature_LINK_FLAGS linkflags]
+#                     [LINK_LIBS linklibs]
+#                     [feature_LINK_LIBS linklibs]
+#                     [DEPENDS libdepend1 libdepend2 ...]
+#                     [STATIC_TAG]
+#                     [MODULE]
+#                     [NOT_feature]
+#                     [EXTRA_VARIANTS variant1 variant2 ...])
+#
+# where libname is the name of Boost library binary (e.g.,
+# "boost_regex") and source1, source2, etc. are the source files used
+# to build the library, e.g., cregex.cpp.
+#
+# This macro has a variety of options that affect its behavior. In
+# several cases, we use the placeholder "feature" in the option name
+# to indicate that there are actually several different kinds of
+# options, each referring to a different build feature, e.g., shared
+# libraries, multi-threaded, debug build, etc. For a complete listing
+# of these features, please refer to the CMakeLists.txt file in the
+# root of the Boost distribution, which defines the set of features
+# that will be used to build Boost libraries by default.
+#
+# The options that affect this macro's behavior are:
+#
+#   COMPILE_FLAGS: Provides additional compilation flags that will be
+#   used when building all variants of the library. For example, one
+#   might want to add "-DBOOST_SIGNALS_NO_LIB=1" through this option
+#   (which turns off auto-linking for the Signals library while
+#   building it).
+#
+#   feature_COMPILE_FLAGS: Provides additional compilation flags that
+#   will be used only when building variants of the library that
+#   include the given feature. For example,
+#   MULTI_THREADED_COMPILE_FLAGS are additional flags that will be
+#   used when building a multi-threaded variant, while
+#   SHARED_COMPILE_FLAGS will be used when building a shared library
+#   (as opposed to a static library).
+#
+#   LINK_FLAGS: Provides additional flags that will be passed to the
+#   linker when linking each variant of the library. This option
+#   should not be used to link in additional libraries; see LINK_LIBS
+#   and DEPENDS.
+#
+#   feature_LINK_FLAGS: Provides additional flags that will be passed
+#   to the linker when building variants of the library that contain a
+#   specific feature, e.g., MULTI_THREADED_LINK_FLAGS. This option
+#   should not be used to link in additional libraries; see
+#   feature_LINK_LIBS.
+#
+#   LINK_LIBS: Provides additional libraries against which each of the
+#   library variants will be linked. For example, one might provide
+#   "expat" as options to LINK_LIBS, to state that each of the library
+#   variants will link against the expat library binary. Use LINK_LIBS
+#   for libraries external to Boost; for Boost libraries, use DEPENDS.
+#
+#   feature_LINK_LIBS: Provides additional libraries for specific
+#   variants of the library to link against. For example,
+#   MULTI_THREADED_LINK_LIBS provides extra libraries to link into
+#   multi-threaded variants of the library.
+#
+#   DEPENDS: States that this Boost library depends on and links
+#   against another Boost library. The arguments to DEPENDS should be
+#   the unversioned name of the Boost library, such as
+#   "boost_filesystem". Like LINK_LIBS, this option states that all
+#   variants of the library being built will link against the stated
+#   libraries. Unlike LINK_LIBS, however, DEPENDS takes particular
+#   library variants into account, always linking the variant of one
+#   Boost library against the same variant of the other Boost
+#   library. For example, if the boost_mpi_python library DEPENDS on
+#   boost_python, multi-threaded variants of boost_mpi_python will
+#   link against multi-threaded variants of boost_python.
+#
+#   STATIC_TAG: States that the name of static library variants on
+#   Unix need to be named differently from shared library
+#   variants. This particular option should only be used in rare cases
+#   where the static and shared library variants are incompatible,
+#   such that linking against the shared library rather than the
+#   static library will cause features. When this option is provided,
+#   static libraries on Unix variants will have "-s" appended to their
+#   names. Note: we hope that this is a temporary solution. At
+#   present, it is only used by the Test library.
+#
+#   MODULE: This option states that, when building a shared library,
+#   the shared library should be built as a module rather than a
+#   normal shared library. Modules have special meaning an behavior on
+#   some platforms, such as Mac OS X.
+#
+#   NOT_feature: States that library variants containing a particular
+#   feature should not be built. For example, passing
+#   NOT_SINGLE_THREADED suppresses generation of single-threaded
+#   variants of this library.
+#
+#   EXTRA_VARIANTS: Specifies that extra variants of this library
+#   should be built, based on the features listed. Each "variant" is a 
+#   colon-separated list of features. For example, passing
+#     EXTRA_VARIANTS "PYTHON_NODEBUG:PYTHON_DEBUG"
+#   will result in the creation of an extra set of library variants,
+#   some with the PYTHON_NODEBUG feature and some with the
+#   PYTHON_DEBUG feature. 
+#
+# Example:
+#   boost_add_library(
+#     boost_thread
+#     barrier.cpp condition.cpp exceptions.cpp mutex.cpp once.cpp 
+#     recursive_mutex.cpp thread.cpp tss_hooks.cpp tss_dll.cpp tss_pe.cpp 
+#     tss.cpp xtime.cpp
+#     SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1"
+#     STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1"
+#     NO_SINGLE_THREADED
+#   )
+macro(boost_add_library LIBNAME)
+  parse_arguments(THIS_LIB
+    "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;EXTRA_VARIANTS;${BOOST_ADD_ARG_NAMES}"
+    "STATIC_TAG;MODULE;${BOOST_ADDLIB_OPTION_NAMES}"
+    ${ARGN}
+    )
+  set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS})
+
+  # A top-level target that refers to all of the variants of the
+  # library, collectively.
+  add_custom_target(${LIBNAME})
+
+  if (THIS_LIB_EXTRA_VARIANTS)
+    # Build the set of variants that we will generate for this library
+    set(THIS_LIB_VARIANTS)
+    foreach(VARIANT ${BOOST_DEFAULT_VARIANTS})
+      foreach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS})
+        string(REPLACE ":" ";" FEATURES "${EXTRA_VARIANT}")
+        separate_arguments(FEATURES)
+        foreach(FEATURE ${FEATURES})
+          list(APPEND THIS_LIB_VARIANTS "${VARIANT}:${FEATURE}")
+        endforeach(FEATURE ${FEATURES})
+      endforeach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS})
+    endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS})
+  else (THIS_LIB_EXTRA_VARIANTS)
+    set(THIS_LIB_VARIANTS ${BOOST_DEFAULT_VARIANTS})
+  endif (THIS_LIB_EXTRA_VARIANTS)
+
+  # Build each of the library variants
+  foreach(VARIANT_STR ${THIS_LIB_VARIANTS})
+    string(REPLACE ":" ";" VARIANT ${VARIANT_STR})
+    separate_arguments(VARIANT)
+    boost_library_variant(${LIBNAME} ${VARIANT})
+  endforeach(VARIANT_STR ${THIS_LIB_VARIANTS})
+endmacro(boost_add_library)
+
+# Creates a new executable from source files.
+#
+#   boost_add_executable(exename
+#                        source1 source2 ...
+#                        [COMPILE_FLAGS compileflags]
+#                        [feature_COMPILE_FLAGS compileflags]
+#                        [LINK_FLAGS linkflags]
+#                        [feature_LINK_FLAGS linkflags]
+#                        [LINK_LIBS linklibs]
+#                        [feature_LINK_LIBS linklibs]
+#                        [DEPENDS libdepend1 libdepend2 ...]
+#                        [feature]
+#                        [NO_INSTALL])
+#
+# where exename is the name of the executable (e.g., "wave").  source1,
+# source2, etc. are the source files used to build the executable, e.g.,
+# cpp.cpp. If no source files are provided, "exename.cpp" will be
+# used.
+#
+# This macro has a variety of options that affect its behavior. In
+# several cases, we use the placeholder "feature" in the option name
+# to indicate that there are actually several different kinds of
+# options, each referring to a different build feature, e.g., shared
+# libraries, multi-threaded, debug build, etc. For a complete listing
+# of these features, please refer to the CMakeLists.txt file in the
+# root of the Boost distribution, which defines the set of features
+# that will be used to build Boost libraries by default.
+#
+# The options that affect this macro's behavior are:
+#
+#   COMPILE_FLAGS: Provides additional compilation flags that will be
+#   used when building the executable.
+#
+#   feature_COMPILE_FLAGS: Provides additional compilation flags that
+#   will be used only when building the executable with the given
+#   feature (e.g., SHARED_COMPILE_FLAGS when we're linking against
+#   shared libraries). Note that the set of features used to build the
+#   executable depends both on the arguments given to
+#   boost_add_executable (see the "feature" argument description,
+#   below) and on the user's choice of variants to build.
+#
+#   LINK_FLAGS: Provides additional flags that will be passed to the
+#   linker when linking the executable. This option should not be used
+#   to link in additional libraries; see LINK_LIBS and DEPENDS.
+#
+#   feature_LINK_FLAGS: Provides additional flags that will be passed
+#   to the linker when linking the executable with the given feature
+#   (e.g., MULTI_THREADED_LINK_FLAGS when we're linking a
+#   multi-threaded executable).
+#
+#   LINK_LIBS: Provides additional libraries against which the
+#   executable will be linked. For example, one might provide "expat"
+#   as options to LINK_LIBS, to state that the executable will link
+#   against the expat library binary. Use LINK_LIBS for libraries
+#   external to Boost; for Boost libraries, use DEPENDS.
+#
+#   feature_LINK_LIBS: Provides additional libraries to link against
+#   when linking an executable built with the given feature. 
+#
+#   DEPENDS: States that this executable depends on and links against
+#   a Boostlibrary. The arguments to DEPENDS should be the unversioned
+#   name of the Boost library, such as "boost_filesystem". Like
+#   LINK_LIBS, this option states that the executable will link
+#   against the stated libraries. Unlike LINK_LIBS, however, DEPENDS
+#   takes particular library variants into account, always linking to
+#   the appropriate variant of a Boost library. For example, if the
+#   MULTI_THREADED feature was requested in the call to
+#   boost_add_executable, DEPENDS will ensure that we only link
+#   against multi-threaded libraries.
+#
+#   feature: States that the executable should always be built using a
+#   given feature, e.g., SHARED linking (against its libraries) or
+#   MULTI_THREADED (for multi-threaded builds). If that feature has
+#   been turned off by the user, the executable will not build.
+#
+#   NO_INSTALL: Don't install this executable with the rest of Boost.
+#
+#   OUTPUT_NAME: If you want the executable to be generated somewhere
+#   other than the binary directory, pass the path (including
+#   directory and file name) via the OUTPUT_NAME parameter.
+#
+# Example:
+#   boost_add_executable(wave cpp.cpp 
+#     DEPENDS boost_wave boost_program_options boost_filesystem 
+#             boost_serialization
+#     )
+macro(boost_add_executable EXENAME)
+  # Note: ARGS is here to support the use of boost_add_executable in
+  # the testing code.
+  parse_arguments(THIS_EXE
+    "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;OUTPUT_NAME;ARGS;${BOOST_ADD_ARG_NAMES}"
+    "NO_INSTALL;${BOOST_ADDEXE_OPTION_NAMES}"
+    ${ARGN}
+    )
+
+  # Determine the list of sources
+  if (THIS_EXE_DEFAULT_ARGS)
+    set(THIS_EXE_SOURCES ${THIS_EXE_DEFAULT_ARGS})
+  else (THIS_EXE_DEFAULT_ARGS)
+    set(THIS_EXE_SOURCES ${EXENAME}.cpp)
+  endif (THIS_EXE_DEFAULT_ARGS)
+
+  # Whether we can build both debug and release versions of this
+  # executable within an IDE (based on the selected configuration
+  # type).
+  set(THIS_EXE_DEBUG_AND_RELEASE FALSE)
+  
+  # Compute the variant that will be used to build this executable,
+  # taking into account both the requested features passed to
+  # boost_add_executable and what options the user has set.
+  set(THIS_EXE_OKAY TRUE)
+  set(THIS_EXE_VARIANT)
+
+  foreach(FEATURESET_STR ${BOOST_FEATURES})
+    string(REPLACE ":" ";" FEATURESET ${FEATURESET_STR})
+    separate_arguments(FEATURESET)
+    set(THIS_EXE_REQUESTED_FROM_SET FALSE)
+    foreach (FEATURE ${FEATURESET})
+      if (THIS_EXE_${FEATURE})
+        # Make this feature part of the variant
+        list(APPEND THIS_EXE_VARIANT ${FEATURE})
+        set(THIS_EXE_REQUESTED_FROM_SET TRUE)
+
+        # The caller has requested this particular feature be used
+        # when building the executable. If we can't satisfy that
+        # request (because the user has turned off the build variants
+        # with that feature), then we won't build this executable.
+        if (NOT BUILD_${FEATURE})
+          set(THIS_EXE_OKAY FALSE)
+        endif (NOT BUILD_${FEATURE})
+      endif (THIS_EXE_${FEATURE})
+    endforeach (FEATURE ${FEATURESET})
+
+    if (NOT THIS_EXE_REQUESTED_FROM_SET)
+      # The caller did not specify which feature value to use from
+      # this set, so find the first feature value that actually works.
+      set(THIS_EXE_FOUND_FEATURE FALSE)
+
+      # If this feature set decides between Release and Debug, we
+      # either query CMAKE_BUILD_TYPE to determine which to use (for
+      # makefile targets) or handle both variants separately (for IDE
+      # targets).
+      if (FEATURESET_STR STREQUAL "RELEASE:DEBUG")
+        if (CMAKE_CONFIGURATION_TYPES)
+          # IDE target: can we build both debug and release?
+          if (BUILD_DEBUG AND BUILD_RELEASE)
+            # Remember that we're capable of building both configurations
+            set(THIS_EXE_DEBUG_AND_RELEASE TRUE)
+
+            # Don't add RELEASE or DEBUG to the variant (yet)
+            set(THIS_EXE_FOUND_FEATURE TRUE)
+          endif (BUILD_DEBUG AND BUILD_RELEASE)
+        else (CMAKE_CONFIGURATION_TYPES)
+          # Makefile target: CMAKE_BUILD_TYPE tells us which variant to build
+          if (CMAKE_BUILD_TYPE STREQUAL "Release")
+            # Okay, build the release variant
+            list(APPEND THIS_EXE_VARIANT RELEASE)
+            set(THIS_EXE_FOUND_FEATURE TRUE)
+          elseif (CMAKE_BUILD_TYPE STREQUAL "Debug")
+            # Okay, build the debug variant
+            list(APPEND THIS_EXE_VARIANT DEBUG)
+            set(THIS_EXE_FOUND_FEATURE TRUE)
+          endif (CMAKE_BUILD_TYPE STREQUAL "Release")
+        endif (CMAKE_CONFIGURATION_TYPES)
+      endif (FEATURESET_STR STREQUAL "RELEASE:DEBUG")
+
+      # Search through all of the features in the set to find one that works
+      foreach (FEATURE ${FEATURESET})
+        # We only care about the first feature value we find...
+        if (NOT THIS_EXE_FOUND_FEATURE)
+          # Are we allowed to build this feature?
+          if (BUILD_${FEATURE})
+            # Found it: we're done
+            list(APPEND THIS_EXE_VARIANT ${FEATURE})
+            set(THIS_EXE_FOUND_FEATURE TRUE)
+          endif (BUILD_${FEATURE})
+        endif (NOT THIS_EXE_FOUND_FEATURE)
+      endforeach (FEATURE ${FEATURESET})
+
+      if (NOT THIS_EXE_FOUND_FEATURE)
+        # All of the features in this set were turned off. 
+        # Just don't build anything.
+        set(THIS_EXE_OKAY FALSE)
+      endif (NOT THIS_EXE_FOUND_FEATURE)
+    endif (NOT THIS_EXE_REQUESTED_FROM_SET)
+  endforeach(FEATURESET_STR ${BOOST_FEATURES})
+  
+  # Propagate flags from each of the features
+  if (THIS_EXE_OKAY)
+    foreach (FEATURE ${THIS_EXE_VARIANT})
+      # Add all of the flags for this feature
+      set(THIS_EXE_COMPILE_FLAGS 
+          "${THIS_EXE_COMPILE_FLAGS} ${THIS_EXE_${FEATURE}_COMPILE_FLAGS} ${${FEATURE}_COMPILE_FLAGS}")
+      set(THIS_EXE_LINK_FLAGS 
+          "${THIS_EXE_LINK_FLAGS} ${THIS_EXE_${FEATURE}_LINK_FLAGS} ${${FEATURE}_LINK_FLAGS} ${${FEATURE}_EXE_LINK_FLAGS}")
+      set(THIS_EXE_LINK_LIBS 
+          ${THIS_EXE_LINK_LIBS} ${THIS_EXE_${FEATURE}_LINK_LIBS} ${${FEATURE}_LINK_LIBS})
+    endforeach (FEATURE ${THIS_EXE_VARIANT})
+
+    # Handle feature interactions
+    boost_feature_interactions("THIS_EXE" ${THIS_EXE_VARIANT})
+  endif (THIS_EXE_OKAY)
+
+  if (THIS_EXE_OKAY)
+    # Compute the name of the variant targets that we'll be linking
+    # against. We'll use this to link against the appropriate
+    # dependencies. For IDE targets where we can build both debug and
+    # release configurations, create DEBUG_ and RELEASE_ versions of
+    # the macros.
+    if (THIS_EXE_DEBUG_AND_RELEASE)
+      boost_library_variant_target_name(RELEASE ${THIS_EXE_VARIANT})
+      set(RELEASE_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}")
+      boost_library_variant_target_name(DEBUG ${THIS_EXE_VARIANT})
+      set(DEBUG_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}")
+    else (THIS_EXE_DEBUG_AND_RELEASE)
+      boost_library_variant_target_name(${THIS_EXE_VARIANT})
+    endif (THIS_EXE_DEBUG_AND_RELEASE)
+
+    # Compute the actual set of library dependencies, based on the
+    # variant name we computed above. The RELEASE and DEBUG versions
+    # only apply when THIS_EXE_DEBUG_AND_RELEASE.
+    set(THIS_EXE_ACTUAL_DEPENDS)
+    set(THIS_EXE_RELEASE_ACTUAL_DEPENDS)
+    set(THIS_EXE_DEBUG_ACTUAL_DEPENDS)
+    foreach(LIB ${THIS_EXE_DEPENDS})
+      if (LIB MATCHES ".*-.*")
+        # The user tried to state exactly which variant to use. Just
+        # propagate the dependency and hope that s/he was
+        # right. Eventually, this should at least warn, because it is
+        # not the "proper" way to do things
+        list(APPEND THIS_EXE_ACTUAL_DEPENDS ${LIB})
+        list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS ${LIB})
+        list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS ${LIB})
+      else (LIB MATCHES ".*-.*")
+        # The user has given the name of just the library target,
+        # e.g., "boost_filesystem". We add on the appropriate variant
+        # name(s).
+        list(APPEND THIS_EXE_ACTUAL_DEPENDS "${LIB}${VARIANT_TARGET_NAME}")
+        list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS "${LIB}${RELEASE_VARIANT_TARGET_NAME}")
+        list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS "${LIB}${DEBUG_VARIANT_TARGET_NAME}")
+      endif (LIB MATCHES ".*-.*")
+    endforeach(LIB ${THIS_EXE_DEPENDS})
+
+    # Build the executable
+    add_executable(${EXENAME} ${THIS_EXE_SOURCES})
+    
+    # Set the various compilation and linking flags
+    set_target_properties(${EXENAME}
+      PROPERTIES
+      COMPILE_FLAGS "${THIS_EXE_COMPILE_FLAGS}"
+      LINK_FLAGS "${THIS_EXE_LINK_FLAGS}"
+      )
+
+    # For IDE generators where we can build both debug and release
+    # configurations, pass the configurations along separately.
+    if (THIS_EXE_DEBUG_AND_RELEASE)
+      set_target_properties(${EXENAME}
+        PROPERTIES
+        COMPILE_FLAGS_DEBUG "${DEBUG_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}"
+        COMPILE_FLAGS_RELEASE "${RELEASE_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}"
+        LINK_FLAGS_DEBUG "${DEBUG_LINK_FLAGS} ${DEBUG_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}"
+        LINK_FLAGS_RELEASE "${RELEASE_LINK_FLAGS} ${RELEASE_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}"
+        )
+    endif (THIS_EXE_DEBUG_AND_RELEASE)
+
+    # If the user gave an output name, use it.
+    if (THIS_EXE_OUTPUT_NAME)
+      set_target_properties(${EXENAME}
+        PROPERTIES
+        OUTPUT_NAME "${THIS_EXE_OUTPUT_NAME}"
+        )
+    endif (THIS_EXE_OUTPUT_NAME)
+
+    # Link against the various libraries 
+    if (THIS_EXE_DEBUG_AND_RELEASE)
+      # Configuration-agnostic libraries
+      target_link_libraries(${EXENAME} ${THIS_EXE_LINK_LIBS})
+      
+      # Link against libraries for "release" configuration
+      foreach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS})     
+        target_link_libraries(${EXENAME} optimized ${LIB})
+      endforeach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS})     
+        
+      # Link against libraries for "debug" configuration
+      foreach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS})     
+        target_link_libraries(${EXENAME} debug ${LIB})
+      endforeach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS})     
+    else (THIS_EXE_DEBUG_AND_RELEASE)
+      target_link_libraries(${EXENAME} 
+        ${THIS_EXE_ACTUAL_DEPENDS} 
+        ${THIS_EXE_LINK_LIBS})
+    endif (THIS_EXE_DEBUG_AND_RELEASE)
+
+    # Install the executable, if not suppressed
+    if (NOT THIS_EXE_NO_INSTALL)
+      install(TARGETS ${EXENAME} DESTINATION bin)
+    endif (NOT THIS_EXE_NO_INSTALL)
+  endif (THIS_EXE_OKAY)
+endmacro(boost_add_executable)
\ No newline at end of file
Added: branches/CMake-release/tools/build/CMake/BoostTesting.cmake
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/build/CMake/BoostTesting.cmake	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,342 @@
+##########################################################################
+# Regression Testing Support for Boost                                   #
+##########################################################################
+# Copyright (C) 2007 Douglas Gregor <doug.gregor_at_[hidden]>              #
+# 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                                 #
+##########################################################################
+# This file provides a set of CMake macros that support regression
+# testing for Boost libraries. For each of the test macros below, the
+# first argument, testname, states the name of the test that will be
+# created. If no other arguments are provided, the source file
+# testname.cpp will be used as the source file; otherwise, source
+# files should be listed immediately after the name of the test.
+#
+# The macros for creating regression tests are:
+#   boost_test_run: Builds an executable and runs it as a test. The test
+#                   succeeds if it builds and returns 0 when executed.
+#
+#   boost_test_run_fail: Builds an executable and runs it as a test. The
+#                        test succeeds if it builds but returns a non-zero
+#                        exit code when executed.
+#  
+#   boost_test_compile: Tests that the given source file compiles without 
+#                       any errors.
+#
+#   boost_test_compile_fail: Tests that the given source file produces 
+#                            errors when compiled.
+
+# User-controlled option that can be used to enable/disable regression
+# testing. By default, we disable testing, because most users won't
+# want or need to perform regression testing on Boost. The Boost build
+# is significantly faster when we aren't also building regression
+# tests.
+option(BUILD_TESTING "Enable testing" OFF)
+include(CTest)
+
+# This macro is an internal utility macro that helps parse the
+# arguments passed to the Boost testing commands. It will generally
+# not be used by Boost developers.
+#
+#   boost_test_parse_args(testname 
+#                         [source1 source2 ...]
+#                         [ARGS arg1 arg2... ]
+#                         [COMPILE_FLAGS compileflags]
+#                         [LINK_FLAGS linkflags]
+#                         [LINK_LIBS linklibs]
+#                         [DEPENDS libdepend1 libdepend2 ...])
+#
+# testname is the name of the test. The remaining arguments passed to
+# this macro will be parsed and categorized for the developer-level
+# test macros to use. 
+#
+# Variables affected:
+#
+#   BOOST_TEST_OKAY: Will be set to TRUE if it is okay to build and
+#   run this test.
+#
+#   BOOST_TEST_SOURCES: Will be populated with the set of source files
+#   that should be used to compile this test. If the user has provided
+#   source files, BOOST_TEST_SOURCES will contain those; otherwise,
+#   BOOST_TEST_SOURCES will only contain "testname.cpp".
+#
+#   BOOST_TEST_arg: Will be populated with the arguments provided for
+#   the arguemnt "arg", where "arg" can be any of the extra arguments
+#   specified above.
+macro(boost_test_parse_args testname)
+  set(BOOST_TEST_OKAY TRUE)
+  set(BOOST_TEST_COMPILE_FLAGS "")
+  parse_arguments(BOOST_TEST 
+    "LINK_LIBS;LINK_FLAGS;DEPENDS;COMPILE_FLAGS;ARGS"
+    ""
+    ${ARGN}
+    )
+    
+  # Check each of the dependencies to see if we can still build this
+  # test.
+  foreach(ARG ${BOOST_TEST_DEPENDS})
+    get_target_property(DEPEND_TYPE ${ARG} TYPE)
+    get_target_property(DEPEND_LOCATION ${ARG} LOCATION)
+    # If building static libraries is turned off, don't try to build
+    # the test
+    if (NOT BUILD_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY")
+      set(BOOST_TEST_OKAY FALSE)
+    endif (NOT BUILD_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY")
+
+    # If building shared libraries is turned off, don't try to build
+    # the test
+    if (NOT BUILD_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY")
+      set(BOOST_TEST_OKAY FALSE)
+    endif (NOT BUILD_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY")
+  endforeach(ARG ${BOOST_TEST_DEPENDS})
+
+  # Setup the SOURCES variables. If no sources are specified, use the
+  # name of the test.cpp
+  if (BOOST_TEST_DEFAULT_ARGS)
+    set(BOOST_TEST_SOURCES ${BOOST_TEST_DEFAULT_ARGS})
+  else (BOOST_TEST_DEFAULT_ARGS)
+    set(BOOST_TEST_SOURCES "${testname}.cpp")
+  endif (BOOST_TEST_DEFAULT_ARGS)
+
+  # If testing is turned off, this test is not okay
+  if (NOT BUILD_TESTING)
+    set(BOOST_TEST_OKAY FALSE)
+  endif(NOT BUILD_TESTING)
+endmacro(boost_test_parse_args)
+
+# This macro creates a Boost regression test that will be executed. If
+# the test can be built, executed, and exits with a return code of
+# zero, it will be considered to have passed.
+#
+#   boost_test_run(testname 
+#                  [source1 source2 ...]
+#                  [ARGS arg1 arg2... ]
+#                  [COMPILE_FLAGS compileflags]
+#                  [LINK_FLAGS linkflags]
+#                  [LINK_LIBS linklibs]
+#                  [DEPENDS libdepend1 libdepend2 ...])
+#
+# testname is the name of the test. source1, source2, etc. are the
+# source files that will be built and linked into the test
+# executable. If no source files are provided, the file "testname.cpp"
+# will be used instead.
+#
+# There are several optional arguments to control how the regression
+# test is built and executed:
+#
+#   ARGS: Provides additional arguments that will be passed to the
+#   test executable when it is run.
+#
+#   COMPILE_FLAGS: Provides additional compilation flags that will be
+#   used when building this test. For example, one might want to add
+#   "-DBOOST_SIGNALS_ASSERT=1" to turn on assertions within the library.
+#
+#   LINK_FLAGS: Provides additional flags that will be passed to the
+#   linker when linking the test excecutable. This option should not
+#   be used to link in additional libraries; see LINK_LIBS and
+#   DEPENDS.
+#
+#   LINK_LIBS: Provides additional libraries against which the test
+#   executable will be linked. For example, one might provide "expat"
+#   as options to LINK_LIBS, to state that this executable should be
+#   linked against the external "expat" library. Use LINK_LIBS for
+#   libraries external to Boost; for Boost libraries, use DEPENDS.
+#
+#   DEPENDS: States that this test executable depends on and links
+#   against another Boost library. The argument to DEPENDS should be
+#   the name of a particular variant of a Boost library, e.g.,
+#   boost_signals-static.
+#
+# Example:
+#   boost_test_run(signal_test DEPENDS boost_signals-static)
+#
+# TODO: 
+#   - Improve handling of DEPENDS, so that we can specify just the
+#     library's abstract target (e.g., "boost_signals"), and possibly
+#     some features required for building the test (e.g.,
+#     MULTI_THREADED, STATIC). The test macros should then pick the
+#     best library variant available to meet those features and the
+#     current build variant (Debug or Release).
+macro(boost_test_run testname)
+  if (BUILD_TESTING)
+    boost_add_executable(${testname} ${ARGN}
+      OUTPUT_NAME tests/${PROJECT_NAME}/${testname}
+      NO_INSTALL)
+    if (THIS_EXE_OKAY)
+      add_test("${PROJECT_NAME}::${testname}" 
+        ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname} 
+        ${THIS_EXE_ARGS})
+    endif (THIS_EXE_OKAY)
+  endif(BUILD_TESTING)
+endmacro(boost_test_run)
+
+# This macro creates a Boost regression test that will be executed. If
+# the test can be built, executed, and exits with a return code that
+# is not zero, it will be considered to have passed.
+#
+#   boost_test_run_fail(testname 
+#                       [source1 source2 ...]
+#                       [ARGS arg1 arg2... ]
+#                       [COMPILE_FLAGS compileflags]
+#                       [LINK_FLAGS linkflags]
+#                       [LINK_LIBS linklibs]
+#                       [DEPENDS libdepend1 libdepend2 ...])
+#
+# testname is the name of the test. source1, source2, etc. are the
+# source files that will be built and linked into the test
+# executable. If no source files are provided, the file "testname.cpp"
+# will be used instead.
+#
+# There are several optional arguments to control how the regression
+# test is built and executed:
+#
+#   ARGS: Provides additional arguments that will be passed to the
+#   test executable when it is run.
+#
+#   COMPILE_FLAGS: Provides additional compilation flags that will be
+#   used when building this test. For example, one might want to add
+#   "-DBOOST_SIGNALS_ASSERT=1" to turn on assertions within the library.
+#
+#   LINK_FLAGS: Provides additional flags that will be passed to the
+#   linker when linking the test excecutable. This option should not
+#   be used to link in additional libraries; see LINK_LIBS and
+#   DEPENDS.
+#
+#   LINK_LIBS: Provides additional libraries against which the test
+#   executable will be linked. For example, one might provide "expat"
+#   as options to LINK_LIBS, to state that this executable should be
+#   linked against the external "expat" library. Use LINK_LIBS for
+#   libraries external to Boost; for Boost libraries, use DEPENDS.
+#
+#   DEPENDS: States that this test executable depends on and links
+#   against another Boost library. The argument to DEPENDS should be
+#   the name of a particular variant of a Boost library, e.g.,
+#   boost_signals-static.
+#
+# Example:
+#   boost_test_run_fail(prg_exec_fail1 DEPENDS boost_prg_exec_monitor-static)
+#
+# TODO: 
+#   - Improve handling of DEPENDS, so that we can specify just the
+#     library's abstract target (e.g., "boost_signals"), and possibly
+#     some features required for building the test (e.g.,
+#     MULTI_THREADED, STATIC). The test macros should then pick the
+#     best library variant available to meet those features and the
+#     current build variant (Debug or Release).
+macro(boost_test_run_fail testname)
+  if (BUILD_TESTING)
+    boost_add_executable(${testname} ${ARGN}
+      OUTPUT_NAME tests/${PROJECT_NAME}/${testname}
+      NO_INSTALL)
+    if (THIS_EXE_OKAY)
+      add_test("${PROJECT_NAME}::${testname}" 
+        ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname} 
+        ${THIS_EXE_ARGS})
+      set_tests_properties("${PROJECT_NAME}::${testname}" 
+        PROPERTIES WILL_FAIL TRUE)
+    endif (THIS_EXE_OKAY)
+  endif(BUILD_TESTING)
+endmacro(boost_test_run_fail)
+
+# Under construction...
+
+macro(boost_test_link testname)
+  boost_test_parse_args(${testname} ${ARGN})
+  if(BOOST_TEST_OKAY)
+    add_test("${PROJECT_NAME}::${testname}"
+  	     ${CMAKE_CTEST_COMMAND}
+             --build-and-test
+             "${Boost_SOURCE_DIR}/tools/build/CMake/LinkTest"
+             "${Boost_BINARY_DIR}/tools/build/CMake/LinkTest"
+             --build-generator "${CMAKE_GENERATOR}"
+             --build-makeprogram "${MAKEPROGRAM}"
+	     --build-project LinkTest
+	     --build-options -DSOURCE=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES} -DINCLUDES=${Boost_SOURCE_DIR} -DCOMPILE_FLAGS="${BOOST_TEST_COMPILE_FLAGS}")
+  endif(BOOST_TEST_OKAY)
+endmacro(boost_test_link)
+
+# This macro creates a Boost regression test that will be compiled,
+# but not linked or executed. If the test can be compiled with no
+# failures, the test passes.
+#
+#   boost_test_compile(testname 
+#                      [source1]
+#                      [COMPILE_FLAGS compileflags])
+#
+# testname is the name of the test. source1 is the name of the source
+# file that will be built. If no source file is provided, the file
+# "testname.cpp" will be used instead.
+#
+# The COMPILE_FLAGS argument provides additional arguments that will
+# be passed to the compiler when building this test.
+
+# Example:
+#   boost_test_compile(advance)
+macro(boost_test_compile testname)
+  boost_test_parse_args(${testname} ${ARGN})
+
+  # Determine the include directories to pass along to the underlying
+  # project.
+  get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES)
+  set(BOOST_TEST_INCLUDES "")
+  foreach(DIR ${BOOST_TEST_INCLUDE_DIRS})
+    set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES}:${DIR}")
+  endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS})
+
+  if(BOOST_TEST_OKAY)
+    add_test("${PROJECT_NAME}::${testname}"
+  	     ${CMAKE_CTEST_COMMAND}
+             --build-and-test
+             "${Boost_SOURCE_DIR}/tools/build/CMake/CompileTest"
+             "${Boost_BINARY_DIR}/tools/build/CMake/CompileTest"
+             --build-generator "${CMAKE_GENERATOR}"
+             --build-makeprogram "${MAKEPROGRAM}"
+	     --build-project CompileTest
+	     --build-options -DSOURCE=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES} -DINCLUDES=${BOOST_TEST_INCLUDES} -DCOMPILE_FLAGS=${BOOST_TEST_COMPILE_FLAGS})
+  endif(BOOST_TEST_OKAY)
+endmacro(boost_test_compile)
+
+# This macro creates a Boost regression test that will be compiled,
+# but compilation should fail. It is used to test, e.g., that certain
+# disallowed syntax does in fact cause a compilation failure.
+#
+#   boost_test_compile_fail(testname 
+#                           [source1]
+#                           [COMPILE_FLAGS compileflags])
+#
+# testname is the name of the test. source1 is the name of the source
+# file that will be built. If no source file is provided, the file
+# "testname.cpp" will be used instead.
+#
+# The COMPILE_FLAGS argument provides additional arguments that will
+# be passed to the compiler when building this test.
+
+# Example:
+#   boost_test_compile_fail(function_test_fail1)
+macro(boost_test_compile_fail testname)
+  boost_test_parse_args(${testname} ${ARGN})
+
+  # Determine the include directories to pass along to the underlying
+  # project.
+  get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES)
+  set(BOOST_TEST_INCLUDES "")
+  foreach(DIR ${BOOST_TEST_INCLUDE_DIRS})
+    set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES}:${DIR}")
+  endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS})
+    
+  if(BOOST_TEST_OKAY)
+    add_test("${PROJECT_NAME}::${testname}"
+	     ${CMAKE_CTEST_COMMAND}
+             --build-and-test
+             "${Boost_SOURCE_DIR}/tools/build/CMake/CompileTest"
+             "${Boost_BINARY_DIR}/tools/build/CMake/CompileTest"
+             --build-generator "${CMAKE_GENERATOR}"
+             --build-makeprogram "${MAKEPROGRAM}"
+	     --build-project CompileTest
+	     --build-options -DSOURCE=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES} -DINCLUDES=${BOOST_TEST_INCLUDES} -DCOMPILE_FLAGS=${BOOST_TEST_COMPILE_FLAGS})
+    set_tests_properties("${PROJECT_NAME}::${testname}" PROPERTIES WILL_FAIL ON)
+  endif(BOOST_TEST_OKAY)
+endmacro(boost_test_compile_fail)
Added: branches/CMake-release/tools/build/CMake/BoostUtils.cmake
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/build/CMake/BoostUtils.cmake	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,104 @@
+##########################################################################
+# Boost Utilities                                                        #
+##########################################################################
+# Copyright (C) 2007 Douglas Gregor <doug.gregor_at_[hidden]>              #
+# 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                                 #
+##########################################################################
+# Macros in this module:                                                 #
+#                                                                        #
+#   list_contains: Determine whether a string value is in a list.        #
+#                                                                        #
+#   car: Return the first element in a list                              #
+#                                                                        #
+#   cdr: Return all but the first element in a list                      #
+#                                                                        #
+#   parse_arguments: Parse keyword arguments for use in other macros.    #
+##########################################################################
+
+# This utility macro determines whether a particular string value
+# occurs within a list of strings:
+#
+#  list_contains(result string_to_find arg1 arg2 arg3 ... argn)
+# 
+# This macro sets the variable named by result equal to TRUE if
+# string_to_find is found anywhere in the following arguments.
+macro(list_contains var value)
+  set(${var})
+  foreach (value2 ${ARGN})
+    if (${value} STREQUAL ${value2})
+      set(${var} TRUE)
+    endif (${value} STREQUAL ${value2})
+  endforeach (value2)
+endmacro(list_contains)
+
+# This utility macro extracts the first argument from the list of
+# arguments given, and places it into the variable named var.
+#
+#   car(var arg1 arg2 ...)
+macro(car var)
+  set(${var} ${ARGV1})
+endmacro(car)
+
+# This utility macro extracts all of the arguments given except the
+# first, and places them into the variable named var.
+#
+#   car(var arg1 arg2 ...)
+macro(cdr var junk)
+  set(${var} ${ARGN})
+endmacro(cdr)
+
+# The PARSE_ARGUMENTS macro will take the arguments of another macro and
+# define several variables. The first argument to PARSE_ARGUMENTS is a
+# prefix to put on all variables it creates. The second argument is a
+# list of names, and the third argument is a list of options. Both of
+# these lists should be quoted. The rest of PARSE_ARGUMENTS are
+# arguments from another macro to be parsed.
+# 
+#     PARSE_ARGUMENTS(prefix arg_names options arg1 arg2...) 
+# 
+# For each item in options, PARSE_ARGUMENTS will create a variable with
+# that name, prefixed with prefix_. So, for example, if prefix is
+# MY_MACRO and options is OPTION1;OPTION2, then PARSE_ARGUMENTS will
+# create the variables MY_MACRO_OPTION1 and MY_MACRO_OPTION2. These
+# variables will be set to true if the option exists in the command line
+# or false otherwise.
+# 
+# For each item in arg_names, PARSE_ARGUMENTS will create a variable
+# with that name, prefixed with prefix_. Each variable will be filled
+# with the arguments that occur after the given arg_name is encountered
+# up to the next arg_name or the end of the arguments. All options are
+# removed from these lists. PARSE_ARGUMENTS also creates a
+# prefix_DEFAULT_ARGS variable containing the list of all arguments up
+# to the first arg_name encountered.
+MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
+  SET(DEFAULT_ARGS)
+  FOREACH(arg_name ${arg_names})
+    SET(${prefix}_${arg_name})
+  ENDFOREACH(arg_name)
+  FOREACH(option ${option_names})
+    SET(${prefix}_${option} FALSE)
+  ENDFOREACH(option)
+
+  SET(current_arg_name DEFAULT_ARGS)
+  SET(current_arg_list)
+  FOREACH(arg ${ARGN})
+    LIST_CONTAINS(is_arg_name ${arg} ${arg_names})
+    IF (is_arg_name)
+      SET(${prefix}_${current_arg_name} ${current_arg_list})
+      SET(current_arg_name ${arg})
+      SET(current_arg_list)
+    ELSE (is_arg_name)
+      LIST_CONTAINS(is_option ${arg} ${option_names})
+      IF (is_option)
+      SET(${prefix}_${arg} TRUE)
+      ELSE (is_option)
+      SET(current_arg_list ${current_arg_list} ${arg})
+      ENDIF (is_option)
+    ENDIF (is_arg_name)
+  ENDFOREACH(arg)
+  SET(${prefix}_${current_arg_name} ${current_arg_list})
+ENDMACRO(PARSE_ARGUMENTS)
Added: branches/CMake-release/tools/build/CMake/CompileTest/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/build/CMake/CompileTest/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,5 @@
+project(CompileTest)
+string(REPLACE ":" ";" INCLUDE_PATHS ${INCLUDES})
+separate_arguments(INCLUDE_PATHS)
+include_directories (${INCLUDE_PATHS})
+add_library(compile STATIC "${SOURCE}")
Added: branches/CMake-release/tools/build/CMake/FindICU.cmake
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/build/CMake/FindICU.cmake	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,51 @@
+# Finds the International Components for Unicode (ICU) Library
+#
+#  ICU_FOUND          - True if ICU found.
+#  ICU_I18N_FOUND     - True if ICU's internationalization library found.
+#  ICU_INCLUDE_DIRS   - Directory to include to get ICU headers
+#                       Note: always include ICU headers as, e.g., 
+#                       unicode/utypes.h
+#  ICU_LIBRARIES      - Libraries to link against for the common ICU
+#  ICU_I18N_LIBRARIES - Libraries to link against for ICU internationaliation
+#                       (note: in addition to ICU_LIBRARIES)
+
+# Look for the header file.
+find_path(
+  ICU_INCLUDE_DIR 
+  NAMES unicode/utypes.h
+  DOC "Include directory for the ICU library")
+mark_as_advanced(ICU_INCLUDE_DIR)
+
+# Look for the library.
+find_library(
+  ICU_LIBRARY
+  NAMES icuuc cygicuuc cygicuuc32
+  DOC "Libraries to link against for the common parts of ICU")
+mark_as_advanced(ICU_LIBRARY)
+
+# Copy the results to the output variables.
+if(ICU_INCLUDE_DIR AND ICU_LIBRARY)
+  set(ICU_FOUND 1)
+  set(ICU_LIBRARIES ${ICU_LIBRARY})
+  set(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
+
+  # Look for the ICU internationalization libraries
+  find_library(
+    ICU_I18N_LIBRARY
+    NAMES icuin icui18n cygicuin cygicuin32
+    DOC "Libraries to link against for ICU internationalization")
+  mark_as_advanced(ICU_I18N_LIBRARY)
+  if (ICU_I18N_LIBRARY)
+    set(ICU_I18N_FOUND 1)
+    set(ICU_I18N_LIBRARIES ${ICU_I18N_LIBRARY})
+  else (ICU_I18N_LIBRARY)
+    set(ICU_I18N_FOUND 0)
+    set(ICU_I18N_LIBRARIES)
+  endif (ICU_I18N_LIBRARY)
+else(ICU_INCLUDE_DIR AND ICU_LIBRARY)
+  set(ICU_FOUND 0)
+  set(ICU_I18N_FOUND 0)
+  set(ICU_LIBRARIES)
+  set(ICU_I18N_LIBRARIES)
+  set(ICU_INCLUDE_DIRS)
+endif(ICU_INCLUDE_DIR AND ICU_LIBRARY)
Added: branches/CMake-release/tools/build/CMake/LinkTest/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/build/CMake/LinkTest/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,3 @@
+project(LinkTest)
+include_directories (${INCLUDES})
+add_executable(link ${SOURCE} COMPILE_FLAGS "${COMPILE_FLAGS}")
Added: branches/CMake-release/tools/quickbook/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/quickbook/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,11 @@
+if (MSVC)
+  add_definitions(/wd4511 /wd4512 /wd4701 /wd4702 /wd4244 /wd4267 /wd4800)
+endif (MSVC)
+
+boost_add_executable(quickbook
+  detail/quickbook.cpp
+  detail/actions.cpp
+  detail/utils.cpp
+  detail/post_process.cpp
+  DEPENDS boost_program_options boost_filesystem
+  )  
Added: branches/CMake-release/tools/wave/CMakeLists.txt
==============================================================================
--- (empty file)
+++ branches/CMake-release/tools/wave/CMakeLists.txt	2008-03-04 12:52:46 EST (Tue, 04 Mar 2008)
@@ -0,0 +1,3 @@
+boost_add_executable(wave cpp.cpp 
+  DEPENDS boost_wave boost_program_options boost_filesystem boost_serialization
+  )