boost/boost-1.48.0-cmakeify-full.patch

39188 lines
1.5 MiB
Diff
Raw Normal View History

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..551b8f8
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,402 @@
+##########################################################################
+# CMake Build Rules for Boost #
+##########################################################################
+# Copyright (C) 2007, 2008 Douglas Gregor <doug.gregor@gmail.com> #
+# Copyright (C) 2007, 2009 Troy Straszheim <troy@resophonic.com> #
+# #
+# 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 GUI, load the Boost directory, and generate #
+# project files or makefiles for your environment. #
+# #
+# For more information about CMake, see http://www.cmake.org #
+##########################################################################
+cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
+project(Boost)
+
+##########################################################################
+# Boost CMake modules #
+##########################################################################
+list(APPEND CMAKE_MODULE_PATH ${Boost_SOURCE_DIR}/tools/build/CMake)
+include(BoostUtils)
+
+message(STATUS "")
+colormsg(_HIBLUE_ "Boost.CMake starting")
+
+##########################################################################
+# Version information #
+##########################################################################
+
+# We parse the version information from the boost/version.hpp header.
+file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp BOOST_VERSIONSTR
+ REGEX "#define[ ]+BOOST_VERSION[ ]+[0-9]+")
+string(REGEX MATCH "[0-9]+" BOOST_VERSIONSTR ${BOOST_VERSIONSTR})
+if (BOOST_VERSIONSTR)
+ math(EXPR BOOST_VERSION_MAJOR "${BOOST_VERSIONSTR} / 100000")
+ math(EXPR BOOST_VERSION_MINOR "${BOOST_VERSIONSTR} / 100 % 1000")
+ math(EXPR BOOST_VERSION_SUBMINOR "${BOOST_VERSIONSTR} % 100")
+ set(BOOST_VERSION "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}")
+else()
+ message(FATAL_ERROR
+ "Unable to parse Boost version from ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp")
+endif()
+
+#
+# This for automatic testing of multiple versioned installs
+#
+if(BOOST_VERSION_OVERRIDE)
+ set(BOOST_VERSION ${BOOST_VERSION_OVERRIDE})
+ set(BOOST_VERSION_NUMERIC ${BOOST_VERSION_NUMERIC_OVERRIDE})
+ set(BOOST_VERSION_UNDERSCORES ${BOOST_VERSION_UNDERSCORES_OVERRIDE})
+ configure_file(tools/build/CMake/install_me/version.hpp.override.in ${CMAKE_BINARY_DIR}/version.hpp)
+endif()
+
+set(BOOST_CMAKE_VERSION "${BOOST_VERSION}.cmake0")
+
+#
+# For intermittent deployment of docs
+#
+set(BOOST_CMAKE_HOST sodium.resophonic.com)
+set(BOOST_CMAKE_DOCROOT /var/www/htdocs/boost-cmake/)
+set(BOOST_CMAKE_VERSIONED_DOCROOT ${BOOST_CMAKE_DOCROOT}/${BOOST_CMAKE_VERSION})
+set(BOOST_CMAKE_URL ${BOOST_CMAKE_HOST}:${BOOST_CMAKE_VERSIONED_DOCROOT})
+
+#
+# BOOST_MAINTAINER: undocced variable that sets up maintainer mode
+#
+if(BOOST_MAINTAINER)
+ #
+ # Put the boost.cmake version someplace sphinx can get it
+ # for use in generated documentation
+ #
+ set(CMAKE_DOCS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/docs/)
+ set(UPSTREAM_TAG "Boost_1_41_0")
+
+ set(gitdiff "git diff --stat=100,90 ${UPSTREAM_TAG}")
+ add_custom_target(make-diff
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND echo "% ${gitdiff}" > ${CMAKE_DOCS_DIR}/source/git_diff.txt
+ COMMAND git diff --stat=100,90 ${UPSTREAM_TAG} >> ${CMAKE_DOCS_DIR}/source/git_diff.txt
+ COMMAND make -C ${CMAKE_DOCS_DIR} html
+ )
+
+ add_custom_target(do-release
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND git archive --format=tar --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} | gzip --best > boost-${BOOST_CMAKE_VERSION}.tar.gz
+ COMMAND git archive --format=zip -9 --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} > boost-${BOOST_CMAKE_VERSION}.zip
+ # COMMAND git log --quiet ${BOOST_CMAKE_VERSION} > /dev/null
+ COMMAND ssh ${BOOST_CMAKE_HOST} mkdir -p ${BOOST_CMAKE_VERSIONED_DOCROOT}
+ COMMAND scp boost-${BOOST_CMAKE_VERSION}.tar.gz boost-${BOOST_CMAKE_VERSION}.zip ${BOOST_CMAKE_URL}
+ COMMAND make -C ${CMAKE_DOCS_DIR} deploy
+ )
+
+ colormsg(HIRED "*** MAINTAINER TARGETS ADDED ***")
+
+endif()
+
+#
+# Make sure that we reconfigure when boost/version.hpp changes.
+#
+configure_file(boost/version.hpp
+ ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/version.stamp)
+##########################################################################
+
+# Put the libaries and binaries that get built into directories at the
+# top of the build tree rather than in hard-to-find leaf
+# directories. This simplifies manual testing and the use of the build
+# tree rather than installed Boost libraries.
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+
+
+message(STATUS "")
+boost_report_pretty("Boost.CMake version" BOOST_CMAKE_VERSION)
+
+include(BoostConfig)
+include(BoostCore)
+include(BoostDocs)
+include(BoostTesting)
+##########################################################################
+
+##########################################################################
+# Build Features and Variants #
+##########################################################################
+
+
+# User-level options deciding which variants we will build.
+option(ENABLE_STATIC "Whether to build static libraries" ON)
+option(ENABLE_SHARED "Whether to build shared libraries" ON)
+option(ENABLE_DEBUG "Whether to build debugging libraries" ON)
+option(ENABLE_RELEASE "Whether to build release libraries" ON)
+option(ENABLE_SINGLE_THREADED "Whether to build single-threaded libraries" OFF)
+option(ENABLE_MULTI_THREADED "Whether to build multi-threaded libraries" ON)
+
+if(BUILD_VERSIONED)
+ message(FATAL_ERROR "Option 'BUILD_VERSIONED' has changed, the new name is WINMANGLE_LIBNAMES")
+endif(BUILD_VERSIONED)
+
+#if(BUILD_TESTING)
+# message(FATAL_ERROR "Option 'BUILD_TESTING' is gone, new name is BUILD_TESTS, see the docs")
+#endif()
+
+option(WINMANGLE_LIBNAMES
+ "mangle toolset and boost version tags to into library names"
+ ${WIN32})
+
+option(BUILD_SOVERSIONED "Create libraries with SONAMES" ${UNIX})
+
+if(UNIX)
+ option(INSTALL_VERSIONED "Install to versioned directories" ON)
+endif()
+
+
+# the default set of library variants that we will be building
+boost_add_default_variant(RELEASE DEBUG)
+boost_add_default_variant(SHARED STATIC)
+boost_add_default_variant(MULTI_THREADED SINGLE_THREADED)
+
+if (MSVC)
+ # 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.
+ option(ENABLE_STATIC_RUNTIME
+ "Whether to build libraries linking against the static runtime"
+ ON)
+
+ option(ENABLE_DYNAMIC_RUNTIME
+ "Whether to build libraries linking against the dynamic runtime"
+ ON)
+
+ boost_add_default_variant(DYNAMIC_RUNTIME STATIC_RUNTIME)
+endif()
+
+# Extra features used by some libraries
+set(ENABLE_PYTHON_NODEBUG ON)
+boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG)
+##########################################################################
+
+##########################################################################
+# Installation #
+##########################################################################
+if (WIN32)
+ set(sep "_")
+else()
+ set(sep ".")
+endif()
+
+if (BOOST_VERSION_OVERRIDE)
+ set(verdir "boost-${BOOST_VERSION_OVERRIDE}")
+elseif(INSTALL_VERSIONED)
+ set(verdir "boost-${BOOST_VERSION_MAJOR}${sep}${BOOST_VERSION_MINOR}${sep}${BOOST_VERSION_SUBMINOR}")
+else()
+ set(verstring "")
+endif()
+
+set(BOOST_INCLUDE_INSTALL_DIR
+ "include/${verdir}"
+ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for header files"
+ )
+
+set(BOOST_LIB_INSTALL_DIR
+ "lib${LIB_SUFFIX}/${verdir}"
+ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for libraries"
+ )
+
+boost_report_pretty("Install prefix" CMAKE_INSTALL_PREFIX)
+boost_report_pretty("Install include dir" BOOST_INCLUDE_INSTALL_DIR)
+boost_report_pretty("Install lib dir" BOOST_LIB_INSTALL_DIR)
+
+include(BoostExternals)
+
+if (BOOST_VERSION_OVERRIDE)
+ install(FILES ${CMAKE_BINARY_DIR}/version.hpp
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost
+ RENAME version.hpp)
+ install(DIRECTORY boost
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}
+ PATTERN "CVS" EXCLUDE
+ PATTERN ".svn" EXCLUDE
+ PATTERN "boost/version.hpp" EXCLUDE)
+else()
+ install(DIRECTORY boost
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}
+ PATTERN "CVS" EXCLUDE
+ PATTERN ".svn" EXCLUDE)
+endif()
+
+#
+# for testing
+#
+if (BOOST_VERSION_OVERRIDE)
+ install(FILES ${CMAKE_BINARY_DIR}/version.hpp
+ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost
+ RENAME version.hpp)
+endif()
+
+
+##########################################################################
+# Binary packages #
+##########################################################################
+#
+# CPACK_PACKAGE_NAME may not contain spaces when generating rpms
+#
+set(CPACK_PACKAGE_NAME "Boost")
+set(CPACK_PACKAGE_VENDOR "Boost.org")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost ${BOOST_VERSION} prerelease")
+set(CPACK_PACKAGE_FILE_NAME "boost-${BOOST_VERSION}-${BOOST_PLATFORM}-${BOOST_TOOLSET}")
+
+if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
+ message(STATUS "Using generic cpack package description file.")
+ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
+ set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
+endif ()
+
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE_1_0.txt")
+if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt")
+ message(STATUS "Using generic cpack welcome file.")
+ set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt")
+endif()
+
+set(CPACK_PACKAGE_VERSION "${BOOST_VERSION}")
+set(CPACK_PACKAGE_VERSION_MAJOR "${BOOST_VERSION_MAJOR}")
+set(CPACK_PACKAGE_VERSION_MINOR "${BOOST_VERSION_MINOR}")
+set(CPACK_PACKAGE_VERSION_PATCH "${BOOST_VERSION_SUBMINOR}")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "Boost")
+
+if(WIN32 AND NOT UNIX)
+ # There is a bug in NSI that does not handle full unix paths properly. Make
+ # sure there is at least one set of four (4) backlasshes.
+ # NOTE: No Boost icon yet
+ set(CPACK_MONOLITHIC_INSTALL ON) # don't be modular for now
+ set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake\\\\Boost.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} prerelease")
+ set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.boost.org")
+ set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.boost.org")
+ set(CPACK_NSIS_CONTACT "boost-users@lists.boost.org")
+ set(CPACK_NSIS_MODIFY_PATH ON)
+
+ # Encode the compiler name in the package
+ if (MSVC60)
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc6")
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual C++ 6")
+ elseif (MSVC70)
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc7")
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2002")
+ elseif (MSVC71)
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc71")
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2003")
+ elseif (MSVC80)
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc8")
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2005")
+ elseif (MSVC90)
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc9")
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2008")
+ elseif (BORLAND)
+ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-borland")
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Borland C++ Builder")
+ endif (MSVC60)
+ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_NSIS_DISPLAY_NAME}")
+endif(WIN32 AND NOT UNIX)
+include(CPack)
+
+if (FALSE)
+ option(BOOST_INSTALLER_ON_THE_FLY
+ "Whether to build installers that download components on-the-fly" OFF)
+
+ if (BOOST_INSTALLER_ON_THE_FLY)
+ if(COMMAND cpack_configure_downloads)
+ cpack_configure_downloads(
+ "http://www.osl.iu.edu/~dgregor/Boost-CMake/${BOOST_VERSION}/"
+ ALL ADD_REMOVE)
+ endif()
+ endif()
+endif()
+##########################################################################
+
+##########################################################################
+# Building Boost libraries #
+##########################################################################
+# Always include the directory where Boost's include files will be.
+if (TEST_INSTALLED_TREE)
+ # Use the headers from the installation directory
+ include_directories("${CMAKE_INSTALL_PREFIX}/${BOOST_HEADER_DIR}")
+elseif (BOOST_CMAKE_SELFTEST)
+ # Use selftest headers
+ include_directories("${BOOST_CMAKE_SELFTEST_ROOT}/include")
+ # and regular boost headers
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+else()
+ # Use the headers directly from the Boost source tree (in boost/)
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+endif (TEST_INSTALLED_TREE)
+
+# Boost.Build version 2 does this due to trouble with autolinking
+# during building and testing.
+# TODO: See if we can actually use auto-linking in our regression tests.
+add_definitions(-DBOOST_ALL_NO_LIB=1)
+
+#
+# Get build space set up for exports file
+#
+set(BOOST_EXPORTS_FILE ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake
+ CACHE FILEPATH "File to export targets from boost build directory")
+
+file(MAKE_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
+file(REMOVE ${BOOST_EXPORTS_FILE})
+
+if(NOT INSTALL_VERSIONED)
+ set(pathelem "boost/")
+endif()
+
+if (NOT BOOST_EXPORTS_INSTALL_DIR)
+ set(BOOST_EXPORTS_INSTALL_DIR ${BOOST_LIB_INSTALL_DIR}
+ CACHE STRING "Install location for cmake exports")
+endif()
+
+mark_as_advanced(BOOST_EXPORTS_FILE)
+
+# Add build rules for documentation
+add_subdirectory(doc)
+
+# Add build rules for all of the Boost libraries
+add_subdirectory(libs)
+
+# Add build rules for all of the Boost tools
+# TODO: On hold while I work on the modularity code
+add_subdirectory(tools)
+##########################################################################
+
+if(NOT BOOST_ALL_COMPONENTS)
+ #
+ # This is a dummy target to suppress the warning from
+ # install(EXPORT,....) below.
+ #
+ add_executable(this_is_a_dummy_no_libs_were_built
+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/main.cpp)
+
+ install(TARGETS this_is_a_dummy_no_libs_were_built
+ EXPORT Boost
+ DESTINATION ${BOOST_LIB_INSTALL_DIR}
+ COMPONENT Boost)
+
+endif()
+
+install(EXPORT Boost DESTINATION ${BOOST_EXPORTS_INSTALL_DIR})
+
+add_subdirectory(tools/build/CMake)
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
new file mode 100644
index 0000000..aad2c82
--- /dev/null
+++ b/CTestConfig.cmake
@@ -0,0 +1,21 @@
+## This file should be placed in the root directory of your project.
+## Then modify the CMakeLists.txt file in the root directory of your
+## project to incorporate the testing dashboard.
+
+message("--------------- CTestConfig.cmake --------------")
+set(CTEST_PROJECT_NAME "Boost")
+set(CTEST_NIGHTLY_START_TIME "03:00:00 EST")
+
+set(CTEST_UPDATE_TYPE "git")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "my.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=Boost")
+set(CTEST_DROP_SITE_CDASH TRUE)
+set(UPDATE_COMMAND "git")
+#
+# You're welcome to set these
+#
+#set(BUILD_PROJECTS "crc")
+#set(BUILD_TESTS "ALL")
+
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..2f40bc0
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,9 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+if (BUILD_DOCUMENTATION)
+ add_subdirectory(src)
+endif ()
diff --git a/doc/src/CMakeLists.txt b/doc/src/CMakeLists.txt
new file mode 100644
index 0000000..45de2eb
--- /dev/null
+++ b/doc/src/CMakeLists.txt
@@ -0,0 +1,19 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+if (BUILD_DOCUMENTATION_HTML)
+ # Install style sheets and the main Boost logo
+ install(FILES boostbook.css docutils.css reference.css ../../boost.png
+ DESTINATION share/boost-${BOOST_VERSION}/html)
+
+ # Install images
+ install(DIRECTORY images
+ DESTINATION share/boost-${BOOST_VERSION}/html
+ COMPONENT Core
+ PATTERN "CVS" EXCLUDE
+ PATTERN ".svn" EXCLUDE)
+endif ()
+
diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt
new file mode 100644
index 0000000..4f0c378
--- /dev/null
+++ b/libs/CMakeLists.txt
@@ -0,0 +1,117 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# 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 dirname varname filename)
+ file(GLOB globbed RELATIVE "${dirname}" "${dirname}/*/${filename}")
+ foreach(file ${globbed})
+ get_filename_component(dir ${file} PATH)
+ set(${varname} ${${varname}} ${dir})
+ endforeach()
+endmacro()
+
+# Find all of the subdirectories with .cmake files in them. These are
+# the libraries with dependencies.
+boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_MODULE_DIRS "module.cmake")
+foreach(subdir ${BOOST_MODULE_DIRS})
+ include("${BOOST_LIBS_PARENT_DIR}/${subdir}/module.cmake")
+endforeach(subdir)
+
+# Find all of the subdirectories with CMakeLists.txt files in
+# them. This contains all of the Boost libraries.
+boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_SUBPROJECT_DIRS "CMakeLists.txt")
+
+# Add all of the Boost projects in reverse topological order, so that
+# a library's dependencies show up before the library itself.
+set(CPACK_INSTALL_CMAKE_COMPONENTS_ALL)
+list(SORT BOOST_SUBPROJECT_DIRS)
+topological_sort(BOOST_SUBPROJECT_DIRS BOOST_ _DEPENDS)
+
+#
+# Sanity-check for typos: all projects in BUILD_PROJECTS must exist
+#
+if ((NOT BUILD_PROJECTS STREQUAL "ALL") AND (NOT BUILD_PROJECTS STREQUAL "NONE"))
+ foreach(project ${BUILD_PROJECTS})
+ list(FIND BOOST_SUBPROJECT_DIRS ${project} THIS_SUBPROJECT_DIRS_INDEX)
+ if (THIS_SUBPROJECT_DIRS_INDEX LESS 0)
+ message(FATAL_ERROR "Nonexistant project \"${project}\" specified in BUILD_PROJECTS. These project names should be all lowercase.")
+ endif()
+ endforeach()
+endif()
+
+set(BOOST_TEST_PROJECTS "" CACHE INTERNAL "hi" FORCE)
+
+#
+# include only directories of projects in BUILD_PROJECTS
+#
+message(STATUS "")
+colormsg(_HIBLUE_ "Reading boost project directories (per BUILD_PROJECTS)")
+message(STATUS "")
+set(BOOST_ALL_COMPONENTS "")
+
+foreach(subdir ${BOOST_SUBPROJECT_DIRS})
+ list(FIND BUILD_PROJECTS ${subdir} THIS_BUILD_PROJECTS_INDEX)
+ if ((THIS_BUILD_PROJECTS_INDEX GREATER -1) OR (BUILD_PROJECTS STREQUAL "ALL"))
+ message(STATUS "+ ${subdir}")
+ add_subdirectory(${BOOST_LIBS_PARENT_DIR}/${subdir} ${CMAKE_BINARY_DIR}/libs/${subdir})
+ endif()
+endforeach()
+
+#
+# If we're doing selftests, add those selftest dirs
+#
+foreach(project
+ ${BOOST_CMAKE_SELFTEST_PROJECTS})
+ colormsg(RED "* ${project}")
+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../tools/build/CMake/selftest_projects/${project}
+ ${CMAKE_BINARY_DIR}/libs/${project})
+endforeach()
+
+
+set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE)
+
+if(BUILD_TESTS AND NOT BUILD_TESTS STREQUAL "NONE")
+ message(STATUS "")
+ colormsg(_HIBLUE_ "Traversing project test directories (per BUILD_TESTS)")
+ message(STATUS "")
+else()
+ message(STATUS "")
+ colormsg(HIGRAY "BUILD_TESTS is NONE: skipping test directories.")
+ message(STATUS "")
+endif()
+
+foreach(PROJ ${BOOST_TEST_PROJECTS})
+ string(TOLOWER ${PROJ} proj)
+ project(${proj})
+ set(BOOST_PROJECT_NAME ${proj})
+ foreach(dir ${BOOST_${PROJ}_TESTDIRS})
+ message(STATUS "+ ${proj}")
+ add_subdirectory(${dir} ${CMAKE_BINARY_DIR}/libs/${proj}/test)
+ endforeach()
+endforeach()
+
+# Write out a GraphViz file containing inter-library dependencies.
+set(BOOST_DEPENDENCY_GRAPHVIZ_FILE "${Boost_BINARY_DIR}/dependencies.dot")
+file(WRITE ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "digraph boost {\n")
+foreach(SUBDIR ${BOOST_SUBPROJECT_DIRS})
+ string(TOUPPER "BOOST_${SUBDIR}_COMPILED_LIB" BOOST_COMPILED_LIB_VAR)
+ if (${BOOST_COMPILED_LIB_VAR})
+ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"${SUBDIR}\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ")
+ endif (${BOOST_COMPILED_LIB_VAR})
+ string(TOUPPER "BOOST_${SUBDIR}_DEPENDS" DEPENDS_VAR)
+ if(DEFINED ${DEPENDS_VAR})
+ foreach(DEP ${${DEPENDS_VAR}})
+ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE}
+ " \"${SUBDIR}\" -> \"${DEP}\";\n")
+ endforeach()
+ endif()
+endforeach()
+file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"test\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ")
+file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "}\n")
diff --git a/libs/accumulators/CMakeLists.txt b/libs/accumulators/CMakeLists.txt
new file mode 100644
index 0000000..373aadb
--- /dev/null
+++ b/libs/accumulators/CMakeLists.txt
@@ -0,0 +1,21 @@
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ accumulators
+)
+
+# Add a library target to the build system
+boost_library_project(
+ accumulators
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "A framework for incremental calculation, and a collection of statistical accumulators."
+ MODULARIZED
+ AUTHORS "Eric Niebler <eric -at- boost-consulting.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/accumulators/doc/CMakeLists.txt b/libs/accumulators/doc/CMakeLists.txt
new file mode 100644
index 0000000..c603de0
--- /dev/null
+++ b/libs/accumulators/doc/CMakeLists.txt
@@ -0,0 +1,8 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+message(STATUS "accumulators/docs needs love")
+
diff --git a/libs/accumulators/example/CMakeLists.txt b/libs/accumulators/example/CMakeLists.txt
new file mode 100644
index 0000000..ee4fff0
--- /dev/null
+++ b/libs/accumulators/example/CMakeLists.txt
@@ -0,0 +1,8 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_executable(example main.cpp)
+
diff --git a/libs/accumulators/module.cmake b/libs/accumulators/module.cmake
new file mode 100644
index 0000000..30a47c4
--- /dev/null
+++ b/libs/accumulators/module.cmake
@@ -0,0 +1 @@
+boost_module(accumulators DEPENDS parameter typeof foreach)
\ No newline at end of file
diff --git a/libs/accumulators/test/CMakeLists.txt b/libs/accumulators/test/CMakeLists.txt
new file mode 100644
index 0000000..b14dc54
--- /dev/null
+++ b/libs/accumulators/test/CMakeLists.txt
@@ -0,0 +1,82 @@
+# (C) Copyright 2005: Eric Niebler
+# 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)
+
+# bring in rules for testing
+#import testing ;
+#import feature ;
+
+#feature.feature iterator_debugging
+# : on off
+# : composite propagated optional
+# ;
+
+#feature.compose <iterator_debugging>off
+# : <define>_HAS_ITERATOR_DEBUGGING=0
+# ;
+
+# project
+# : requirements
+# <library>/boost/test//boost_unit_test_framework
+# <link>static
+# <include>../../..
+# <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
+# # MSVC's iterator debugging causes some tests to run forever.
+# <toolset>msvc:<iterator_debugging>off
+# <toolset>intel-win:<iterator_debugging>off
+# ;
+
+boost_additional_test_dependencies(accumulators BOOST_DEPENDS test)
+
+
+set(TESTS
+count
+covariance
+droppable
+error_of
+extended_p_square
+extended_p_square_quantile
+external_accumulator
+external_weights
+kurtosis
+max
+mean
+median
+min
+moment
+pot_quantile
+p_square_cumulative_distribution
+p_square_quantile
+reference
+skewness
+sum
+tail
+tail_mean
+tail_quantile
+tail_variate_means
+valarray
+variance
+vector
+weighted_covariance
+weighted_extended_p_square
+weighted_kurtosis
+weighted_mean
+weighted_median
+weighted_moment
+weighted_p_square_cum_dist
+weighted_p_square_quantile
+weighted_skewness
+weighted_sum
+weighted_variance
+weighted_pot_quantile
+weighted_tail_mean
+weighted_tail_quantile
+weighted_tail_variate_means)
+
+foreach(TEST ${TESTS})
+ boost_test_run(${TEST} DEPENDS boost_unit_test_framework boost_serialization)
+endforeach(TEST ${TESTS})
+
+if(WIN32)
+ message("Need to turn on iterator debugging")
+endif(WIN32)
\ No newline at end of file
diff --git a/libs/algorithm/CMakeLists.txt b/libs/algorithm/CMakeLists.txt
new file mode 100644
index 0000000..0f8d88c
--- /dev/null
+++ b/libs/algorithm/CMakeLists.txt
@@ -0,0 +1,22 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+
+# Add a library target to the build system
+boost_library_project(
+ algorithm
+ # SRCDIRS
+ TESTDIRS minmax/test string/test
+ # EXAMPLEDIRS minmax/example string/example
+ HEADERS algorithm
+ # DOCDIRS
+ DESCRIPTION "A library of various algorithms."
+ MODULARIZED
+ AUTHORS "Pavol Droba <droba -at- topmail.sk>"
+ "Herve Bronnimann <hbr -at- poly.edu>"
+ # MAINTAINERS
+)
diff --git a/libs/algorithm/minmax/test/CMakeLists.txt b/libs/algorithm/minmax/test/CMakeLists.txt
new file mode 100644
index 0000000..e70ce47
--- /dev/null
+++ b/libs/algorithm/minmax/test/CMakeLists.txt
@@ -0,0 +1,10 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(algorithm BOOST_DEPENDS test)
+
+boost_test_run(minmax_element_test)
+boost_test_run(minmax_test)
diff --git a/libs/algorithm/module.cmake b/libs/algorithm/module.cmake
new file mode 100644
index 0000000..deb4bb2
--- /dev/null
+++ b/libs/algorithm/module.cmake
@@ -0,0 +1,4 @@
+boost_module(algorithm DEPENDS regex concept_check range)
+
+
+
diff --git a/libs/algorithm/string/test/CMakeLists.txt b/libs/algorithm/string/test/CMakeLists.txt
new file mode 100644
index 0000000..bbc383f
--- /dev/null
+++ b/libs/algorithm/string/test/CMakeLists.txt
@@ -0,0 +1,18 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(algorithm BOOST_DEPENDS test)
+
+
+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)
+
diff --git a/libs/any/CMakeLists.txt b/libs/any/CMakeLists.txt
new file mode 100644
index 0000000..e6a4152
--- /dev/null
+++ b/libs/any/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ any.hpp
+)
+
+# Add a library target to the build system
+boost_library_project(
+ any
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Safe, generic container for single values of different value types."
+ MODULARIZED
+ AUTHORS "Kevlin Henney"
+ MAINTAINERS "Alexander Nasonov <alexander.nasonov -at- gmail.com>"
+)
+
+
diff --git a/libs/any/module.cmake b/libs/any/module.cmake
new file mode 100644
index 0000000..f47af03
--- /dev/null
+++ b/libs/any/module.cmake
@@ -0,0 +1 @@
+boost_module(any DEPENDS utility)
\ No newline at end of file
diff --git a/libs/any/test/CMakeLists.txt b/libs/any/test/CMakeLists.txt
new file mode 100644
index 0000000..000fcab
--- /dev/null
+++ b/libs/any/test/CMakeLists.txt
@@ -0,0 +1,11 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(any BOOST_DEPENDS test)
+
+boost_test_run(any_test ../any_test.cpp)
+boost_test_compile_fail(any_cast_cv_failed)
+
diff --git a/libs/array/CMakeLists.txt b/libs/array/CMakeLists.txt
new file mode 100644
index 0000000..ecdd503
--- /dev/null
+++ b/libs/array/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ array.hpp
+)
+
+# Add a library target to the build system
+boost_library_project(
+ array
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "STL compliant container wrapper for arrays of constant size."
+ MODULARIZED
+ AUTHORS "Nicolai Josuttis"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/array/module.cmake b/libs/array/module.cmake
new file mode 100644
index 0000000..ccd2813
--- /dev/null
+++ b/libs/array/module.cmake
@@ -0,0 +1 @@
+boost_module(array DEPENDS utility)
\ No newline at end of file
diff --git a/libs/array/test/CMakeLists.txt b/libs/array/test/CMakeLists.txt
new file mode 100644
index 0000000..379e7b1
--- /dev/null
+++ b/libs/array/test/CMakeLists.txt
@@ -0,0 +1,14 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(array BOOST_DEPENDS test)
+
+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)
diff --git a/libs/asio/CMakeLists.txt b/libs/asio/CMakeLists.txt
new file mode 100644
index 0000000..8ec4465
--- /dev/null
+++ b/libs/asio/CMakeLists.txt
@@ -0,0 +1,64 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ asio.hpp
+ asio
+)
+
+# Add a library target to the build system
+boost_library_project(
+ asio
+ # SRCDIRS
+ TESTDIRS test
+ EXAMPLEDIRS
+ example/ssl
+ example/chat
+ example/echo
+ example/icmp
+ example/http/server2
+ example/http/server3
+ example/http/server4
+ example/http/client
+ example/http/server
+ example/local
+ example/allocation
+ example/porthopper
+ example/invocation
+ example/multicast
+ example/serialization
+ example/iostreams
+ example/socks4
+ example/timers
+ example/tutorial/daytime1
+ example/tutorial/daytime2
+ example/tutorial/daytime3
+ example/tutorial/daytime4
+ example/tutorial/daytime5
+ example/tutorial/daytime6
+ example/tutorial/daytime7
+ example/tutorial/timer1
+ example/tutorial/timer2
+ example/tutorial/timer3
+ example/tutorial/timer4
+ example/tutorial/timer5
+ example/services
+ example/timeouts
+ example/windows
+ example/nonblocking
+ example/buffers
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Portable networking, including sockets, timers, hostname resolution and socket iostreams."
+ MODULARIZED
+ AUTHORS "Chris Kohlhoff <chris -at- kohlhoff.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/asio/example/allocation/CMakeLists.txt b/libs/asio/example/allocation/CMakeLists.txt
new file mode 100644
index 0000000..8c4b9fe
--- /dev/null
+++ b/libs/asio/example/allocation/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ server
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "allocation-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/buffers/CMakeLists.txt b/libs/asio/example/buffers/CMakeLists.txt
new file mode 100644
index 0000000..b79f18f
--- /dev/null
+++ b/libs/asio/example/buffers/CMakeLists.txt
@@ -0,0 +1,11 @@
+foreach(
+ example
+ reference_counted
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/chat/CMakeLists.txt b/libs/asio/example/chat/CMakeLists.txt
new file mode 100644
index 0000000..21e2118
--- /dev/null
+++ b/libs/asio/example/chat/CMakeLists.txt
@@ -0,0 +1,14 @@
+foreach(
+ example
+ chat_server
+ chat_client
+ posix_chat_client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_thread
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/echo/CMakeLists.txt b/libs/asio/example/echo/CMakeLists.txt
new file mode 100644
index 0000000..edd9561
--- /dev/null
+++ b/libs/asio/example/echo/CMakeLists.txt
@@ -0,0 +1,17 @@
+foreach(
+ example
+ blocking_udp_echo_server
+ async_udp_echo_server
+ blocking_udp_echo_client
+ blocking_tcp_echo_server
+ async_tcp_echo_server
+ blocking_tcp_echo_client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_thread
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/http/client/CMakeLists.txt b/libs/asio/example/http/client/CMakeLists.txt
new file mode 100644
index 0000000..7d97665
--- /dev/null
+++ b/libs/asio/example/http/client/CMakeLists.txt
@@ -0,0 +1,14 @@
+foreach(
+ example
+ async_client
+ sync_client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "client-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/http/server/CMakeLists.txt b/libs/asio/example/http/server/CMakeLists.txt
new file mode 100644
index 0000000..2a45be8
--- /dev/null
+++ b/libs/asio/example/http/server/CMakeLists.txt
@@ -0,0 +1,32 @@
+if(
+ UNIX
+)
+set(
+ main_entry
+ posix_main.cpp
+)
+else(
+)
+set(
+ main_entry
+ win_main.cpp
+)
+endif(
+ UNIX
+)
+boost_add_executable(
+ main
+ ${main_entry}
+ connection.cpp
+ connection_manager.cpp
+ mime_types.cpp
+ reply.cpp
+ request_handler.cpp
+ request_parser.cpp
+ server.cpp
+ DEPENDS
+ boost_thread
+ boost_system
+ TARGET_PREFIX
+ "server-"
+)
diff --git a/libs/asio/example/http/server2/CMakeLists.txt b/libs/asio/example/http/server2/CMakeLists.txt
new file mode 100644
index 0000000..e66a1b7
--- /dev/null
+++ b/libs/asio/example/http/server2/CMakeLists.txt
@@ -0,0 +1,32 @@
+if(
+ UNIX
+)
+set(
+ main_entry
+ posix_main.cpp
+)
+else(
+)
+set(
+ main_entry
+ win_main.cpp
+)
+endif(
+ UNIX
+)
+boost_add_executable(
+ main
+ ${main_entry}
+ connection.cpp
+ io_service_pool.cpp
+ mime_types.cpp
+ reply.cpp
+ request_handler.cpp
+ request_parser.cpp
+ server.cpp
+ DEPENDS
+ boost_thread
+ boost_system
+ TARGET_PREFIX
+ "server2-"
+)
diff --git a/libs/asio/example/http/server3/CMakeLists.txt b/libs/asio/example/http/server3/CMakeLists.txt
new file mode 100644
index 0000000..0bd5667
--- /dev/null
+++ b/libs/asio/example/http/server3/CMakeLists.txt
@@ -0,0 +1,31 @@
+if(
+ UNIX
+)
+set(
+ main_entry
+ posix_main.cpp
+)
+else(
+)
+set(
+ main_entry
+ win_main.cpp
+)
+endif(
+ UNIX
+)
+boost_add_executable(
+ main
+ ${main_entry}
+ connection.cpp
+ mime_types.cpp
+ reply.cpp
+ request_handler.cpp
+ request_parser.cpp
+ server.cpp
+ DEPENDS
+ boost_thread
+ boost_system
+ TARGET_PREFIX
+ "server3-"
+)
diff --git a/libs/asio/example/http/server4/CMakeLists.txt b/libs/asio/example/http/server4/CMakeLists.txt
new file mode 100644
index 0000000..d0285ee
--- /dev/null
+++ b/libs/asio/example/http/server4/CMakeLists.txt
@@ -0,0 +1,30 @@
+if(
+ UNIX
+)
+set(
+ main_entry
+ posix_main.cpp
+)
+else(
+)
+set(
+ main_entry
+ win_main.cpp
+)
+endif(
+ UNIX
+)
+boost_add_executable(
+ main
+ ${main_entry}
+ file_handler.cpp
+ mime_types.cpp
+ reply.cpp
+ request_parser.cpp
+ server.cpp
+ DEPENDS
+ boost_thread
+ boost_system
+ TARGET_PREFIX
+ "server4-"
+)
diff --git a/libs/asio/example/icmp/CMakeLists.txt b/libs/asio/example/icmp/CMakeLists.txt
new file mode 100644
index 0000000..e665cd4
--- /dev/null
+++ b/libs/asio/example/icmp/CMakeLists.txt
@@ -0,0 +1,11 @@
+foreach(
+ example
+ ping
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/invocation/CMakeLists.txt b/libs/asio/example/invocation/CMakeLists.txt
new file mode 100644
index 0000000..175160d
--- /dev/null
+++ b/libs/asio/example/invocation/CMakeLists.txt
@@ -0,0 +1,11 @@
+foreach(
+ example
+ prioritised_handlers
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/iostreams/CMakeLists.txt b/libs/asio/example/iostreams/CMakeLists.txt
new file mode 100644
index 0000000..9323eb2
--- /dev/null
+++ b/libs/asio/example/iostreams/CMakeLists.txt
@@ -0,0 +1,14 @@
+foreach(
+ example
+ daytime_server
+ daytime_client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "iostreams-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/local/CMakeLists.txt b/libs/asio/example/local/CMakeLists.txt
new file mode 100644
index 0000000..e39a130
--- /dev/null
+++ b/libs/asio/example/local/CMakeLists.txt
@@ -0,0 +1,15 @@
+foreach(
+ example
+ stream_server
+ iostream_client
+ stream_client
+ connect_pair
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_thread
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/multicast/CMakeLists.txt b/libs/asio/example/multicast/CMakeLists.txt
new file mode 100644
index 0000000..6b0d070
--- /dev/null
+++ b/libs/asio/example/multicast/CMakeLists.txt
@@ -0,0 +1,12 @@
+foreach(
+ example
+ sender
+ receiver
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/nonblocking/CMakeLists.txt b/libs/asio/example/nonblocking/CMakeLists.txt
new file mode 100644
index 0000000..ea5572e
--- /dev/null
+++ b/libs/asio/example/nonblocking/CMakeLists.txt
@@ -0,0 +1,11 @@
+foreach(
+ example
+ third_party_lib
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/porthopper/CMakeLists.txt b/libs/asio/example/porthopper/CMakeLists.txt
new file mode 100644
index 0000000..55bccba
--- /dev/null
+++ b/libs/asio/example/porthopper/CMakeLists.txt
@@ -0,0 +1,14 @@
+foreach(
+ example
+ server
+ client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "porthopper-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/serialization/CMakeLists.txt b/libs/asio/example/serialization/CMakeLists.txt
new file mode 100644
index 0000000..a56ccb5
--- /dev/null
+++ b/libs/asio/example/serialization/CMakeLists.txt
@@ -0,0 +1,15 @@
+foreach(
+ example
+ server
+ client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_serialization
+ boost_system
+ TARGET_PREFIX
+ "serialization-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/services/CMakeLists.txt b/libs/asio/example/services/CMakeLists.txt
new file mode 100644
index 0000000..d5e48dc
--- /dev/null
+++ b/libs/asio/example/services/CMakeLists.txt
@@ -0,0 +1,10 @@
+boost_add_executable(
+ daytime_client
+ daytime_client.cpp
+ logger_service.cpp
+ DEPENDS
+ boost_thread
+ boost_system
+ TARGET_PREFIX
+ "services-"
+)
diff --git a/libs/asio/example/socks4/CMakeLists.txt b/libs/asio/example/socks4/CMakeLists.txt
new file mode 100644
index 0000000..0158f10
--- /dev/null
+++ b/libs/asio/example/socks4/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ sync_client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "socks4-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/ssl/CMakeLists.txt b/libs/asio/example/ssl/CMakeLists.txt
new file mode 100644
index 0000000..ac181aa
--- /dev/null
+++ b/libs/asio/example/ssl/CMakeLists.txt
@@ -0,0 +1,17 @@
+foreach(
+ example
+ server
+ client
+)
+boost_add_executable(
+ ${example}
+ LINK_LIBS
+ crypto
+ ssl
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "ssl-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/timeouts/CMakeLists.txt b/libs/asio/example/timeouts/CMakeLists.txt
new file mode 100644
index 0000000..4ce73d5
--- /dev/null
+++ b/libs/asio/example/timeouts/CMakeLists.txt
@@ -0,0 +1,14 @@
+foreach(
+ example
+ async_tcp_client
+ blocking_tcp_client
+ blocking_udp_client
+ server
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+)
+endforeach(
+)
diff --git a/libs/asio/example/timers/CMakeLists.txt b/libs/asio/example/timers/CMakeLists.txt
new file mode 100644
index 0000000..f945824
--- /dev/null
+++ b/libs/asio/example/timers/CMakeLists.txt
@@ -0,0 +1,16 @@
+boost_add_executable(
+ time_t_timer
+ DEPENDS
+ boost_system
+)
+if(
+ WIN32
+)
+boost_add_executable(
+ tick_count_timer
+ DEPENDS
+ boost_system
+)
+endif(
+ WIN32
+)
diff --git a/libs/asio/example/tutorial/daytime1/CMakeLists.txt b/libs/asio/example/tutorial/daytime1/CMakeLists.txt
new file mode 100644
index 0000000..0e837c9
--- /dev/null
+++ b/libs/asio/example/tutorial/daytime1/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "daytime1-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/daytime2/CMakeLists.txt b/libs/asio/example/tutorial/daytime2/CMakeLists.txt
new file mode 100644
index 0000000..0258bdd
--- /dev/null
+++ b/libs/asio/example/tutorial/daytime2/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ server
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "daytime2-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/daytime3/CMakeLists.txt b/libs/asio/example/tutorial/daytime3/CMakeLists.txt
new file mode 100644
index 0000000..d40fe01
--- /dev/null
+++ b/libs/asio/example/tutorial/daytime3/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ server
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "daytime3-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/daytime4/CMakeLists.txt b/libs/asio/example/tutorial/daytime4/CMakeLists.txt
new file mode 100644
index 0000000..ed33fd6
--- /dev/null
+++ b/libs/asio/example/tutorial/daytime4/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ client
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "daytime4-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/daytime5/CMakeLists.txt b/libs/asio/example/tutorial/daytime5/CMakeLists.txt
new file mode 100644
index 0000000..775b630
--- /dev/null
+++ b/libs/asio/example/tutorial/daytime5/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ server
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "daytime5-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/daytime6/CMakeLists.txt b/libs/asio/example/tutorial/daytime6/CMakeLists.txt
new file mode 100644
index 0000000..d8c04bd
--- /dev/null
+++ b/libs/asio/example/tutorial/daytime6/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ server
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "daytime6-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/daytime7/CMakeLists.txt b/libs/asio/example/tutorial/daytime7/CMakeLists.txt
new file mode 100644
index 0000000..12c78dd
--- /dev/null
+++ b/libs/asio/example/tutorial/daytime7/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ server
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "daytime7-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/timer1/CMakeLists.txt b/libs/asio/example/tutorial/timer1/CMakeLists.txt
new file mode 100644
index 0000000..21e6383
--- /dev/null
+++ b/libs/asio/example/tutorial/timer1/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ timer
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "timer1-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/timer2/CMakeLists.txt b/libs/asio/example/tutorial/timer2/CMakeLists.txt
new file mode 100644
index 0000000..1903bef
--- /dev/null
+++ b/libs/asio/example/tutorial/timer2/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ timer
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "timer2-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/timer3/CMakeLists.txt b/libs/asio/example/tutorial/timer3/CMakeLists.txt
new file mode 100644
index 0000000..60f45b4
--- /dev/null
+++ b/libs/asio/example/tutorial/timer3/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ timer
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "timer3-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/timer4/CMakeLists.txt b/libs/asio/example/tutorial/timer4/CMakeLists.txt
new file mode 100644
index 0000000..b1c88dd
--- /dev/null
+++ b/libs/asio/example/tutorial/timer4/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ timer
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+ TARGET_PREFIX
+ "timer4-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/tutorial/timer5/CMakeLists.txt b/libs/asio/example/tutorial/timer5/CMakeLists.txt
new file mode 100644
index 0000000..8171893
--- /dev/null
+++ b/libs/asio/example/tutorial/timer5/CMakeLists.txt
@@ -0,0 +1,14 @@
+foreach(
+ example
+ timer
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_thread
+ boost_system
+ TARGET_PREFIX
+ "timer5-"
+)
+endforeach(
+)
diff --git a/libs/asio/example/windows/CMakeLists.txt b/libs/asio/example/windows/CMakeLists.txt
new file mode 100644
index 0000000..de980b2
--- /dev/null
+++ b/libs/asio/example/windows/CMakeLists.txt
@@ -0,0 +1,17 @@
+if(
+ WIN32
+)
+foreach(
+ example
+ transmit_file
+)
+boost_add_executable(
+ ${example}
+ DEPENDS
+ boost_system
+)
+endforeach(
+)
+endif(
+ WIN32
+)
diff --git a/libs/asio/module.cmake b/libs/asio/module.cmake
new file mode 100644
index 0000000..7946162
--- /dev/null
+++ b/libs/asio/module.cmake
@@ -0,0 +1,3 @@
+boost_module(asio DEPENDS system date_time config exception)
+
+
diff --git a/libs/asio/test/CMakeLists.txt b/libs/asio/test/CMakeLists.txt
new file mode 100644
index 0000000..647d5af
--- /dev/null
+++ b/libs/asio/test/CMakeLists.txt
@@ -0,0 +1,127 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(asio BOOST_DEPENDS test system)
+
+set (dep_libs "")
+
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ set(dep_libs "pthread")
+ set(os_defines "-D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1")
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Solaris")
+ set(dep_libs "socket;nsl")
+ set(os_defines "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__")
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "Solaris")
+
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ set(dep_libs "ws2_32;mswsock")
+ set(os_defines "-D_WIN32_WINNT=0x0501")
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+
+if (CYGWIN)
+ set(os_defines "-D__USE_W32_SOCKETS")
+endif(CYGWIN)
+
+if (${CMAKE_SYSTEM_NAME} STREQUAL "hpux")
+ set(dep_libs "ipv6")
+ set(os_defines "-D_XOPEN_SOURCE_EXTENDED")
+endif(${CMAKE_SYSTEM_NAME} STREQUAL "hpux")
+
+message(STATUS "!!!> missing some qnx stuff")
+
+set (USE_SELECT "-DBOOST_ASIO_DISABLE_DEV_POLL -DBOOST_ASIO_DISABLE_EPOLL -DBOOST_ASIO_DISABLE_KQUEUE -DBOOST_ASIO_DISABLE_IOCP")
+
+set (depends "boost_system-mt-static;boost_date_time-mt-static;boost_thread-mt-static")
+
+set (os_defines "${os_defines} -DBOOST_ALL_NO_LIB=1")
+
+macro(asio_test_run NAME)
+ boost_test_run(${NAME} ${NAME}.cpp
+ COMPILE_FLAGS "${os_defines}"
+ LINK_LIBS "${dep_libs}"
+ DEPENDS ${depends}
+ )
+ boost_test_run(${NAME}_select ${NAME}.cpp
+ COMPILE_FLAGS "${os_defines} ${USE_SELECT}"
+ LINK_LIBS "${dep_libs}"
+ DEPENDS ${depends}
+ )
+endmacro(asio_test_run)
+
+macro(asio_test_link NAME)
+ boost_test_link(${NAME} ${NAME}.cpp
+ COMPILE_FLAGS "${os_defines}"
+ LINK_LIBS "${dep_libs}"
+ DEPENDS "${depends}"
+ )
+ boost_test_link(${NAME}_select ${NAME}.cpp
+ COMPILE_FLAGS "${os_defines} ${USE_SELECT}"
+ LINK_LIBS "${dep_libs}"
+ DEPENDS "${depends}"
+ )
+endmacro(asio_test_link)
+
+foreach(test
+ basic_datagram_socket
+ basic_deadline_timer
+ basic_socket_acceptor
+ basic_stream_socket
+ completion_condition
+ datagram_socket_service
+ deadline_timer_service
+ socket_acceptor_service
+ stream_socket_service
+ time_traits
+ )
+ asio_test_link(${test})
+endforeach()
+
+foreach(test
+ buffer
+ buffered_read_stream
+ buffered_stream
+ buffered_write_stream
+ buffers_iterator
+ deadline_timer
+ error
+ io_service
+ placeholders
+ is_read_buffered
+ is_write_buffered
+ read
+ read_at
+ read_until
+ socket_base
+ strand
+ write
+ write_at
+ )
+ asio_test_run(${test})
+endforeach()
+
+add_subdirectory(ip)
+add_subdirectory(local)
+add_subdirectory(posix)
+
+# Test Windows specific Behaviors
+if (MSVC)
+ foreach(test
+ windows_basic_handle
+ windows_basic_random_access_handle
+ windows_basic_stream_handle
+ windows_overlapped_ptr
+ windows_random_access_handle
+ windows_random_access_handle_service
+ windows_stream_handle
+ windows_stream_handle_service
+ )
+ boost_test_link(${test})
+ endforeach()
+endif (MSVC)
+
+add_subdirectory(ssl)
\ No newline at end of file
diff --git a/libs/asio/test/ip/CMakeLists.txt b/libs/asio/test/ip/CMakeLists.txt
new file mode 100644
index 0000000..d68290b
--- /dev/null
+++ b/libs/asio/test/ip/CMakeLists.txt
@@ -0,0 +1,32 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+foreach(test
+ address
+ address_v4
+ address_v6
+ basic_endpoint
+ basic_resolver
+ basic_resolver_entry
+ basic_resolver_iterator
+ basic_resolver_query
+ resolver_query_base
+ resolver_service
+ )
+ asio_test_link(${test})
+endforeach()
+
+foreach(test
+ host_name
+ multicast
+ tcp
+ udp
+ unicast
+ v6_only)
+ asio_test_run(${test})
+endforeach()
+
+
diff --git a/libs/asio/test/local/CMakeLists.txt b/libs/asio/test/local/CMakeLists.txt
new file mode 100644
index 0000000..4ae5436
--- /dev/null
+++ b/libs/asio/test/local/CMakeLists.txt
@@ -0,0 +1,16 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+foreach(test
+ basic_endpoint
+ connect_pair
+ datagram_protocol
+ stream_protocol
+ )
+ asio_test_link(${test})
+endforeach()
+
+
diff --git a/libs/asio/test/posix/CMakeLists.txt b/libs/asio/test/posix/CMakeLists.txt
new file mode 100644
index 0000000..743f822
--- /dev/null
+++ b/libs/asio/test/posix/CMakeLists.txt
@@ -0,0 +1,17 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+foreach(test
+ basic_descriptor
+ basic_stream_descriptor
+ descriptor_base
+ stream_descriptor
+ stream_descriptor_service
+ )
+ asio_test_link(${test})
+endforeach()
+
+
diff --git a/libs/asio/test/ssl/CMakeLists.txt b/libs/asio/test/ssl/CMakeLists.txt
new file mode 100644
index 0000000..d01c7da
--- /dev/null
+++ b/libs/asio/test/ssl/CMakeLists.txt
@@ -0,0 +1,78 @@
+#
+# Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+#
+# 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)
+#
+
+# import os ;
+# import feature ;
+#
+# lib ssl ;
+# lib crypto ;
+#
+# if [ os.name ] = SOLARIS
+# {
+# lib socket ;
+# lib nsl ;
+# }
+# else if [ os.name ] = NT
+# {
+# lib ws2_32 ;
+# lib mswsock ;
+# }
+# else if [ os.name ] = HPUX
+# {
+# lib ipv6 ;
+# }
+
+#local USE_SELECT =
+# <define>BOOST_ASIO_DISABLE_EPOLL
+# <define>BOOST_ASIO_DISABLE_KQUEUE
+# <define>BOOST_ASIO_DISABLE_IOCP
+# ;
+
+#project
+# : requirements
+# <library>/boost/date_time//boost_date_time
+# <library>/boost/thread//boost_thread
+# <define>BOOST_ALL_NO_LIB=1
+# <threading>multi
+# <os>SOLARIS:<library>socket
+# <os>SOLARIS:<library>nsl
+# <os>NT:<define>_WIN32_WINNT=0x0501
+# <os>NT,<toolset>gcc:<library>ws2_32
+# <os>NT,<toolset>gcc:<library>mswsock
+# <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+# <os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
+# <os>HPUX:<library>ipv6
+# ;
+
+foreach (test
+ basic_context
+ context_base
+ context_service
+ context
+ stream_base
+ stream_service
+ stream)
+ boost_test_compile(${test})
+ boost_test_compile(${test}_select ${test}.cpp COMPILE_FLAGS ${USE_SELECT})
+endforeach()
+
+
+# [ compile basic_context.cpp ]
+# [ compile basic_context.cpp : $(USE_SELECT) : basic_context_select ]
+# [ compile context_base.cpp ]
+# [ compile context_base.cpp : $(USE_SELECT) : context_base_select ]
+# [ compile context_service.cpp ]
+# [ compile context_service.cpp : $(USE_SELECT) : context_service_select ]
+# [ compile context.cpp ]
+# [ compile context.cpp : $(USE_SELECT) : context_select ]
+# [ compile stream_base.cpp ]
+# [ compile stream_base.cpp : $(USE_SELECT) : stream_base_select ]
+# [ compile stream_service.cpp ]
+# [ compile stream_service.cpp : $(USE_SELECT) : stream_service_select ]
+# [ compile stream.cpp ]
+# [ compile stream.cpp : $(USE_SELECT) : stream_select ]
+# ;
diff --git a/libs/assign/CMakeLists.txt b/libs/assign/CMakeLists.txt
new file mode 100644
index 0000000..0bae12d
--- /dev/null
+++ b/libs/assign/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ assign
+ assign.hpp
+)
+
+# Add a library target to the build system
+boost_library_project(
+ assign
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Filling containers with constant or generated data has never been easier."
+ MODULARIZED
+ AUTHORS "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/assign/module.cmake b/libs/assign/module.cmake
new file mode 100644
index 0000000..f67e4bc
--- /dev/null
+++ b/libs/assign/module.cmake
@@ -0,0 +1 @@
+boost_module(assign DEPENDS ptr_container)
\ No newline at end of file
diff --git a/libs/assign/test/CMakeLists.txt b/libs/assign/test/CMakeLists.txt
new file mode 100644
index 0000000..9570438
--- /dev/null
+++ b/libs/assign/test/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(assign BOOST_DEPENDS test multi_index)
+
+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)
+
+FOREACH(test ${TESTS})
+ boost_test_run(${test} DEPENDS boost_unit_test_framework)
+ENDFOREACH(test ${TESTS})
+
+boost_test_run(multi_index_container
+ DEPENDS boost_unit_test_framework boost_serialization)
diff --git a/libs/bimap/CMakeLists.txt b/libs/bimap/CMakeLists.txt
new file mode 100644
index 0000000..ac963f7
--- /dev/null
+++ b/libs/bimap/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ bimap.hpp
+ bimap
+)
+
+# Add a library target to the build system
+boost_library_project(
+ bimap
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Bidirectional map containers"
+ MODULARIZED
+ AUTHORS "Matias Capeletto <matias.capeletto -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/bimap/module.cmake b/libs/bimap/module.cmake
new file mode 100644
index 0000000..f796fac
--- /dev/null
+++ b/libs/bimap/module.cmake
@@ -0,0 +1 @@
+boost_module(bimap DEPENDS xpressive property_map)
\ No newline at end of file
diff --git a/libs/bimap/test/CMakeLists.txt b/libs/bimap/test/CMakeLists.txt
new file mode 100644
index 0000000..2b3fb41
--- /dev/null
+++ b/libs/bimap/test/CMakeLists.txt
@@ -0,0 +1,49 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(bimap BOOST_DEPENDS test serialization multi_index functional typeof lambda assign)
+
+boost_test_run(test_tagged)
+boost_test_run(test_structured_pair)
+boost_test_run(test_mutant)
+boost_test_run(test_mutant_relation)
+boost_test_run(test_bimap_set_of)
+boost_test_run(test_bimap_multiset_of)
+boost_test_run(test_bimap_unordered_set_of)
+boost_test_run(test_bimap_unordered_multiset_of)
+boost_test_run(test_bimap_list_of)
+boost_test_run(test_bimap_vector_of)
+boost_test_run(test_bimap_ordered)
+boost_test_run(test_bimap_unordered)
+boost_test_run(test_bimap_sequenced)
+boost_test_run(test_bimap_unconstrained)
+boost_test_run(test_bimap_assign)
+boost_test_run(test_bimap_property_map)
+boost_test_run(test_bimap_modify)
+boost_test_run(test_bimap_range)
+boost_test_run(test_bimap_operator_bracket)
+boost_test_run(test_bimap_lambda)
+boost_test_run(test_bimap_mutable)
+boost_test_run(test_bimap_extra)
+boost_test_run(test_bimap_convenience_header)
+boost_test_run(test_bimap_project)
+boost_test_run(test_bimap_serialization DEPENDS boost_serialization)
+boost_test_run(test_bimap_info)
+boost_test_compile_fail(test_bimap_mutable_1 compile_fail/test_bimap_mutable_1.cpp)
+boost_test_compile_fail(test_bimap_mutable_2 compile_fail/test_bimap_mutable_2.cpp)
+boost_test_compile_fail(test_bimap_mutable_3 compile_fail/test_bimap_mutable_3.cpp)
+boost_test_compile_fail(test_bimap_info_1 compile_fail/test_bimap_info_1.cpp)
+boost_test_compile_fail(test_bimap_info_2 compile_fail/test_bimap_info_2.cpp)
+boost_test_compile_fail(test_bimap_info_3 compile_fail/test_bimap_info_3.cpp)
+boost_test_run(bimap_and_boost_property_map ../example/bimap_and_boost/property_map.cpp)
+boost_test_run(bimap_and_boost_range ../example/bimap_and_boost/range.cpp)
+boost_test_run(bimap_and_boost_foreach ../example/bimap_and_boost/foreach.cpp)
+boost_test_run(bimap_and_boost_lambda ../example/bimap_and_boost/lambda.cpp)
+boost_test_run(bimap_and_boost_assign ../example/bimap_and_boost/assign.cpp)
+boost_test_run(bimap_and_boost_xpressive ../example/bimap_and_boost/xpressive.cpp)
+boost_test_run(bimap_and_boost_typeof ../example/bimap_and_boost/typeof.cpp)
+boost_test_compile(bimap_and_boost_serialization
+ ../example/bimap_and_boost/serialization.cpp)
diff --git a/libs/bind/CMakeLists.txt b/libs/bind/CMakeLists.txt
new file mode 100644
index 0000000..127ae27
--- /dev/null
+++ b/libs/bind/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ bind.hpp
+ bind
+)
+
+# Add a library target to the build system
+boost_library_project(
+ bind
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions."
+ MODULARIZED
+ AUTHORS "Peter Dimov <pdimov -at- mmltd.net>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/bind/module.cmake b/libs/bind/module.cmake
new file mode 100644
index 0000000..beb4837
--- /dev/null
+++ b/libs/bind/module.cmake
@@ -0,0 +1 @@
+boost_module(bind DEPENDS utility mpl detail config)
\ No newline at end of file
diff --git a/libs/bind/test/CMakeLists.txt b/libs/bind/test/CMakeLists.txt
new file mode 100644
index 0000000..9512e2e
--- /dev/null
+++ b/libs/bind/test/CMakeLists.txt
@@ -0,0 +1,47 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(bind BOOST_DEPENDS test)
+
+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
+ bind_placeholder_test
+ bind_rvalue_test
+ bind_and_or_test
+ mem_fn_test
+ mem_fn_void_test
+ mem_fn_derived_test
+ mem_fn_eq_test
+ mem_fn_dm_test
+ mem_fn_rv_test
+ ref_fn_test
+ bind_fnobj2_test
+ bind_fn2_test
+ bind_mf2_test
+ bind_eq2_test
+ mem_fn_ref_test
+ bind_ref_test
+ bind_eq3_test
+ )
+FOREACH(test ${tests})
+ boost_test_run(${test})
+ENDFOREACH(test ${tests})
+
+boost_test_compile(bind_unary_addr)
+
diff --git a/libs/chrono/CMakeLists.txt b/libs/chrono/CMakeLists.txt
new file mode 100644
index 0000000..fb69f5c
--- /dev/null
+++ b/libs/chrono/CMakeLists.txt
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ chrono.hpp
+ chrono
+)
+
+# Add a library target to the build system
+boost_library_project(
+ chrono
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Useful time utilities."
+ MODULARIZED
+ AUTHORS "Vicente J. Botet Escribá <vicente.botet - at - wanadoo.fr>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/chrono/module.cmake b/libs/chrono/module.cmake
new file mode 100644
index 0000000..f160fbd
--- /dev/null
+++ b/libs/chrono/module.cmake
@@ -0,0 +1 @@
+boost_module(chrono DEPENDS system)
diff --git a/libs/chrono/src/CMakeLists.txt b/libs/chrono/src/CMakeLists.txt
new file mode 100644
index 0000000..68e844e
--- /dev/null
+++ b/libs/chrono/src/CMakeLists.txt
@@ -0,0 +1,15 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+set (BOOST_CHRONO_EXTRA_SOURCES)
+set (BOOST_CHRONO_LIBRARIES)
+
+boost_add_library (chrono
+ chrono.cpp
+ process_cpu_clocks.cpp
+ thread_clock.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_CHRONO_DYN_LINK=1"
+ STATIC_COMPILE_FLAGS "-DBOOST_CHRONO_STATIC_LINK=1"
+)
diff --git a/libs/chrono/test/CMakeLists.txt b/libs/chrono/test/CMakeLists.txt
new file mode 100644
index 0000000..39542b4
--- /dev/null
+++ b/libs/chrono/test/CMakeLists.txt
@@ -0,0 +1,41 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies(chrono BOOST_DEPENDS test)
+
+set (CHRONO_LIBRARIES
+ boost_chrono
+ boost_test_exec_monitor)
+
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "")
+if (NOT BUILD_SINGLE_THREADED)
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt")
+endif (NOT BUILD_SINGLE_THREADED)
+
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static")
+if (NOT BUILD_RELEASE)
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug")
+endif (NOT BUILD_RELEASE)
+
+#
+macro (chrono_test_run TESTNAME)
+ boost_test_run (${TESTNAME}
+ STATIC
+ DEPENDS boost_chrono boost_test_exec_monitor )
+ boost_test_run ("${TESTNAME}_dll"
+ ${TESTNAME}.cpp
+ SHARED
+ DEPENDS boost_chrono
+ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}")
+endmacro (chrono_test_run)
+
+#
+set (TESTS
+ clock
+ duration
+ time_point
+ traits)
+
+#
+chrono_test_run (run_timer_test)
diff --git a/libs/circular_buffer/CMakeLists.txt b/libs/circular_buffer/CMakeLists.txt
new file mode 100644
index 0000000..cb2fa50c0
--- /dev/null
+++ b/libs/circular_buffer/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ circular_buffer.hpp
+ circular_buffer_fwd.hpp
+ circular_buffer
+)
+
+# Add a library target to the build system
+boost_library_project(
+ circular_buffer
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "STL compliant container also known as ring or cyclic buffer."
+ MODULARIZED
+ AUTHORS "Jan Gaspar <jano_gaspar -at- yahoo.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/circular_buffer/module.cmake b/libs/circular_buffer/module.cmake
new file mode 100644
index 0000000..1d36e4d
--- /dev/null
+++ b/libs/circular_buffer/module.cmake
@@ -0,0 +1 @@
+boost_module (circular_buffer DEPENDS config thread)
\ No newline at end of file
diff --git a/libs/circular_buffer/test/CMakeLists.txt b/libs/circular_buffer/test/CMakeLists.txt
new file mode 100644
index 0000000..2637050
--- /dev/null
+++ b/libs/circular_buffer/test/CMakeLists.txt
@@ -0,0 +1,13 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(circular_buffer BOOST_DEPENDS test )
+
+
+boost_test_run(base_test SINGLE_THREADED)
+boost_test_run(space_optimized_test SINGLE_THREADED)
+boost_test_run(soft_iterator_invalidation SINGLE_THREADED)
+boost_test_compile(bounded_buffer_comparison)
\ No newline at end of file
diff --git a/libs/compatibility/CMakeLists.txt b/libs/compatibility/CMakeLists.txt
new file mode 100644
index 0000000..da5bee2
--- /dev/null
+++ b/libs/compatibility/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ compatibility
+)
+
+# Add a library target to the build system
+boost_library_project(
+ compatibility
+ # SRCDIRS
+ # TESTDIRS
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/compatibility/module.cmake b/libs/compatibility/module.cmake
new file mode 100644
index 0000000..2561216
--- /dev/null
+++ b/libs/compatibility/module.cmake
@@ -0,0 +1,2 @@
+boost_module(compatibility)
+
diff --git a/libs/concept_check/CMakeLists.txt b/libs/concept_check/CMakeLists.txt
new file mode 100644
index 0000000..073ef90
--- /dev/null
+++ b/libs/concept_check/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ concept_check.hpp
+ concept_archetype.hpp
+ concept_check
+)
+
+# Add a library target to the build system
+boost_library_project(
+ concept_check
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Tools for generic programming."
+ MODULARIZED
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/concept_check/module.cmake b/libs/concept_check/module.cmake
new file mode 100644
index 0000000..7deef63
--- /dev/null
+++ b/libs/concept_check/module.cmake
@@ -0,0 +1 @@
+boost_module(concept_check DEPENDS preprocessor)
\ No newline at end of file
diff --git a/libs/concept_check/test/CMakeLists.txt b/libs/concept_check/test/CMakeLists.txt
new file mode 100644
index 0000000..fea159f
--- /dev/null
+++ b/libs/concept_check/test/CMakeLists.txt
@@ -0,0 +1,14 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(concept_check BOOST_DEPENDS utility)
+
+# 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)
diff --git a/libs/config/CMakeLists.txt b/libs/config/CMakeLists.txt
new file mode 100644
index 0000000..0933327
--- /dev/null
+++ b/libs/config/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ config.hpp
+ config
+)
+
+# Add a library target to the build system
+boost_library_project(
+ config
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users."
+ MODULARIZED
+ AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/config/test/CMakeLists.txt b/libs/config/test/CMakeLists.txt
new file mode 100644
index 0000000..1e31993
--- /dev/null
+++ b/libs/config/test/CMakeLists.txt
@@ -0,0 +1,37 @@
+# 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)
+if(MSVC)
+ set(BOOST_CONFIG_MSVC_STATIC_OPTIONS STATIC STATIC_RUNTIME)
+endif(MSVC)
+if(BORLAND)
+ set(BOOST_CONFIG_BORLAND_STATIC_OPTIONS STATIC STATIC_RUNTIME)
+endif(BORLAND)
+
+if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ set(BOOST_CONFIG_STATIC_THREAD_LIBS LINK_LIBS pthread rt)
+endif(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+boost_additional_test_dependencies(config BOOST_DEPENDS test)
+
+boost_test_run(config_test_threaded config_test.cpp
+ EXTRA_OPTIONS MULTI_THREADED)
+
+boost_test_run(config_test
+ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS}
+ ${BOOST_CONFIG_STATIC_THREAD_LIBS})
+boost_test_run(config_info_threaded config_info.cpp
+ EXTRA_OPTIONS MULTI_THREADED)
+boost_test_run(config_info
+ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS})
+boost_test_run(math_info
+ EXTRA_OPTIONS ${BOOST_CONFIG_BORLAND_STATIC_OPTIONS})
+
+
+boost_test_run(limits_test DEPENDS boost_test_exec_monitor)
+boost_test_run(abi_test abi/abi_test.cpp abi/main.cpp)
+
+# TODO: config_link_test
+boost_test_compile_fail(test_thread_fail1 threads/test_thread_fail1.cpp)
+boost_test_compile_fail(test_thread_fail2 threads/test_thread_fail2.cpp)
\ No newline at end of file
diff --git a/libs/container/CMakeLists.txt b/libs/container/CMakeLists.txt
new file mode 100644
index 0000000..89bc1ba
--- /dev/null
+++ b/libs/container/CMakeLists.txt
@@ -0,0 +1,21 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+# Add a variable to hold the headers for the library
+set (lib_headers
+ container
+)
+
+# Add a library target to the build system
+boost_library_project (container
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Standard library containers and extensions."
+ MODULARIZED
+ AUTHORS "Ion Gaztañaga <igaztanaga - at - gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/container/module.cmake b/libs/container/module.cmake
new file mode 100644
index 0000000..07f4053
--- /dev/null
+++ b/libs/container/module.cmake
@@ -0,0 +1 @@
+boost_module (container)
\ No newline at end of file
diff --git a/libs/container/test/CMakeLists.txt b/libs/container/test/CMakeLists.txt
new file mode 100644
index 0000000..fe14f8b
--- /dev/null
+++ b/libs/container/test/CMakeLists.txt
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (container BOOST_DEPENDS test)
+
+#
+set (TESTS
+ deque_test
+ flat_tree_test
+ list_test
+ slist_test
+ stable_vector_test
+ string_test
+ tree_test
+ vector_test)
+
+foreach (_test ${TESTS})
+ boost_test_run (${_test} DEPENDS boost_unit_test_framework)
+endforeach (_test ${TESTS})
+
+if (WIN32)
+ message ("Need to turn on iterator debugging")
+endif (WIN32)
diff --git a/libs/conversion/CMakeLists.txt b/libs/conversion/CMakeLists.txt
new file mode 100644
index 0000000..3badd19
--- /dev/null
+++ b/libs/conversion/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+
+)
+
+# Add a library target to the build system
+boost_library_project(
+ conversion
+ # SRCDIRS
+ TESTDIRS test
+ # HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Polymorphic and lexical casts"
+ # MODULARIZED
+ AUTHORS "David Abrahams <dave -at- boost-consulting.com>"
+ "Kevlin Henney"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/conversion/test/CMakeLists.txt b/libs/conversion/test/CMakeLists.txt
new file mode 100644
index 0000000..7b10f31
--- /dev/null
+++ b/libs/conversion/test/CMakeLists.txt
@@ -0,0 +1,20 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(conversion BOOST_DEPENDS test detail numeric)
+
+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
+)
+
+
+
diff --git a/libs/crc/CMakeLists.txt b/libs/crc/CMakeLists.txt
new file mode 100644
index 0000000..e416771
--- /dev/null
+++ b/libs/crc/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ crc.hpp
+)
+
+# Add a library target to the build system
+boost_library_project(
+ crc
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based."
+ MODULARIZED
+ AUTHORS "Daryle Walker <darylew -at- hotmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/crc/module.cmake b/libs/crc/module.cmake
new file mode 100644
index 0000000..af56199
--- /dev/null
+++ b/libs/crc/module.cmake
@@ -0,0 +1 @@
+boost_module(crc DEPENDS integer config)
\ No newline at end of file
diff --git a/libs/crc/test/CMakeLists.txt b/libs/crc/test/CMakeLists.txt
new file mode 100644
index 0000000..588863b
--- /dev/null
+++ b/libs/crc/test/CMakeLists.txt
@@ -0,0 +1,10 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(crc BOOST_DEPENDS test random)
+
+boost_test_run(crc_test crc_test.cpp)
+
diff --git a/libs/date_time/CMakeLists.txt b/libs/date_time/CMakeLists.txt
new file mode 100644
index 0000000..4fe4364
--- /dev/null
+++ b/libs/date_time/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ date_time.hpp
+ date_time
+)
+
+# Add a library target to the build system
+boost_library_project(
+ date_time
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A set of date-time libraries based on generic programming concepts."
+ MODULARIZED
+ AUTHORS "Jeff Garland <jeff -at- crystalclearsoftware.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/date_time/module.cmake b/libs/date_time/module.cmake
new file mode 100644
index 0000000..536947d
--- /dev/null
+++ b/libs/date_time/module.cmake
@@ -0,0 +1 @@
+boost_module(date_time DEPENDS algorithm smart_ptr tokenizer io bind serialization)
\ No newline at end of file
diff --git a/libs/date_time/src/CMakeLists.txt b/libs/date_time/src/CMakeLists.txt
new file mode 100644
index 0000000..45d1ea3
--- /dev/null
+++ b/libs/date_time/src/CMakeLists.txt
@@ -0,0 +1,14 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+add_definitions (-DBOOST_DATE_TIME_DYN_LINK=1 -DDATE_TIME_INLINE)
+boost_add_library (
+ 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
+ )
diff --git a/libs/date_time/test/CMakeLists.txt b/libs/date_time/test/CMakeLists.txt
new file mode 100644
index 0000000..c7d1fe0
--- /dev/null
+++ b/libs/date_time/test/CMakeLists.txt
@@ -0,0 +1,187 @@
+boost_additional_test_dependencies(date_time BOOST_DEPENDS test bind)
+
+# 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)
diff --git a/libs/detail/CMakeLists.txt b/libs/detail/CMakeLists.txt
new file mode 100644
index 0000000..b75d9b9
--- /dev/null
+++ b/libs/detail/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ detail
+)
+
+# Add a library target to the build system
+boost_library_project(
+ detail
+ # SRCDIRS
+ # TESTDIRS
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users."
+ MODULARIZED
+ # AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/detail/module.cmake b/libs/detail/module.cmake
new file mode 100644
index 0000000..123eff6
--- /dev/null
+++ b/libs/detail/module.cmake
@@ -0,0 +1 @@
+boost_module(detail DEPENDS integer)
\ No newline at end of file
diff --git a/libs/disjoint_sets/CMakeLists.txt b/libs/disjoint_sets/CMakeLists.txt
new file mode 100644
index 0000000..88c4030
--- /dev/null
+++ b/libs/disjoint_sets/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+
+)
+
+# Add a library target to the build system
+boost_library_project(
+ disjoint_sets
+ # SRCDIRS
+ TESTDIRS test
+# HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Provides disjoint sets operations with union by rank and path compression."
+ # MODULARIZED
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
+ "Lie-Quan Lee"
+ "Andrew Lumsdaine"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/disjoint_sets/module.cmake b/libs/disjoint_sets/module.cmake
new file mode 100644
index 0000000..bbec4d0
--- /dev/null
+++ b/libs/disjoint_sets/module.cmake
@@ -0,0 +1 @@
+boost_module (disjoint_sets DEPENDS test graph)
\ No newline at end of file
diff --git a/libs/disjoint_sets/test/CMakeLists.txt b/libs/disjoint_sets/test/CMakeLists.txt
new file mode 100644
index 0000000..ad5dd5d
--- /dev/null
+++ b/libs/disjoint_sets/test/CMakeLists.txt
@@ -0,0 +1,7 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_test_run(disjoint_set_test ../disjoint_set_test.cpp)
diff --git a/libs/dynamic_bitset/CMakeLists.txt b/libs/dynamic_bitset/CMakeLists.txt
new file mode 100644
index 0000000..4a08cf6
--- /dev/null
+++ b/libs/dynamic_bitset/CMakeLists.txt
@@ -0,0 +1,30 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ dynamic_bitset.hpp
+ dynamic_bitset_fwd.hpp
+ dynamic_bitset
+)
+
+# Add a library target to the build system
+boost_library_project(
+ dynamic_bitset
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A runtime-sized version of std::bitset"
+ MODULARIZED
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
+ "Chuck Allison"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/dynamic_bitset/module.cmake b/libs/dynamic_bitset/module.cmake
new file mode 100644
index 0000000..20b3200
--- /dev/null
+++ b/libs/dynamic_bitset/module.cmake
@@ -0,0 +1 @@
+boost_module(dynamic_bitset DEPENDS detail static_assert)
diff --git a/libs/dynamic_bitset/test/CMakeLists.txt b/libs/dynamic_bitset/test/CMakeLists.txt
new file mode 100644
index 0000000..8ea25eb
--- /dev/null
+++ b/libs/dynamic_bitset/test/CMakeLists.txt
@@ -0,0 +1,13 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(dynamic_bitset BOOST_DEPENDS test config)
+
+
+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)
diff --git a/libs/exception/CMakeLists.txt b/libs/exception/CMakeLists.txt
new file mode 100644
index 0000000..e3f571f
--- /dev/null
+++ b/libs/exception/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ exception.hpp
+ exception_ptr.hpp
+ exception
+)
+
+# Add a library target to the build system
+boost_library_project(
+ exception
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads."
+ MODULARIZED
+ AUTHORS "Emil Dotchevski <emil -at- revergestudios.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/exception/module.cmake b/libs/exception/module.cmake
new file mode 100644
index 0000000..89d0eef
--- /dev/null
+++ b/libs/exception/module.cmake
@@ -0,0 +1 @@
+boost_module(exception DEPENDS smart_ptr detail utility tuple)
\ No newline at end of file
diff --git a/libs/exception/test/CMakeLists.txt b/libs/exception/test/CMakeLists.txt
new file mode 100644
index 0000000..98e8869
--- /dev/null
+++ b/libs/exception/test/CMakeLists.txt
@@ -0,0 +1,55 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(exception BOOST_DEPENDS test)
+
+boost_test_run(is_output_streamable_test)
+boost_test_run(has_to_string_test)
+boost_test_run(to_string_test)
+boost_test_run(to_string_stub_test)
+boost_test_compile_fail(to_string_fail)
+
+#exception
+
+boost_test_run(1-throw_exception_test)
+boost_test_run(2-throw_exception_no_exceptions_test)
+boost_test_run(3-throw_exception_no_integration_test)
+boost_test_run(4-throw_exception_no_both_test)
+boost_test_run(cloning_test)
+boost_test_run(copy_exception_test)
+boost_test_run(unknown_exception_test)
+boost_test_run(exception_test)
+boost_test_run(enable_error_info_test enable_error_info_test.cpp helper1.cpp)
+boost_test_run(throw_exception_test throw_exception_test.cpp helper2.cpp)
+boost_test_run(errno_test)
+boost_test_run(error_info_test)
+boost_test_run(diagnostic_information_test)
+boost_test_run(refcount_ptr_test)
+boost_test_run(current_exception_cast_test)
+message(STATUS "!!!> run no_exceptions_test.cpp : : : <exception-handling>off ;")
+
+boost_test_compile_fail(exception_fail)
+boost_test_compile_fail(throw_exception_fail)
+
+# Compile headers tests
+set (compile_tests
+ exception_ptr_hpp_test
+ diagnostic_information_hpp_test
+ error_info_hpp_test
+ exception_hpp_test
+ get_error_info_hpp_test
+ info_hpp_test
+ info_tuple_hpp_test
+ to_string_hpp_test
+ to_string_stub_hpp_test
+ current_exception_cast_hpp_test
+ )
+
+#-- Create a Compile test for each source
+foreach(test ${compile_tests})
+ boost_test_compile(${test} "${test}.cpp")
+endforeach(test ${compile_tests})
+
diff --git a/libs/filesystem/CMakeLists.txt b/libs/filesystem/CMakeLists.txt
new file mode 100644
index 0000000..4d4138d
--- /dev/null
+++ b/libs/filesystem/CMakeLists.txt
@@ -0,0 +1,42 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ filesystem.hpp
+ filesystem
+ )
+
+# Add a library target to the build system
+boost_library_project(
+ filesystem
+ # SRCDIRS v3/src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Provides portable facilities to query and manipulate paths, files, and directories. Note: the default version is now v3: v2 is deprecated."
+ MODULARIZED
+ AUTHORS "Beman Dawes <bdawes -at- acm.org>"
+ # MAINTAINERS
+ )
+
+boost_add_library(
+ filesystem
+
+ v2/src/v2_operations.cpp v2/src/v2_path.cpp
+ v2/src/v2_portability.cpp
+
+ v3/src/codecvt_error_category.cpp v3/src/operations.cpp
+ v3/src/path.cpp v3/src/path_traits.cpp v3/src/portability.cpp
+ v3/src/unique_path.cpp v3/src/utf8_codecvt_facet.cpp
+ v3/src/windows_file_codecvt.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1"
+ STATIC_COMPILE_FLAGS "-DBOOST_FILESYSTEM_STATIC_LINK=1"
+ DEPENDS boost_system
+ )
diff --git a/libs/filesystem/module.cmake b/libs/filesystem/module.cmake
new file mode 100644
index 0000000..6cf6911
--- /dev/null
+++ b/libs/filesystem/module.cmake
@@ -0,0 +1 @@
+boost_module(filesystem DEPENDS system smart_ptr)
\ No newline at end of file
diff --git a/libs/filesystem/test/CMakeLists.txt b/libs/filesystem/test/CMakeLists.txt
new file mode 100644
index 0000000..ac9c951
--- /dev/null
+++ b/libs/filesystem/test/CMakeLists.txt
@@ -0,0 +1,22 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind)
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK
+
+boost_test_compile(mbcopy ../v3/example/mbcopy.cpp)
+boost_test_compile(mbpath ../v3/example/mbpath.cpp)
+boost_test_compile(tchar ../v3/example/tchar.cpp)
+boost_test_compile(file_size ../v3/example/file_size.cpp)
+boost_test_compile(path_info ../v3/example/path_info.cpp)
+boost_test_compile(error_demo ../v3/example/error_demo.cpp)
+boost_test_compile(tut0 ../v3/example/tut0.cpp)
+boost_test_compile(tut1 ../v3/example/tut1.cpp)
+boost_test_compile(tut2 ../v3/example/tut2.cpp)
+boost_test_compile(tut3 ../v3/example/tut3.cpp)
+boost_test_compile(tut4 ../v3/example/tut4.cpp)
+boost_test_compile(tut5 ../v3/example/tut5.cpp)
diff --git a/libs/filesystem/v2/src/CMakeLists.txt b/libs/filesystem/v2/src/CMakeLists.txt
new file mode 100644
index 0000000..c11ee66
--- /dev/null
+++ b/libs/filesystem/v2/src/CMakeLists.txt
@@ -0,0 +1,14 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_library(
+ filesystem
+ v2_operations.cpp v2_path.cpp v2_portability.cpp
+ SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1"
+ STATIC_COMPILE_FLAGS "-DBOOST_FILESYSTEM_STATIC_LINK=1"
+ DEPENDS boost_system
+ )
+
diff --git a/libs/filesystem/v2/test/CMakeLists.txt b/libs/filesystem/v2/test/CMakeLists.txt
new file mode 100644
index 0000000..7ce5102
--- /dev/null
+++ b/libs/filesystem/v2/test/CMakeLists.txt
@@ -0,0 +1,25 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind)
+
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK
+
+SET(TESTS path_test operations_test
+ fstream_test convenience_test
+ large_file_support_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})
diff --git a/libs/filesystem/v3/test/CMakeLists.txt b/libs/filesystem/v3/test/CMakeLists.txt
new file mode 100644
index 0000000..95e39b0
--- /dev/null
+++ b/libs/filesystem/v3/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind)
+
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK
+
+SET(TESTS path_unit_test path_test
+ operations_unit_test operations_test
+ fstream_test convenience_test
+ large_file_support_test deprecated_test
+ simple_ls)
+
+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})
diff --git a/libs/flyweight/CMakeLists.txt b/libs/flyweight/CMakeLists.txt
new file mode 100644
index 0000000..542b728
--- /dev/null
+++ b/libs/flyweight/CMakeLists.txt
@@ -0,0 +1,18 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# Add a library target to the build system
+boost_library_project(
+ flyweight
+ TESTDIRS test
+ HEADERS flyweight flyweight.hpp
+ # DOCDIRS
+ DESCRIPTION "Flyweights are small-sized handle classes granting constant access to shared common data, thus allowing for the management of large amounts of entities within reasonable memory limits. Boost.Flyweight makes it easy to use this common programming idiom by providing the class template flyweight<T>, which acts as a drop-in replacement for const T."
+ MODULARIZED
+ AUTHORS "Joaqu<71>n M L<>pez Mu<4D>oz <fixme -at- fixme.com>"
+)
+
+
diff --git a/libs/flyweight/module.cmake b/libs/flyweight/module.cmake
new file mode 100644
index 0000000..51d4617
--- /dev/null
+++ b/libs/flyweight/module.cmake
@@ -0,0 +1 @@
+boost_module(flyweight DEPENDS mpl parameter preprocessor interprocess type_traits)
diff --git a/libs/flyweight/test/CMakeLists.txt b/libs/flyweight/test/CMakeLists.txt
new file mode 100644
index 0000000..a343357
--- /dev/null
+++ b/libs/flyweight/test/CMakeLists.txt
@@ -0,0 +1,53 @@
+# Boost.Flyweight tests Jamfile
+#
+# Copyright 2006-2008 Joaqu<71>n M L<>pez Mu<4D>oz.
+# 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)
+#
+# See http://www.boost.org/libs/flyweight for library home page.
+
+find_package(Threads)
+
+macro(flyweight_test testname)
+ boost_test_run(${testname}
+ test_${testname}.cpp test_${testname}_main.cpp
+ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
+endmacro()
+
+foreach(test
+ basic
+ custom_factory
+ init
+ multictor
+ no_locking
+ no_tracking
+ set_factory)
+
+ flyweight_test(${test})
+
+endforeach()
+
+#
+# test_assoc_cont_fact_main is irregularly named
+#
+boost_test_run(assoc_cont_factory
+ test_assoc_cont_factory.cpp test_assoc_cont_fact_main.cpp
+ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
+
+#
+# this one involves a dll
+#
+boost_add_library(intermod_holder_dll
+ intermod_holder_dll.cpp
+ COMPILE_FLAGS "-DBOOST_FLYWEIGHT_TEST_INTERMOD_HOLDER_DLL_SOURCE=1"
+ NO_SINGLE_THREADED
+ NO_STATIC
+ NO_INSTALL
+ )
+
+boost_test_run(intermod_holder
+ test_intermod_holder.cpp test_intermod_holder_main.cpp
+ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT}
+ DEPENDS intermod_holder_dll)
+
diff --git a/libs/foreach/CMakeLists.txt b/libs/foreach/CMakeLists.txt
new file mode 100644
index 0000000..4006087
--- /dev/null
+++ b/libs/foreach/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ foreach.hpp
+)
+
+# Add a library target to the build system
+boost_library_project(
+ foreach
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/foreach/module.cmake b/libs/foreach/module.cmake
new file mode 100644
index 0000000..7501f4d
--- /dev/null
+++ b/libs/foreach/module.cmake
@@ -0,0 +1 @@
+boost_module(foreach DEPENDS range)
\ No newline at end of file
diff --git a/libs/foreach/test/CMakeLists.txt b/libs/foreach/test/CMakeLists.txt
new file mode 100644
index 0000000..4be0750
--- /dev/null
+++ b/libs/foreach/test/CMakeLists.txt
@@ -0,0 +1,40 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(foreach BOOST_DEPENDS test )
+
+set(TESTS
+stl_byval
+stl_byval_r
+stl_byref
+stl_byref_r
+array_byval
+array_byval_r
+array_byref
+array_byref_r
+cstr_byval
+cstr_byval_r
+cstr_byref
+cstr_byref_r
+pair_byval
+pair_byval_r
+pair_byref
+pair_byref_r
+user_defined
+call_once
+rvalue_const
+rvalue_const_r
+rvalue_nonconst
+rvalue_nonconst_r
+dependent_type
+misc)
+
+foreach(test ${TESTS})
+ boost_test_run(${test})
+endforeach(test ${TESTS})
+
+boost_test_compile(noncopyable)
+
diff --git a/libs/format/CMakeLists.txt b/libs/format/CMakeLists.txt
new file mode 100644
index 0000000..e4097e5
--- /dev/null
+++ b/libs/format/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ format.hpp
+ format
+)
+
+# Add a library target to the build system
+boost_library_project(
+ format
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/format/module.cmake b/libs/format/module.cmake
new file mode 100644
index 0000000..6a30d4e
--- /dev/null
+++ b/libs/format/module.cmake
@@ -0,0 +1 @@
+boost_module(format DEPENDS detail config optional)
\ No newline at end of file
diff --git a/libs/format/test/CMakeLists.txt b/libs/format/test/CMakeLists.txt
new file mode 100644
index 0000000..6c24f7f
--- /dev/null
+++ b/libs/format/test/CMakeLists.txt
@@ -0,0 +1,13 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(format BOOST_DEPENDS test)
+
+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)
+
diff --git a/libs/function/CMakeLists.txt b/libs/function/CMakeLists.txt
new file mode 100644
index 0000000..a052a8a
--- /dev/null
+++ b/libs/function/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ function.hpp
+ function
+)
+
+# Add a library target to the build system
+boost_library_project(
+ function
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/function/doc/CMakeLists.txt b/libs/function/doc/CMakeLists.txt
new file mode 100644
index 0000000..dd5603f
--- /dev/null
+++ b/libs/function/doc/CMakeLists.txt
@@ -0,0 +1,8 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_documentation(function.xml
+ faq.xml history.xml misc.xml reference.xml tests.xml tutorial.xml)
diff --git a/libs/function/module.cmake b/libs/function/module.cmake
new file mode 100644
index 0000000..052e0cf
--- /dev/null
+++ b/libs/function/module.cmake
@@ -0,0 +1 @@
+boost_module(function DEPENDS detail preprocessor utility)
diff --git a/libs/function/test/CMakeLists.txt b/libs/function/test/CMakeLists.txt
new file mode 100644
index 0000000..2f3c771
--- /dev/null
+++ b/libs/function/test/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(function BOOST_DEPENDS test lambda)
+
+
+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)
diff --git a/libs/function_types/CMakeLists.txt b/libs/function_types/CMakeLists.txt
new file mode 100644
index 0000000..6e83c47
--- /dev/null
+++ b/libs/function_types/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ function_types
+)
+
+# Add a library target to the build system
+boost_library_project(
+ function_types
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/function_types/module.cmake b/libs/function_types/module.cmake
new file mode 100644
index 0000000..9943033
--- /dev/null
+++ b/libs/function_types/module.cmake
@@ -0,0 +1 @@
+boost_module(function_types DEPENDS mpl detail)
\ No newline at end of file
diff --git a/libs/function_types/test/CMakeLists.txt b/libs/function_types/test/CMakeLists.txt
new file mode 100644
index 0000000..1a5a0c3
--- /dev/null
+++ b/libs/function_types/test/CMakeLists.txt
@@ -0,0 +1,76 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# Get the boost dependencies for the tests
+boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion)
+
+boost_test_compile(is_function classification/is_function.cpp)
+boost_test_compile(is_function_pointer classification/is_function_pointer.cpp)
+boost_test_compile(is_function_reference classification/is_function_reference.cpp)
+boost_test_compile(is_member_function_pointer classification/is_member_function_pointer.cpp)
+boost_test_compile(is_member_object_pointer classification/is_member_object_pointer.cpp)
+boost_test_compile(is_callable_builtin classification/is_callable_builtin.cpp)
+boost_test_compile(is_nonmember_callable_builtin classification/is_nonmember_callable_builtin.cpp)
+boost_test_compile(is_member_pointer classification/is_member_pointer.cpp)
+
+boost_test_compile(is_cv_mem_func_ptr classification/is_cv_mem_func_ptr.cpp)
+boost_test_compile(is_variadic classification/is_variadic.cpp)
+boost_test_compile(is_cv_pointer classification/is_cv_pointer.cpp)
+ # [ compile classification/is_cv_function.cpp)
+
+# Decomposition
+
+boost_test_compile(components decomposition/components.cpp)
+boost_test_compile(result_type decomposition/result_type.cpp)
+boost_test_compile(function_arity decomposition/function_arity.cpp)
+boost_test_compile(parameter_types decomposition/parameter_types.cpp)
+
+boost_test_compile(components_seq decomposition/components_seq.cpp)
+boost_test_compile(class_type_transform decomposition/class_type_transform.cpp)
+
+boost_test_compile_fail(result_type_fail decomposition/result_type_fail.cpp)
+boost_test_compile_fail(parameter_types_fail decomposition/parameter_types_fail.cpp)
+boost_test_compile_fail(function_arity_fail decomposition/function_arity_fail.cpp)
+
+# Synthesis
+
+boost_test_compile(function_type synthesis/function_type.cpp)
+boost_test_compile(function_pointer synthesis/function_pointer.cpp)
+boost_test_compile(function_reference synthesis/function_reference.cpp)
+boost_test_compile(member_function_pointer synthesis/member_function_pointer.cpp)
+boost_test_compile(member_object_pointer synthesis/member_object_pointer.cpp)
+
+boost_test_compile(transformation synthesis/transformation.cpp)
+boost_test_compile(mem_func_ptr_cv1 synthesis/mem_func_ptr_cv1.cpp)
+boost_test_compile(mem_func_ptr_cv2 synthesis/mem_func_ptr_cv2.cpp)
+boost_test_compile(mem_func_ptr_cv_ptr_to_this synthesis/mem_func_ptr_cv_ptr_to_this.cpp)
+boost_test_compile(variadic_function_synthesis synthesis/variadic_function_synthesis.cpp)
+ # [ compile synthesis/cv_function_synthesis.cpp)
+
+# Reconfiguration
+
+boost_test_compile(preprocessing_mode reconfiguration/preprocessing_mode.cpp)
+boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_preprocessing.cpp)
+boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp)
+
+# Custom calling conventions
+boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp)
+boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp)
+message(STATUS "Function_Types/test/custom_ccs/member_ccs.cpp Needs love")
+#boost_test_compile(member_ccs custom_ccs/member_ccs.cpp)
+message(STATUS "Function_Types/test/custom_ccs/member_ccs_exact.cpp Needs love")
+#boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp)
+
+
+# Code from the examples
+# Include the "example" directory
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/example")
+boost_test_compile(interpreter_example ../example/interpreter_example.cpp)
+boost_test_compile(result_of_example ../example/result_of_example.cpp)
+boost_test_compile(interface_example ../example/interface_example.cpp)
+message(STATUS "Function_Types/example/fast_mem_fn_example.cpp Needs love")
+#boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp)
+boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp)
diff --git a/libs/functional/CMakeLists.txt b/libs/functional/CMakeLists.txt
new file mode 100644
index 0000000..6a28765
--- /dev/null
+++ b/libs/functional/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ functional.hpp
+ functional
+)
+
+# Add a library target to the build system
+boost_library_project(
+ functional
+ # SRCDIRS
+ TESTDIRS test hash/test hash/examples
+ HEADERS ${lib_headers}
+ DOCDIRS hash/doc
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/functional/hash/doc/CMakeLists.txt b/libs/functional/hash/doc/CMakeLists.txt
new file mode 100644
index 0000000..f9e29c0
--- /dev/null
+++ b/libs/functional/hash/doc/CMakeLists.txt
@@ -0,0 +1,8 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+message(STATUS "functional/hash docs need love")
+
diff --git a/libs/functional/hash/examples/CMakeLists.txt b/libs/functional/hash/examples/CMakeLists.txt
new file mode 100644
index 0000000..347a9b2
--- /dev/null
+++ b/libs/functional/hash/examples/CMakeLists.txt
@@ -0,0 +1,15 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#-------------------------------------------------------------------------
+#-- Needed include directories for the tests
+boost_additional_test_dependencies(config BOOST_DEPENDS test)
+#-------------------------------------------------------------------------
+boost_test_run(books)
+boost_test_run(point)
+boost_test_run(portable)
+
+
diff --git a/libs/functional/hash/test/CMakeLists.txt b/libs/functional/hash/test/CMakeLists.txt
new file mode 100644
index 0000000..ca45f5d
--- /dev/null
+++ b/libs/functional/hash/test/CMakeLists.txt
@@ -0,0 +1,58 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#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 ]
+
+
+
+#-------------------------------------------------------------------------
+#-- Needed include directories for the tests
+ boost_additional_test_dependencies(functional BOOST_DEPENDS test)
+#-------------------------------------------------------------------------
+
+SET(tests
+hash_fwd_test_1
+hash_fwd_test_2
+hash_number_test
+hash_pointer_test
+hash_function_pointer_test
+hash_float_test
+hash_long_double_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
+hash_complex_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)
+
diff --git a/libs/functional/module.cmake b/libs/functional/module.cmake
new file mode 100644
index 0000000..f10d82e
--- /dev/null
+++ b/libs/functional/module.cmake
@@ -0,0 +1 @@
+boost_module(functional DEPENDS integer)
\ No newline at end of file
diff --git a/libs/functional/test/CMakeLists.txt b/libs/functional/test/CMakeLists.txt
new file mode 100644
index 0000000..2bd7a7d
--- /dev/null
+++ b/libs/functional/test/CMakeLists.txt
@@ -0,0 +1,7 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_test_run(function_test function_test.cpp)
diff --git a/libs/fusion/CMakeLists.txt b/libs/fusion/CMakeLists.txt
new file mode 100644
index 0000000..2a91cc1
--- /dev/null
+++ b/libs/fusion/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ fusion
+)
+
+# Add a library target to the build system
+boost_library_project(
+ fusion
+ # SRCDIRS
+ # TESTDIRS
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Library for working with tuples, including various containers, algorithms, etc."
+ MODULARIZED
+ AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
+ "Dan Marsden <danmarsden -at- yahoo.co.uk>"
+ "Tobias Schwinger <tschwinger -at- isonews2.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/fusion/module.cmake b/libs/fusion/module.cmake
new file mode 100644
index 0000000..fa210eb
--- /dev/null
+++ b/libs/fusion/module.cmake
@@ -0,0 +1 @@
+boost_module (fusion DEPENDS function_types)
\ No newline at end of file
diff --git a/libs/geometry/CMakeLists.txt b/libs/geometry/CMakeLists.txt
new file mode 100644
index 0000000..6f0ec1b
--- /dev/null
+++ b/libs/geometry/CMakeLists.txt
@@ -0,0 +1,25 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ geometry
+)
+
+# Add a library target to the build system
+boost_library_project(
+ geometry
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Geometry Library."
+ MODULARIZED
+ AUTHORS "Barend Gehrels <barend - at - xs4all.nl>"
+ "Bruno Lalande <bruno.lalande - at - gmail.com>"
+ "Mateusz Loskot <mateusz - at - loskot.net>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/geometry/module.cmake b/libs/geometry/module.cmake
new file mode 100644
index 0000000..523adeb
--- /dev/null
+++ b/libs/geometry/module.cmake
@@ -0,0 +1 @@
+boost_module(geometry DEPENDS parameter typeof foreach)
\ No newline at end of file
diff --git a/libs/geometry/test/CMakeLists.txt b/libs/geometry/test/CMakeLists.txt
new file mode 100644
index 0000000..6fb8446
--- /dev/null
+++ b/libs/geometry/test/CMakeLists.txt
@@ -0,0 +1,28 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (geometry BOOST_DEPENDS test)
+
+#
+set (TESTS
+ core
+ point_concept
+ geometries
+ arithmetic
+ algorithms
+ iterators
+ strategies
+ policies
+ util
+ views
+ multi
+ domains)
+
+foreach (_test ${TESTS})
+ boost_test_run (${_test} DEPENDS boost_unit_test_framework)
+endforeach (_test ${TESTS})
+
+if (WIN32)
+ message ("Need to turn on iterator debugging")
+endif (WIN32)
diff --git a/libs/gil/CMakeLists.txt b/libs/gil/CMakeLists.txt
new file mode 100644
index 0000000..3b2f11d
--- /dev/null
+++ b/libs/gil/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ gil
+)
+
+# Add a library target to the build system
+boost_library_project(
+ gil
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Generic Image Library"
+ MODULARIZED
+ AUTHORS "Lubomir Bourdev <lbourdev -at- adobe.com>"
+ "Hailin Jin <hljin -at- adobe.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/gil/module.cmake b/libs/gil/module.cmake
new file mode 100644
index 0000000..e5c8cec
--- /dev/null
+++ b/libs/gil/module.cmake
@@ -0,0 +1 @@
+boost_module (gil DEPENDS type_traits mpl)
\ No newline at end of file
diff --git a/libs/gil/test/CMakeLists.txt b/libs/gil/test/CMakeLists.txt
new file mode 100644
index 0000000..2a167a0
--- /dev/null
+++ b/libs/gil/test/CMakeLists.txt
@@ -0,0 +1,16 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(gil BOOST_DEPENDS test lambda crc)
+
+
+add_definitions(-DBOOST_GIL_NO_IO -D_SCL_SECURE_NO_WARNINGS)
+boost_test_run(channel channel.cpp error_if.cpp)
+boost_test_run(image image.cpp sample_image.cpp error_if.cpp
+ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/gil_reference_checksums.txt)
+boost_test_run(image_io image_io.cpp error_if.cpp)
+boost_test_run(pixel pixel.cpp error_if.cpp)
+boost_test_run(pixel_iterator pixel_iterator.cpp error_if.cpp)
diff --git a/libs/graph/CMakeLists.txt b/libs/graph/CMakeLists.txt
new file mode 100644
index 0000000..4745fb2
--- /dev/null
+++ b/libs/graph/CMakeLists.txt
@@ -0,0 +1,24 @@
+# Copyright (C) 2008 Michael Jackson
+#
+# Use, modification and distribution is 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)
+
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+
+# Add a library target to the build system
+boost_library_project(
+ graph
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS graph
+ # DOCDIRS
+ DESCRIPTION "The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL)."
+ MODULARIZED
+ AUTHORS "Jeremy Siek <jeremy.siek -at- gmail.com>"
+ "Lie-Quan Lee"
+ "Andrew Lumsdaine"
+ "Douglas Gregor <doug.gregor -at- gmail.com>"
+ # MAINTAINERS
+)
diff --git a/libs/graph/module.cmake b/libs/graph/module.cmake
new file mode 100644
index 0000000..5a19aea
--- /dev/null
+++ b/libs/graph/module.cmake
@@ -0,0 +1,4 @@
+boost_module(graph DEPENDS property_map tuple multi_index any random parameter regex)
+boost_module(graph_mpi DEPENDS mpi graph)
+
+# any is there because of the dependency on boost/property_map/dynamic_property_map.hpp
diff --git a/libs/graph/src/CMakeLists.txt b/libs/graph/src/CMakeLists.txt
new file mode 100644
index 0000000..f290df8
--- /dev/null
+++ b/libs/graph/src/CMakeLists.txt
@@ -0,0 +1,38 @@
+# Copyright (C) 2008 Michael Jackson
+#
+# Use, modification and distribution is 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)
+
+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 "")
+
+if (EXPAT_FOUND)
+ colormsg(GREEN "+-- expat available, enabling the GraphML parser.")
+ # We have Expat, so build the GraphML parser
+ set(BOOST_GRAPH_OPTIONAL_SOURCES
+ ${BOOST_GRAPH_OPTIONAL_SOURCES} "graphml.cpp")
+ include_directories(${EXPAT_INCLUDE_DIRS})
+ list(APPEND BOOST_GRAPH_OPTIONAL_LIBRARIES ${EXPAT_LIBRARIES})
+endif (EXPAT_FOUND)
+
+boost_add_library(graph
+
+ read_graphviz_new.cpp
+ ${BOOST_GRAPH_OPTIONAL_SOURCES}
+
+ NO_STATIC
+ # don't build static, as there might not be a static regex
+ # if ICU is found. Fix this.
+ DEPENDS boost_regex
+ LINK_LIBS ${BOOST_GRAPH_OPTIONAL_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1"
+ )
+
diff --git a/libs/graph/test/CMakeLists.txt b/libs/graph/test/CMakeLists.txt
new file mode 100644
index 0000000..29e3e01
--- /dev/null
+++ b/libs/graph/test/CMakeLists.txt
@@ -0,0 +1,71 @@
+# Copyright (C) 2008 Michael Jackson
+#
+# Use, modification and distribution is 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)
+
+boost_additional_test_dependencies(graph BOOST_DEPENDS test assign)
+
+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 DEPENDS boost_graph SHARED)
+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 DEPENDS boost_graph SHARED)
+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(generator_test)
+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(mcgregor_subgraphs_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})
diff --git a/libs/graph_parallel/CMakeLists.txt b/libs/graph_parallel/CMakeLists.txt
new file mode 100644
index 0000000..e517ae4
--- /dev/null
+++ b/libs/graph_parallel/CMakeLists.txt
@@ -0,0 +1,25 @@
+# Copyright (C) 2008 The Trustees of Indiana University.
+#
+# Use, modification and distribution is 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)
+
+if (NOT MPI_FOUND)
+ message(STATUS "+-- MPI not found, disabling.")
+else()
+
+ boost_library_project(
+ graph_parallel
+ SRCDIRS src
+ TESTDIRS test example
+ # HEADERS graph graph/parallel
+ # DOCDIRS doc
+ DESCRIPTION "Parallel support using MPI for Boost.Graph."
+ AUTHORS "Douglas Gregor <doug.gregor -at- gmail.com>"
+ "Nicholas Edmonds <ngedmond -at- osl.iu.edu>"
+ "Jeremiah Willcock <jewillco -at- osl.iu.edu>"
+ "Andrew Lumsdaine"
+ # MAINTAINERS
+ )
+
+endif()
diff --git a/libs/graph_parallel/doc/CMakeLists.txt b/libs/graph_parallel/doc/CMakeLists.txt
new file mode 100644
index 0000000..5b804be
--- /dev/null
+++ b/libs/graph_parallel/doc/CMakeLists.txt
@@ -0,0 +1,70 @@
+# Copyright (C) 2008 The Trustees of Indiana University.
+#
+# Use, modification and distribution is 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)
+
+set(PBGL_DOCS
+ DistributedGraph
+ DistributedEdgeListGraph
+ DistributedVertexListGraph
+ GlobalDescriptor
+ boman_et_al_graph_coloring
+ breadth_first_search
+ connected_components
+ dehne_gotz_min_spanning_tree
+ dijkstra_example
+ dijkstra_shortest_paths
+ distributed_adjacency_list
+ distributed_property_map
+ distributed_queue
+ distributedS
+ index
+ local_subgraph
+ metis
+ overview
+ page_rank
+ process_group
+ mpi_bsp_process_group
+ simple_trigger
+ strong_components
+ tsin_depth_first_visit
+ vertex_list_adaptor
+ rmat_generator
+ sorted_rmat_generator
+ unique_rmat_generator
+ sorted_unique_rmat_generator
+ scalable_rmat_generator
+ mesh_generator
+ ssca_generator
+ fruchterman_reingold
+ st_connected
+ betweenness_centrality
+ connected_components_parallel_search
+ )
+
+set(PBGL_IMAGES
+ dijkstra_dist3_graph.png dijkstra_seq_graph.png vertex_coloring.png
+ architecture.png dist-adjlist.png dist-pmap.png distributed-graph.png
+ graph.png)
+
+set(PBGL_DOC_TARGETS)
+separate_arguments(RST2HTML_FLAGS)
+foreach(DOC ${PBGL_DOCS})
+ add_custom_command(OUTPUT "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html"
+ COMMAND "${RST2HTML}"
+ ARGS ${RST2HTML_FLAGS} "${PBGL_SOURCE_DIR}/libs/graph_parallel/doc/${DOC}.rst"
+ "${PBGL_BINARY_DIR}/libs/graph/doc/parallel/${DOC}.html"
+ COMMENT "Generating document ${DOC}.html..."
+ )
+ list(APPEND PBGL_DOC_TARGETS "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html")
+endforeach(DOC)
+
+add_custom_target(doc ALL
+ DEPENDS ${PBGL_DOC_TARGETS})
+
+install(FILES ${PBGL_DOC_TARGETS} ${PBGL_IMAGES}
+ DESTINATION "doc/pbgl-${PBGL_VERSION}"
+ COMPONENT "Documentation"
+ OPTIONAL
+ )
diff --git a/libs/graph_parallel/example/CMakeLists.txt b/libs/graph_parallel/example/CMakeLists.txt
new file mode 100644
index 0000000..c66244e
--- /dev/null
+++ b/libs/graph_parallel/example/CMakeLists.txt
@@ -0,0 +1,59 @@
+# Copyright (C) 2008 The Trustees of Indiana University.
+#
+# Use, modification and distribution is 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)
+
+if (MPI_FOUND)
+
+ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system)
+
+ include_directories(${MPI_INCLUDE_PATH})
+
+ macro(boost_graph_parallel_example testname)
+ PARSE_ARGUMENTS(MPI_EXAMPLE "NUMPROCS;ARGS" "" ${ARGN})
+
+ # Determine the example sources
+ if (MPI_EXAMPLE_DEFAULT_ARGS)
+ set(MPI_EXAMPLE_SOURCES ${MPI_EXAMPLE_DEFAULT_ARGS})
+ else (MPI_EXAMPLE_DEFAULT_ARGS)
+ set(MPI_EXAMPLE_SOURCES "${testname}.cpp")
+ endif (MPI_EXAMPLE_DEFAULT_ARGS)
+
+ set(THIS_EXAMPLE_LOCATION tests/${BOOST_PROJECT_NAME}/${testname})
+
+ # Build the example executable
+ boost_add_executable(${testname}
+ ${MPI_EXAMPLE_SOURCES}
+ OUTPUT_NAME ${THIS_EXAMPLE_LOCATION}
+ NO_INSTALL
+ DEPENDS boost_graph_parallel boost_system
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
+ LINK_LIBS ${MPI_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
+
+ if (BUILD_TESTING)
+
+ if (NOT MPI_EXAMPLE_NUMPROCS)
+ set(MPI_EXAMPLE_NUMPROCS ${MPIEXEC_MAX_NUMPROCS})
+ endif (NOT MPI_EXAMPLE_NUMPROCS)
+
+ foreach(PROCS ${MPI_EXAMPLE_NUMPROCS})
+ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}"
+ ${MPIEXEC}
+ -n ${PROCS}
+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_EXAMPLE_LOCATION}
+ ${MPI_EXAMPLE_ARGS}
+ ${BOOST_TEST_ARGS}
+ )
+ endforeach(PROCS)
+
+ endif(BUILD_TESTING)
+
+ endmacro(boost_graph_parallel_example)
+
+ boost_graph_parallel_example(breadth_first_search ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr)
+ boost_graph_parallel_example(dijkstra_shortest_paths ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr)
+
+endif (MPI_FOUND)
diff --git a/libs/graph_parallel/module.cmake b/libs/graph_parallel/module.cmake
new file mode 100644
index 0000000..8049b0f
--- /dev/null
+++ b/libs/graph_parallel/module.cmake
@@ -0,0 +1 @@
+boost_module(graph_parallel DEPENDS mpi graph)
diff --git a/libs/graph_parallel/src/CMakeLists.txt b/libs/graph_parallel/src/CMakeLists.txt
new file mode 100644
index 0000000..ffa8b30
--- /dev/null
+++ b/libs/graph_parallel/src/CMakeLists.txt
@@ -0,0 +1,22 @@
+# Copyright (C) 2008 The Trustees of Indiana University.
+#
+# Use, modification and distribution is 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)
+
+add_definitions(-DBOOST_GRAPH_NO_LIB=1)
+
+if (MSVC)
+ # Without these flags, MSVC 7.1 and 8.0 crash
+ add_definitions(-GR-)
+endif (MSVC)
+
+# Add Boost.MPI link and add parallel source files
+include_directories(${MPI_INCLUDE_PATH})
+
+boost_add_library(
+ graph_parallel
+ mpi_process_group.cpp tag_allocator.cpp
+ DEPENDS boost_mpi
+ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1"
+ )
diff --git a/libs/graph_parallel/test/CMakeLists.txt b/libs/graph_parallel/test/CMakeLists.txt
new file mode 100644
index 0000000..e149b47
--- /dev/null
+++ b/libs/graph_parallel/test/CMakeLists.txt
@@ -0,0 +1,121 @@
+# Copyright (C) 2008 The Trustees of Indiana University.
+#
+# Use, modification and distribution is 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)
+
+if (MPI_FOUND)
+
+ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system)
+
+ include_directories(${MPI_INCLUDE_PATH})
+
+ # Declare a test for the Boost.MPI library, which may involve both
+ # building the test and executing it with varying numbers of
+ # processes. Edited to become boost_graph_parallel_test, with a different
+ # default number of processors.
+ #
+ # boost_graph_parallel_test(testname
+ # [source1 source2 ...]
+ # [ARGS arg1 arg2 ...]
+ # [SCHEDULE procs1 procs2 ...]
+ #
+ # 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.
+ macro(boost_graph_parallel_test testname)
+ PARSE_ARGUMENTS(MPI_TEST "NUMPROCS;ARGS" "" ${ARGN})
+
+ # Determine the test sources
+ if (MPI_TEST_DEFAULT_ARGS)
+ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS})
+ else (MPI_TEST_DEFAULT_ARGS)
+ set(MPI_TEST_SOURCES "${testname}.cpp")
+ endif (MPI_TEST_DEFAULT_ARGS)
+
+ set(THIS_TEST_LOCATION tests/${BOOST_PROJECT_NAME}/${testname})
+
+ # Build the test executable
+ boost_add_executable(${testname}
+ ${MPI_TEST_SOURCES}
+ OUTPUT_NAME ${THIS_TEST_LOCATION}
+ NO_INSTALL
+ DEPENDS boost_graph_parallel boost_system
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
+ LINK_LIBS ${MPI_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
+
+ if (NOT MPI_TEST_NUMPROCS)
+ set(MPI_TEST_NUMPROCS ${MPIEXEC_MAX_NUMPROCS})
+ endif (NOT MPI_TEST_NUMPROCS)
+
+ foreach(PROCS ${MPI_TEST_NUMPROCS})
+ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}"
+ ${MPIEXEC}
+ -n ${PROCS}
+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_TEST_LOCATION}
+ ${MPI_TEST_ARGS}
+ ${BOOST_TEST_ARGS}
+ )
+ endforeach(PROCS)
+
+ endmacro(boost_graph_parallel_test)
+
+ boost_graph_parallel_test(distributed_property_map_test)
+ boost_graph_parallel_test(distributed_queue_test)
+ boost_graph_parallel_test(process_group_serialization)
+ boost_graph_parallel_test(adjlist_build_test)
+ boost_graph_parallel_test(adjlist_redist_test)
+ boost_graph_parallel_test(adjlist_remove_test NUMPROCS 2)
+ boost_graph_parallel_test(distributed_adjacency_list_test)
+ boost_graph_parallel_test(distributed_connected_components_test)
+ boost_graph_parallel_test(distributed_page_rank_test)
+ boost_graph_parallel_test(distributed_csr_test)
+ boost_graph_parallel_test(distributed_dfs_test)
+ boost_graph_parallel_test(distributed_graph_coloring_test)
+ boost_graph_parallel_test(distributed_mst_test)
+ boost_graph_parallel_test(distributed_strong_components_test)
+ boost_graph_parallel_test(hohberg_biconnected_components_test)
+ boost_graph_parallel_test(mesh_generator_test ARGS 1000 1000 1 0)
+ boost_graph_parallel_test(named_vertices_seq NUMPROCS 1)
+ boost_graph_parallel_test(distributed_shortest_paths_test)
+ boost_graph_parallel_test(distributed_csr_algorithm_test NUMPROCS 1)
+ boost_graph_parallel_test(distributed_betweenness_centrality_test)
+ boost_graph_parallel_test(distributed_dimacs_reader)
+ boost_graph_parallel_test(distributed_rmat_cc_ps)
+ boost_graph_parallel_test(distributed_rmat_cc)
+ boost_graph_parallel_test(distributed_rmat_pagerank)
+ boost_graph_parallel_test(distributed_st_connected_test)
+
+ boost_add_executable(ssca
+ ssca.cpp
+ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/ssca
+ NO_INSTALL
+ DEPENDS boost_graph_parallel boost_system
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
+ LINK_LIBS ${MPI_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
+
+ boost_add_executable(algorithm_performance
+ algorithm_performance.cpp
+ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/algorithm_performance
+ NO_INSTALL
+ DEPENDS boost_graph_parallel boost_system
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
+ LINK_LIBS ${MPI_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
+
+ if(NOT MSVC)
+ # Due to poor handling of partial ordering of class template partial
+ # specializations, we disable these features and tests on Visual C++.
+ # Tested with Visual C++ 9 (Microsoft Visual Studio 2008); earlier
+ # versions are no better.
+ boost_graph_parallel_test(named_vertices_test)
+ boost_graph_parallel_test(named_vertices_hash_test)
+ endif(NOT MSVC)
+
+endif(MPI_FOUND)
diff --git a/libs/icl/CMakeLists.txt b/libs/icl/CMakeLists.txt
new file mode 100644
index 0000000..a07079b
--- /dev/null
+++ b/libs/icl/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ icl
+)
+
+# Add a library target to the build system
+boost_library_project(
+ icl
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Interval Container Library Reference"
+ MODULARIZED
+ AUTHORS "Joachim Faulhaber <>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/icl/module.cmake b/libs/icl/module.cmake
new file mode 100644
index 0000000..3b66616
--- /dev/null
+++ b/libs/icl/module.cmake
@@ -0,0 +1 @@
+boost_module(icl DEPENDS ptr_container)
diff --git a/libs/icl/test/CMakeLists.txt b/libs/icl/test/CMakeLists.txt
new file mode 100644
index 0000000..bf50a87
--- /dev/null
+++ b/libs/icl/test/CMakeLists.txt
@@ -0,0 +1,41 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(icl BOOST_DEPENDS test date_time)
+
+SET(TESTS
+ fastest_icl_interval_/fastest_icl_interval
+ fastest_interval_set_/fastest_interval_set
+ fastest_interval_set_infix_/fastest_interval_set_infix
+ fastest_separate_interval_set_/fastest_separate_interval_set
+ fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix
+ fastest_split_interval_set_/fastest_split_interval_set
+ fastest_split_interval_set_infix_/fastest_split_interval_set_infix
+ fastest_interval_set_mixed_/fastest_interval_set_mixed
+ fastest_interval_map_/fastest_interval_map
+ fastest_interval_map_infix_/fastest_interval_map_infix
+ fastest_split_interval_map_/fastest_split_interval_map
+ fastest_split_interval_map_infix_/fastest_split_interval_map_infix
+ fastest_interval_map_mixed_/fastest_interval_map_mixed
+ fastest_interval_map_mixed2_/fastest_interval_map_mixed2
+ fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed
+ fastest_icl_map_/fastest_icl_map
+ fastest_set_interval_set_/fastest_set_interval_set
+ fastest_set_icl_set_/fastest_set_icl_set
+ fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier
+ fastest_total_interval_quantifier_/fastest_total_interval_quantifier
+ fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier
+ fastest_total_icl_quantifier_/fastest_total_icl_quantifier
+ test_misc_/test_misc
+ test_doc_code_/test_doc_code
+ test_type_traits_/test_type_traits
+ test_changing_interval_defaults_/test_changing_interval_defaults)
+
+FOREACH(test ${TESTS})
+ boost_test_run(${test} DEPENDS boost_unit_test_framework boost_date_time)
+ENDFOREACH(test ${TESTS})
+
+
diff --git a/libs/integer/CMakeLists.txt b/libs/integer/CMakeLists.txt
new file mode 100644
index 0000000..c952ed0
--- /dev/null
+++ b/libs/integer/CMakeLists.txt
@@ -0,0 +1,31 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ integer.hpp
+ integer_fwd.hpp
+ integer_traits.hpp
+ integer
+)
+
+# Add a library target to the build system
+boost_library_project(
+ integer
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "The organization of boost integer headers and classes is designed to take advantage of <stdint.h> types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header <boost/cstdint.hpp> makes the standard integer types safely available in namespace boost without placing any names in namespace std."
+ MODULARIZED
+ AUTHORS "Beman Dawes <bdawes -at- acm.org>"
+ "Daryle Walker <darylew -at- hotmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/integer/module.cmake b/libs/integer/module.cmake
new file mode 100644
index 0000000..d0c4293
--- /dev/null
+++ b/libs/integer/module.cmake
@@ -0,0 +1 @@
+boost_module(integer DEPENDS utility)
\ No newline at end of file
diff --git a/libs/integer/test/CMakeLists.txt b/libs/integer/test/CMakeLists.txt
new file mode 100644
index 0000000..acc48e6
--- /dev/null
+++ b/libs/integer/test/CMakeLists.txt
@@ -0,0 +1,14 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(integer BOOST_DEPENDS test)
+
+boost_test_run(cstdint_test cstdint_test.cpp)
+boost_test_run(integer_mask_test integer_mask_test.cpp DEPENDS boost_test_exec_monitor)
+boost_test_run(integer_test integer_test.cpp DEPENDS boost_test_exec_monitor)
+boost_test_run(integer_traits_test integer_traits_test.cpp DEPENDS boost_test_exec_monitor)
+boost_test_run(static_log2_test static_log2_test.cpp DEPENDS boost_test_exec_monitor)
+boost_test_run(static_min_max_test static_min_max_test.cpp DEPENDS boost_test_exec_monitor)
diff --git a/libs/interprocess/CMakeLists.txt b/libs/interprocess/CMakeLists.txt
new file mode 100644
index 0000000..5a2b185
--- /dev/null
+++ b/libs/interprocess/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ interprocess
+)
+
+# Add a library target to the build system
+boost_library_project(
+ interprocess
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators."
+ MODULARIZED
+ AUTHORS "Ion Gaztanaga <igaztanaga -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/interprocess/module.cmake b/libs/interprocess/module.cmake
new file mode 100644
index 0000000..408603f
--- /dev/null
+++ b/libs/interprocess/module.cmake
@@ -0,0 +1 @@
+boost_module(interprocess DEPENDS date_time intrusive math)
\ No newline at end of file
diff --git a/libs/interprocess/test/CMakeLists.txt b/libs/interprocess/test/CMakeLists.txt
new file mode 100644
index 0000000..2435e03
--- /dev/null
+++ b/libs/interprocess/test/CMakeLists.txt
@@ -0,0 +1,14 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(interprocess BOOST_DEPENDS test thread date_time multi_index)
+
+
+file(GLOB INTERPROCESS_TESTS *.cpp)
+foreach(TEST ${INTERPROCESS_TESTS})
+ get_filename_component(TEST ${TEST} NAME_WE)
+ boost_test_run(${TEST} DEPENDS boost_thread MULTI_THREADED)
+endforeach()
\ No newline at end of file
diff --git a/libs/intrusive/CMakeLists.txt b/libs/intrusive/CMakeLists.txt
new file mode 100644
index 0000000..3169cb1
--- /dev/null
+++ b/libs/intrusive/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ intrusive_ptr.hpp
+ intrusive
+)
+
+# Add a library target to the build system
+boost_library_project(
+ intrusive
+ # SRCDIRS
+ # TESTDIRS
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/intrusive/module.cmake b/libs/intrusive/module.cmake
new file mode 100644
index 0000000..edc114f
--- /dev/null
+++ b/libs/intrusive/module.cmake
@@ -0,0 +1 @@
+boost_module(intrusive DEPENDS utility)
\ No newline at end of file
diff --git a/libs/io/CMakeLists.txt b/libs/io/CMakeLists.txt
new file mode 100644
index 0000000..a2d73a2
--- /dev/null
+++ b/libs/io/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ io_fwd.hpp
+ io
+)
+
+# Add a library target to the build system
+boost_library_project(
+ io
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/io/module.cmake b/libs/io/module.cmake
new file mode 100644
index 0000000..fd1d4d9
--- /dev/null
+++ b/libs/io/module.cmake
@@ -0,0 +1 @@
+boost_module(io DEPENDS detail)
\ No newline at end of file
diff --git a/libs/io/test/CMakeLists.txt b/libs/io/test/CMakeLists.txt
new file mode 100644
index 0000000..2f1cf09
--- /dev/null
+++ b/libs/io/test/CMakeLists.txt
@@ -0,0 +1,12 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(io BOOST_DEPENDS test)
+
+
+boost_test_run(ios_state_unit_test DEPENDS boost_unit_test_framework)
+boost_test_run(ios_state_test DEPENDS boost_test_exec_monitor)
+
diff --git a/libs/iostreams/CMakeLists.txt b/libs/iostreams/CMakeLists.txt
new file mode 100644
index 0000000..657f074
--- /dev/null
+++ b/libs/iostreams/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ iostreams
+)
+
+# Add a library target to the build system
+boost_library_project(
+ iostreams
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Framework for defining streams, stream buffers and i/o filters"
+ MODULARIZED
+ AUTHORS "Jonathan Turkanis <turkanis -at- coderage.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/iostreams/example/CMakeLists.txt b/libs/iostreams/example/CMakeLists.txt
new file mode 100644
index 0000000..7b154d2
--- /dev/null
+++ b/libs/iostreams/example/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Copyright (C) 2009 Troy D. Straszheim
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt
+boost_add_executable(boost_back_inserter_example DEPENDS boost_iostreams)
+boost_add_executable(container_device_example )
+boost_add_executable(container_sink_example )
+boost_add_executable(container_source_example )
+boost_add_executable(iterator_range_example )
+boost_add_executable(std_back_inserter_example )
diff --git a/libs/iostreams/module.cmake b/libs/iostreams/module.cmake
new file mode 100644
index 0000000..fae407a
--- /dev/null
+++ b/libs/iostreams/module.cmake
@@ -0,0 +1 @@
+boost_module(iostreams DEPENDS range random)
diff --git a/libs/iostreams/src/CMakeLists.txt b/libs/iostreams/src/CMakeLists.txt
new file mode 100644
index 0000000..4b4e473
--- /dev/null
+++ b/libs/iostreams/src/CMakeLists.txt
@@ -0,0 +1,36 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+set(BOOST_IOSTREAMS_EXTRA_SOURCES)
+set(BOOST_IOSTREAMS_LIBRARIES)
+
+#
+# These finds are done upstairs in libs/iostreams/CMakeLists.txt
+#
+if (ZLIB_FOUND)
+ include_directories(${ZLIB_INCLUDE_DIR})
+ set(ZLIB_EXTRA_SOURCES zlib.cpp gzip.cpp)
+ set(ZLIB_EXTRA_LIBRARIES ${ZLIB_LIBRARIES})
+endif(ZLIB_FOUND)
+
+if (BZIP2_FOUND)
+ include_directories(${BZIP2_INCLUDE_DIR})
+ add_definitions(${BZIP2_DEFINITIONS})
+ set(BZIP2_EXTRA_SOURCES bzip2.cpp)
+ set(BZIP2_EXTRA_LIBRARIES ${BZIP2_LIBRARIES})
+ # NOTE: What to do about BZIP2_NEED_PREFIX?
+endif(BZIP2_FOUND)
+
+boost_add_library(iostreams
+
+ file_descriptor.cpp
+ mapped_file.cpp
+ ${ZLIB_EXTRA_SOURCES}
+ ${BZIP2_EXTRA_SOURCES}
+
+ LINK_LIBS ${ZLIB_EXTRA_LIBRARIES} ${BZIP2_EXTRA_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_IOSTREAMS_DYN_LINK=1"
+ )
diff --git a/libs/iostreams/test/CMakeLists.txt b/libs/iostreams/test/CMakeLists.txt
new file mode 100644
index 0000000..fc166a6
--- /dev/null
+++ b/libs/iostreams/test/CMakeLists.txt
@@ -0,0 +1,69 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(iostreams BOOST_DEPENDS test)
+
+
+# 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)
+
+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
+if (BZIP2_FOUND)
+ boost_test_run(bzip2_test
+ DEPENDS boost_unit_test_framework boost_iostreams
+ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB")
+endif(BZIP2_FOUND)
diff --git a/libs/iterator/CMakeLists.txt b/libs/iterator/CMakeLists.txt
new file mode 100644
index 0000000..bd83261
--- /dev/null
+++ b/libs/iterator/CMakeLists.txt
@@ -0,0 +1,30 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ iterator.hpp
+ iterator
+)
+
+# Add a library target to the build system
+boost_library_project(
+ iterator
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A system of concepts which extend the C++ standard iterator requirementsand a framework of components for building iterators based on these extended concepts and includes several useful iterator adaptors."
+ MODULARIZED
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
+ "Jeremy Siek <jeremy.siek -at- gmail.com>"
+ "Thomas Witt <witt - at - acm.org>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/iterator/module.cmake b/libs/iterator/module.cmake
new file mode 100644
index 0000000..2e025e3
--- /dev/null
+++ b/libs/iterator/module.cmake
@@ -0,0 +1 @@
+boost_module(iterator DEPENDS mpl type_traits function concept_check)
\ No newline at end of file
diff --git a/libs/iterator/test/CMakeLists.txt b/libs/iterator/test/CMakeLists.txt
new file mode 100644
index 0000000..1b0c5be
--- /dev/null
+++ b/libs/iterator/test/CMakeLists.txt
@@ -0,0 +1,39 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(iterator BOOST_DEPENDS test tuple smart_ptr)
+
+# 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)
diff --git a/libs/lambda/CMakeLists.txt b/libs/lambda/CMakeLists.txt
new file mode 100644
index 0000000..e5c6f1a
--- /dev/null
+++ b/libs/lambda/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ lambda
+)
+
+# Add a library target to the build system
+boost_library_project(
+ lambda
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/lambda/module.cmake b/libs/lambda/module.cmake
new file mode 100644
index 0000000..9f7a073
--- /dev/null
+++ b/libs/lambda/module.cmake
@@ -0,0 +1 @@
+boost_module(lambda DEPENDS tuple)
\ No newline at end of file
diff --git a/libs/lambda/test/CMakeLists.txt b/libs/lambda/test/CMakeLists.txt
new file mode 100644
index 0000000..4f9a74f
--- /dev/null
+++ b/libs/lambda/test/CMakeLists.txt
@@ -0,0 +1,24 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(lambda BOOST_DEPENDS test any)
+
+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)
diff --git a/libs/locale/CMakeLists.txt b/libs/locale/CMakeLists.txt
new file mode 100644
index 0000000..668d0cc
--- /dev/null
+++ b/libs/locale/CMakeLists.txt
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ locale.hpp
+ locale
+)
+
+# Add a library target to the build system
+boost_library_project (
+ locale
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Provide localization and Unicode handling tools for C++."
+ MODULARIZED
+ AUTHORS "Vicente J. Botet Escribá <vicente.botet - at - wanadoo.fr>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/locale/module.cmake b/libs/locale/module.cmake
new file mode 100644
index 0000000..16740be
--- /dev/null
+++ b/libs/locale/module.cmake
@@ -0,0 +1 @@
+boost_module (locale DEPENDS thread)
diff --git a/libs/locale/src/CMakeLists.txt b/libs/locale/src/CMakeLists.txt
new file mode 100644
index 0000000..7732199
--- /dev/null
+++ b/libs/locale/src/CMakeLists.txt
@@ -0,0 +1,46 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+set (BOOST_LOCALE_ICU_LIBRARIES)
+
+if (ICU_FOUND AND ICU_I18N_FOUND)
+ add_definitions (-DBOOST_HAS_ICU=1 -DBOOST_LOCALE_WITH_ICU=1)
+ include_directories (${ICU_INCLUDE_DIRS})
+ set (BOOST_LOCALE_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+ colormsg (GREEN "+-- ICU (unicode) available for locale, enabling support.")
+ set (NO_STATIC_IF_ICU_FOUND "NO_STATIC")
+else (ICU_FOUND AND ICU_I18N_FOUND)
+ colormsg (CYAN "+-- ICU (unicode) not available for locale, disabling support.")
+endif (ICU_FOUND AND ICU_I18N_FOUND)
+
+if (WIN32)
+ add_definitions (-DBOOST_LOCALE_NO_POSIX_BACKEND=1)
+ set (WIN32_SOURCES win32/collate.cpp win32/converter.cpp win32/lcid.cpp
+ win32/numeric.cpp win32/win_backend.cpp std/codecvt.cpp std/collate.cpp
+ std/converter.cpp std/numeric.cpp std/std_backend.cpp util/gregorian.cpp)
+endif (WIN32)
+
+add_definitions (-DBOOST_THREAD_NO_LIB=1)
+boost_add_library (
+ locale
+ encoding/codepage.cpp
+ shared/date_time.cpp
+ shared/format.cpp
+ shared/formatting.cpp
+ shared/generator.cpp
+ shared/ids.cpp
+ shared/localization_backend.cpp
+ shared/message.cpp
+ shared/mo_lambda.cpp
+ ${WIN32_SOURCES}
+ util/codecvt_converter.cpp
+ util/default_locale.cpp
+ util/info.cpp
+ util/locale_data.cpp
+
+ LINK_LIBS ${BOOST_LOCALE_ICU_LIBRARIES}
+ SHARED_COMPILE_FLAGS -DBOOST_LOCALE_DYN_LINK=1
+ ${NO_STATIC_IF_ICU_FOUND}
+)
+
diff --git a/libs/locale/test/CMakeLists.txt b/libs/locale/test/CMakeLists.txt
new file mode 100644
index 0000000..40546db
--- /dev/null
+++ b/libs/locale/test/CMakeLists.txt
@@ -0,0 +1,60 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (locale BOOST_DEPENDS test)
+
+set (LOCALE_LIBRARIES
+ boost_locale
+ boost_test_exec_monitor)
+
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "")
+if (NOT BUILD_SINGLE_THREADED)
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt")
+endif (NOT BUILD_SINGLE_THREADED)
+
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static")
+if (NOT BUILD_RELEASE)
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug")
+endif (NOT BUILD_RELEASE)
+
+#
+macro (locale_test_run TESTNAME)
+ boost_test_run (${TESTNAME}
+ STATIC
+ DEPENDS boost_locale boost_test_exec_monitor )
+ boost_test_run ("${TESTNAME}_dll"
+ ${TESTNAME}.cpp
+ SHARED
+ DEPENDS boost_locale
+ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}")
+endmacro (locale_test_run)
+
+#
+set (TESTS
+ test_config.cpp
+ test_utf.cpp
+ test_date_time.cpp
+ test_ios_prop.cpp
+ test_codepage_converter.cpp
+ test_codepage.cpp
+ test_message.cpp
+ test_generator.cpp
+ test_collate.cpp
+ test_convert.cpp
+ test_boundary.cpp
+ test_formatting.cpp
+ test_icu_vs_os_timezone.cpp
+ test_winapi_collate.cpp
+ test_winapi_convert.cpp
+ test_winapi_formatting.cpp
+ test_posix_collate.cpp
+ test_posix_convert.cpp
+ test_posix_formatting.cpp
+ test_std_collate.cpp
+ test_std_convert.cpp
+ test_std_formatting.cpp
+ )
+
+#
+locale_test_(run_timer_test)
diff --git a/libs/logic/CMakeLists.txt b/libs/logic/CMakeLists.txt
new file mode 100644
index 0000000..da915e5
--- /dev/null
+++ b/libs/logic/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ logic
+)
+
+# Add a library target to the build system
+boost_library_project(
+ logic
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/logic/module.cmake b/libs/logic/module.cmake
new file mode 100644
index 0000000..4b1423f
--- /dev/null
+++ b/libs/logic/module.cmake
@@ -0,0 +1,3 @@
+boost_module(logic DEPENDS config detail)
+
+
diff --git a/libs/logic/test/CMakeLists.txt b/libs/logic/test/CMakeLists.txt
new file mode 100644
index 0000000..7684320
--- /dev/null
+++ b/libs/logic/test/CMakeLists.txt
@@ -0,0 +1,12 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(logic BOOST_DEPENDS test)
+
+
+boost_test_run(tribool_test)
+boost_test_run(tribool_rename_test)
+boost_test_run(tribool_io_test)
diff --git a/libs/math/CMakeLists.txt b/libs/math/CMakeLists.txt
new file mode 100644
index 0000000..84080d5
--- /dev/null
+++ b/libs/math/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ math_fwd.hpp
+ math
+)
+
+# Add a library target to the build system
+boost_library_project(
+ math
+ SRCDIRS src/tr1
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/math/config/CMakeLists.txt b/libs/math/config/CMakeLists.txt
new file mode 100644
index 0000000..80921b3
--- /dev/null
+++ b/libs/math/config/CMakeLists.txt
@@ -0,0 +1,3 @@
+project(has_long_double_support CXX)
+add_executable(has_long_double_support has_long_double_support.cpp)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
diff --git a/libs/math/module.cmake b/libs/math/module.cmake
new file mode 100644
index 0000000..e222098
--- /dev/null
+++ b/libs/math/module.cmake
@@ -0,0 +1 @@
+boost_module(math DEPENDS format array)
\ No newline at end of file
diff --git a/libs/math/src/tr1/CMakeLists.txt b/libs/math/src/tr1/CMakeLists.txt
new file mode 100644
index 0000000..e5400bc
--- /dev/null
+++ b/libs/math/src/tr1/CMakeLists.txt
@@ -0,0 +1,85 @@
+boost_add_library(math_tr1
+
+ assoc_laguerre.cpp assoc_legendre.cpp beta.cpp
+ comp_ellint_1.cpp comp_ellint_2.cpp comp_ellint_3.cpp
+ cyl_bessel_i.cpp cyl_bessel_j.cpp cyl_bessel_k.cpp
+ cyl_neumann.cpp ellint_1.cpp ellint_2.cpp ellint_3.cpp
+ expint.cpp hermite.cpp laguerre.cpp legendre.cpp
+ riemann_zeta.cpp sph_bessel.cpp sph_legendre.cpp
+ sph_neumann.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
+ COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
+)
+
+boost_add_library(math_tr1f
+
+ assoc_laguerref.cpp assoc_legendref.cpp betaf.cpp
+ comp_ellint_1f.cpp comp_ellint_2f.cpp comp_ellint_3f.cpp
+ cyl_bessel_if.cpp cyl_bessel_jf.cpp cyl_bessel_kf.cpp
+ cyl_neumannf.cpp ellint_1f.cpp ellint_2f.cpp ellint_3f.cpp
+ expintf.cpp hermitef.cpp laguerref.cpp legendref.cpp
+ riemann_zetaf.cpp sph_besself.cpp sph_legendref.cpp
+ sph_neumannf.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
+ COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
+)
+
+boost_add_library(math_c99
+
+ acosh.cpp asinh.cpp atanh.cpp cbrt.cpp copysign.cpp erfc.cpp
+ erf.cpp expm1.cpp fmax.cpp fmin.cpp fpclassify.cpp hypot.cpp
+ lgamma.cpp llround.cpp log1p.cpp lround.cpp nextafter.cpp
+ nexttoward.cpp round.cpp tgamma.cpp trunc.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
+ COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
+)
+
+boost_add_library(math_c99f
+
+ acoshf.cpp asinhf.cpp atanhf.cpp cbrtf.cpp copysignf.cpp
+ erfcf.cpp erff.cpp expm1f.cpp fmaxf.cpp fminf.cpp
+ fpclassifyf.cpp hypotf.cpp lgammaf.cpp llroundf.cpp log1pf.cpp
+ lroundf.cpp nextafterf.cpp nexttowardf.cpp roundf.cpp
+ tgammaf.cpp truncf.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
+ COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
+)
+
+try_compile(HAS_LONG_DOUBLE_SUPPORT
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../config/
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../config/
+ has_long_double_support)
+
+IF (HAS_LONG_DOUBLE_SUPPORT)
+ boost_add_library(math_tr1l
+
+ assoc_laguerrel.cpp assoc_legendrel.cpp betal.cpp
+ comp_ellint_1l.cpp comp_ellint_2l.cpp comp_ellint_3l.cpp
+ cyl_bessel_il.cpp cyl_bessel_jl.cpp cyl_bessel_kl.cpp
+ cyl_neumannl.cpp ellint_1l.cpp ellint_2l.cpp ellint_3l.cpp
+ expintl.cpp hermitel.cpp laguerrel.cpp legendrel.cpp
+ riemann_zetal.cpp sph_bessell.cpp sph_legendrel.cpp
+ sph_neumannl.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
+ COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
+ )
+
+ boost_add_library(math_c99l
+
+ acoshl.cpp asinhl.cpp atanhl.cpp cbrtl.cpp copysignl.cpp
+ erfcl.cpp erfl.cpp expm1l.cpp fmaxl.cpp fminl.cpp
+ fpclassifyl.cpp hypotl.cpp lgammal.cpp llroundl.cpp log1pl.cpp
+ lroundl.cpp nextafterl.cpp nexttowardl.cpp roundl.cpp
+ tgammal.cpp truncl.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
+ COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
+ )
+ELSE ()
+ colormsg(RED "+-- long double not supported, skipping math_*l libraries.")
+ENDIF ()
diff --git a/libs/math/test/CMakeLists.txt b/libs/math/test/CMakeLists.txt
new file mode 100644
index 0000000..88f26b7
--- /dev/null
+++ b/libs/math/test/CMakeLists.txt
@@ -0,0 +1,33 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(math BOOST_DEPENDS test regex)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+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)
+foreach(mathtest
+
+ complex_test
+ hypot_test
+ )
+
+ boost_test_run(${mathtest} DEPENDS boost_test_exec_monitor)
+endforeach()
+
diff --git a/libs/move/CMakeLists.txt b/libs/move/CMakeLists.txt
new file mode 100644
index 0000000..e682d31
--- /dev/null
+++ b/libs/move/CMakeLists.txt
@@ -0,0 +1,22 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ move
+)
+
+# Add a library target to the build system
+boost_library_project (move
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Portable move semantics for C++03 and C++11 compilers."
+ MODULARIZED
+ AUTHORS "Ion Gaztañaga <igaztanaga - at - gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/move/module.cmake b/libs/move/module.cmake
new file mode 100644
index 0000000..2be0f4c
--- /dev/null
+++ b/libs/move/module.cmake
@@ -0,0 +1 @@
+boost_module (move)
\ No newline at end of file
diff --git a/libs/move/test/CMakeLists.txt b/libs/move/test/CMakeLists.txt
new file mode 100644
index 0000000..00df6af
--- /dev/null
+++ b/libs/move/test/CMakeLists.txt
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (move BOOST_DEPENDS test)
+
+#
+set (TESTS
+ doc_clone_ptr
+ doc_construct_forward
+ doc_file_descriptor
+ doc_how_works
+ doc_move_algorithms
+ doc_move_inserter
+ doc_move_iterator
+)
+
+foreach (_test ${TESTS})
+ boost_test_run (${_test} DEPENDS boost_unit_test_framework)
+endforeach (_test ${TESTS})
+
+if (WIN32)
+ message ("Need to turn on iterator debugging")
+endif (WIN32)
diff --git a/libs/mpi/CMakeLists.txt b/libs/mpi/CMakeLists.txt
new file mode 100644
index 0000000..21e408e
--- /dev/null
+++ b/libs/mpi/CMakeLists.txt
@@ -0,0 +1,31 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ mpi.hpp
+ mpi
+)
+
+if (NOT MPI_FOUND)
+ colormsg(RED "+-- MPI not found, disabling.")
+else()
+
+ boost_library_project(
+ mpi
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+ )
+
+endif()
diff --git a/libs/mpi/doc/CMakeLists.txt b/libs/mpi/doc/CMakeLists.txt
new file mode 100644
index 0000000..22053b4
--- /dev/null
+++ b/libs/mpi/doc/CMakeLists.txt
@@ -0,0 +1,36 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_documentation(mpi.qbk
+ HEADERS mpi_autodoc.xml
+ boost/mpi.hpp
+ boost/mpi/allocator.hpp
+ boost/mpi/collectives.hpp
+ boost/mpi/collectives_fwd.hpp
+ boost/mpi/communicator.hpp
+ boost/mpi/config.hpp
+ boost/mpi/datatype.hpp
+ boost/mpi/datatype_fwd.hpp
+ boost/mpi/environment.hpp
+ boost/mpi/exception.hpp
+ boost/mpi/graph_communicator.hpp
+ boost/mpi/group.hpp
+ boost/mpi/intercommunicator.hpp
+ boost/mpi/nonblocking.hpp
+ boost/mpi/operations.hpp
+ boost/mpi/packed_iarchive.hpp
+ boost/mpi/packed_oarchive.hpp
+ boost/mpi/skeleton_and_content.hpp
+ boost/mpi/skeleton_and_content_fwd.hpp
+ boost/mpi/status.hpp
+ boost/mpi/request.hpp
+ boost/mpi/timer.hpp
+ boost/mpi/python.hpp
+ DOXYGEN_PARAMETERS
+ MACRO_EXPANSION=YES
+ EXPAND_ONLY_PREDEF=YES
+ "PREDEFINED=BOOST_MPI_HAS_MEMORY_ALLOCATION= BOOST_MPI_HAS_NOARG_INITIALIZATION= MPI_VERSION=2 BOOST_MPI_DOXYGEN="
+ )
\ No newline at end of file
diff --git a/libs/mpi/module.cmake b/libs/mpi/module.cmake
new file mode 100644
index 0000000..20350fa
--- /dev/null
+++ b/libs/mpi/module.cmake
@@ -0,0 +1 @@
+boost_module(mpi DEPENDS graph)
\ No newline at end of file
diff --git a/libs/mpi/src/CMakeLists.txt b/libs/mpi/src/CMakeLists.txt
new file mode 100644
index 0000000..fe5ea87
--- /dev/null
+++ b/libs/mpi/src/CMakeLists.txt
@@ -0,0 +1,77 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+add_definitions(-DBOOST_MPI_SOURCE=1)
+include_directories(${MPI_INCLUDE_PATH})
+
+boost_add_library(
+ mpi
+ broadcast.cpp
+ communicator.cpp
+ computation_tree.cpp
+ content_oarchive.cpp
+ environment.cpp
+ exception.cpp
+ graph_communicator.cpp
+ group.cpp
+ intercommunicator.cpp
+ mpi_datatype_cache.cpp
+ mpi_datatype_oarchive.cpp
+ packed_iarchive.cpp
+ packed_oarchive.cpp
+ packed_skeleton_iarchive.cpp
+ packed_skeleton_oarchive.cpp
+ point_to_point.cpp
+ request.cpp
+ text_skeleton_oarchive.cpp
+ timer.cpp
+ DEPENDS boost_serialization
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
+ LINK_LIBS ${MPI_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1"
+ )
+
+if(PYTHON_FOUND)
+
+ colormsg (GREEN "+-- Python available, enabling boost_mpi_python.")
+ include_directories(${PYTHON_INCLUDE_PATH})
+
+ boost_add_library(mpi_python
+
+ python/serialize.cpp
+
+ DEPENDS boost_python boost_mpi
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1"
+ LINK_FLAGS ${MPI_LINK_FLAGS}
+ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES}
+ NO_STATIC)
+
+ boost_python_extension(mpi
+
+ python/collectives.cpp
+ python/py_communicator.cpp
+ python/datatypes.cpp
+ python/documentation.cpp
+ python/py_environment.cpp
+ python/py_nonblocking.cpp
+ python/py_exception.cpp
+ python/module.cpp
+ python/py_request.cpp
+ python/skeleton_and_content.cpp
+ python/status.cpp
+ python/py_timer.cpp
+
+ DEPENDS boost_python boost_mpi
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1"
+ LINK_FLAGS ${MPI_LINK_FLAGS}
+ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES})
+
+else()
+ colormsg(RED "+-- optional python bindings disabled since PYTHON_FOUND is false.")
+endif()
+
diff --git a/libs/mpi/test/CMakeLists.txt b/libs/mpi/test/CMakeLists.txt
new file mode 100644
index 0000000..5ff2b9a
--- /dev/null
+++ b/libs/mpi/test/CMakeLists.txt
@@ -0,0 +1,77 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+if (MPI_FOUND)
+message(STATUS "MPI Found")
+
+boost_additional_test_dependencies(mpi BOOST_DEPENDS test )
+
+include_directories(${MPI_INCLUDE_PATH})
+
+# Declare a test for the Boost.MPI library, which may involve both
+# building the test and executing it with varying numbers of
+# processes.
+#
+# boost_mpi_test(testname
+# [source1 source2 ...]
+# [ARGS arg1 arg2 ...]
+# [SCHEDULE procs1 procs2 ...]
+#
+# 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.
+macro(boost_mpi_test testname)
+ PARSE_ARGUMENTS(MPI_TEST "SCHEDULE;ARGS" "" ${ARGN})
+
+ # Determine the test sources
+ if (MPI_TEST_DEFAULT_ARGS)
+ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS})
+ else (MPI_TEST_DEFAULT_ARGS)
+ set(MPI_TEST_SOURCES "${testname}.cpp")
+ endif (MPI_TEST_DEFAULT_ARGS)
+
+ # Build the test executable
+ boost_add_executable(${testname}
+ ${MPI_TEST_SOURCES}
+ OUTPUT_NAME tests/${PROJECT_NAME}/${testname}
+ NO_INSTALL
+ DEPENDS boost_mpi
+ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}"
+ LINK_FLAGS "${MPI_LINK_FLAGS}"
+ LINK_LIBS ${MPI_LIBRARIES}
+ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1")
+ if (THIS_EXE_OKAY)
+ if (NOT MPI_TEST_SCHEDULE)
+ set(MPI_TEST_SCHEDULE 1 2 3 4 7 8 13 17)
+ endif (NOT MPI_TEST_SCHEDULE)
+
+ foreach(PROCS ${MPI_TEST_SCHEDULE})
+ add_test("${PROJECT_NAME}::${testname}-${PROCS}"
+ ${MPIEXEC}
+ -n ${PROCS}
+ ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname}
+ ${BOOST_TEST_ARGS}
+ )
+ endforeach(PROCS)
+ endif (THIS_EXE_OKAY)
+endmacro(boost_mpi_test)
+
+boost_mpi_test(all_gather_test)
+boost_mpi_test(all_reduce_test)
+boost_mpi_test(all_to_all_test)
+boost_mpi_test(broadcast_test SCHEDULE 2 17)
+boost_mpi_test(graph_topology_test SCHEDULE 2 7 13)
+boost_mpi_test(is_mpi_op_test SCHEDULE 1)
+boost_mpi_test(nonblocking_test)
+boost_mpi_test(reduce_test)
+boost_mpi_test(ring_test SCHEDULE 2 3 4 7 8 13 17)
+boost_mpi_test(scan_test)
+boost_mpi_test(scatter_test)
+boost_mpi_test(skeleton_content_test SCHEDULE 2 3 4 7 8 13 17)
+
+
+endif (MPI_FOUND)
\ No newline at end of file
diff --git a/libs/mpl/CMakeLists.txt b/libs/mpl/CMakeLists.txt
new file mode 100644
index 0000000..ea43e88
--- /dev/null
+++ b/libs/mpl/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ mpl
+)
+
+# Add a library target to the build system
+boost_library_project(
+ mpl
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language."
+ MODULARIZED
+ AUTHORS "Aleksey Gurtovoy <agurtovoy -at- meta-comm.com>"
+ "David Abrahams <dave -at- boostpro.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/mpl/module.cmake b/libs/mpl/module.cmake
new file mode 100644
index 0000000..afa88fd
--- /dev/null
+++ b/libs/mpl/module.cmake
@@ -0,0 +1 @@
+boost_module(mpl DEPENDS preprocessor config detail)
\ No newline at end of file
diff --git a/libs/mpl/test/CMakeLists.txt b/libs/mpl/test/CMakeLists.txt
new file mode 100644
index 0000000..e8b182b
--- /dev/null
+++ b/libs/mpl/test/CMakeLists.txt
@@ -0,0 +1,97 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(mpl BOOST_DEPENDS test bind)
+
+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)
diff --git a/libs/msm/CMakeLists.txt b/libs/msm/CMakeLists.txt
new file mode 100644
index 0000000..456588c
--- /dev/null
+++ b/libs/msm/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ msm
+)
+
+# Add a library target to the build system
+boost_library_project(
+ msm
+ # SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Meta State Machine (MSM)."
+ MODULARIZED
+ AUTHORS "Christophe Henry <christophe.j.henry -at- googlemail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/msm/module.cmake b/libs/msm/module.cmake
new file mode 100644
index 0000000..01c64ff
--- /dev/null
+++ b/libs/msm/module.cmake
@@ -0,0 +1 @@
+boost_module(msm DEPENDS smart_ptr)
\ No newline at end of file
diff --git a/libs/msm/test/CMakeLists.txt b/libs/msm/test/CMakeLists.txt
new file mode 100644
index 0000000..e2c46b1
--- /dev/null
+++ b/libs/msm/test/CMakeLists.txt
@@ -0,0 +1,25 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(msm BOOST_DEPENDS test)
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_MSM_STATIC_LINK
+
+SET(TESTS
+ Anonymous AnonymousEuml
+ CompositeEuml CompositeMachine Constructor
+ Entries History
+ OrthogonalDeferred OrthogonalDeferred2 OrthogonalDeferredEuml
+ SimpleEuml SimpleEuml2 SimpleInternal SimpleInternalEuml
+ SimpleInternalFunctors SimpleMachine SimpleWithFunctors)
+
+FOREACH(test ${TESTS})
+ boost_test_run(${test}
+ ${test}.cpp
+ DEPENDS boost_unit_test_framework STATIC
+ COMPILE_FLAGS -ftemplate-depth-300 -g0
+ )
+ENDFOREACH(test ${TESTS})
diff --git a/libs/multi_array/CMakeLists.txt b/libs/multi_array/CMakeLists.txt
new file mode 100644
index 0000000..96fc47d
--- /dev/null
+++ b/libs/multi_array/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ multi_array.hpp
+ multi_array
+)
+
+# Add a library target to the build system
+boost_library_project(
+ multi_array
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/multi_array/module.cmake b/libs/multi_array/module.cmake
new file mode 100644
index 0000000..a7e6bf9
--- /dev/null
+++ b/libs/multi_array/module.cmake
@@ -0,0 +1,2 @@
+boost_module(multi_array DEPENDS array iterator detail concept_check mpl static_assert functional)
+
diff --git a/libs/multi_array/test/CMakeLists.txt b/libs/multi_array/test/CMakeLists.txt
new file mode 100644
index 0000000..451646c
--- /dev/null
+++ b/libs/multi_array/test/CMakeLists.txt
@@ -0,0 +1,47 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(multi_array BOOST_DEPENDS test)
+
+
+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)
diff --git a/libs/multi_index/CMakeLists.txt b/libs/multi_index/CMakeLists.txt
new file mode 100644
index 0000000..9bb688a
--- /dev/null
+++ b/libs/multi_index/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ multi_index_container.hpp
+ multi_index_container_fwd.hpp
+ multi_index
+)
+
+# Add a library target to the build system
+boost_library_project(
+ multi_index
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/multi_index/module.cmake b/libs/multi_index/module.cmake
new file mode 100644
index 0000000..ce8ee4b
--- /dev/null
+++ b/libs/multi_index/module.cmake
@@ -0,0 +1 @@
+boost_module(multi_index DEPENDS serialization functional math)
\ No newline at end of file
diff --git a/libs/multi_index/test/CMakeLists.txt b/libs/multi_index/test/CMakeLists.txt
new file mode 100644
index 0000000..09103af
--- /dev/null
+++ b/libs/multi_index/test/CMakeLists.txt
@@ -0,0 +1,34 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(multi_index BOOST_DEPENDS test)
+
+
+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_serialization3.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)
diff --git a/libs/numeric/CMakeLists.txt b/libs/numeric/CMakeLists.txt
new file mode 100644
index 0000000..a5e5689
--- /dev/null
+++ b/libs/numeric/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ numeric
+)
+
+# Add a library target to the build system
+boost_library_project(
+ numeric
+ # SRCDIRS
+ TESTDIRS conversion/test interval/test ublas/test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/numeric/conversion/test/CMakeLists.txt b/libs/numeric/conversion/test/CMakeLists.txt
new file mode 100644
index 0000000..ca88052
--- /dev/null
+++ b/libs/numeric/conversion/test/CMakeLists.txt
@@ -0,0 +1,17 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#-------------------------------------------------------------------------
+#-- Needed include directories for the tests
+boost_additional_test_dependencies(numeric BOOST_DEPENDS test)
+#-------------------------------------------------------------------------
+
+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_conv_cast_test numeric_cast_test.cpp)
+boost_test_run(udt_example_0)
diff --git a/libs/numeric/interval/test/CMakeLists.txt b/libs/numeric/interval/test/CMakeLists.txt
new file mode 100644
index 0000000..e0c4e54
--- /dev/null
+++ b/libs/numeric/interval/test/CMakeLists.txt
@@ -0,0 +1,34 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#TODO: Deal with these on OSF
+# <toolset>hp_cxx,<os>OSF:<cflags>"-fprm d"
+ # <toolset>gcc,<os>OSF:<cflags>-mfp-rounding-mode=d
+
+#-------------------------------------------------------------------------
+#-- Needed include directories for the tests
+boost_additional_test_dependencies(numeric BOOST_DEPENDS test)
+#-------------------------------------------------------------------------
+
+boost_test_compile(integer)
+
+boost_test_run(add)
+boost_test_run(det)
+boost_test_run(fmod)
+message(STATUS "numeric/interval/test/mul needs love")
+#boost_test_run(mul)
+message(STATUS "numeric/interval/test/overflow needs love")
+#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)
diff --git a/libs/numeric/module.cmake b/libs/numeric/module.cmake
new file mode 100644
index 0000000..cab15aa
--- /dev/null
+++ b/libs/numeric/module.cmake
@@ -0,0 +1 @@
+boost_module(numeric DEPENDS logic serialization)
\ No newline at end of file
diff --git a/libs/numeric/ublas/test/CMakeLists.txt b/libs/numeric/ublas/test/CMakeLists.txt
new file mode 100644
index 0000000..adb7b7a
--- /dev/null
+++ b/libs/numeric/ublas/test/CMakeLists.txt
@@ -0,0 +1,86 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# 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"
+
+#-------------------------------------------------------------------------
+#-- Needed include directories for the tests
+boost_additional_test_dependencies(numeric BOOST_DEPENDS test)
+#-------------------------------------------------------------------------
+
+
+boost_test_run(ublas_test1
+ test1.cpp test11.cpp test12.cpp test13.cpp
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(ublas_test2
+ test2.cpp test21.cpp test22.cpp test23.cpp
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(ublas_test3
+ test3.cpp test31.cpp test32.cpp test33.cpp
+ COMPILE_FLAGS "${UBLAS_TESTSET_SPARSE_DEFINES}")
+
+boost_test_run(ublas_test4
+ test4.cpp test42.cpp test43.cpp
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(ublas_test5
+ test5.cpp test52.cpp test53.cpp
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+boost_test_run(ublas_test6
+ test6.cpp test62.cpp test63.cpp
+ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}")
+
+# Test commented out because boost::interval does not behave like a scalar
+# 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)
+
+boost_test_run(test_lu)
+
+boost_test_run(triangular_access
+ triangular_access.cpp
+ COMPILE_FLAGS "-DNOMESSAGES")
+
+boost_test_run(triangular_layout
+ triangular_layout.cpp)
+
+
+SET(test_compile_flags "-DEXTERNAL")
+#-- Intel Compiler flags
+IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+ SET(test_compile_flags "${test_compile_flags} -Xc")
+ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+
+IF (APPLE)
+ SET(test_compile_flags "${test_compile_flags} -fabi-version=0")
+ENDIF (APPLE)
+
+boost_test_compile(concepts COMPILE_FLAGS "-DEXTERNAL")
diff --git a/libs/optional/CMakeLists.txt b/libs/optional/CMakeLists.txt
new file mode 100644
index 0000000..3e08aa8
--- /dev/null
+++ b/libs/optional/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ optional.hpp
+ optional
+)
+
+# Add a library target to the build system
+boost_library_project(
+ optional
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/optional/module.cmake b/libs/optional/module.cmake
new file mode 100644
index 0000000..59d630b
--- /dev/null
+++ b/libs/optional/module.cmake
@@ -0,0 +1 @@
+boost_module(optional DEPENDS utility)
\ No newline at end of file
diff --git a/libs/optional/test/CMakeLists.txt b/libs/optional/test/CMakeLists.txt
new file mode 100644
index 0000000..1a2d09a
--- /dev/null
+++ b/libs/optional/test/CMakeLists.txt
@@ -0,0 +1,23 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(optional BOOST_DEPENDS test tuple)
+
+
+boost_test_run(optional_test)
+boost_test_run(optional_test_tie)
+boost_test_run(optional_test_ref
+ KNOWN_FAILURES "gcc-4.[0-3].[0-9]-.*")
+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)
diff --git a/libs/parameter/CMakeLists.txt b/libs/parameter/CMakeLists.txt
new file mode 100644
index 0000000..4e3e89b
--- /dev/null
+++ b/libs/parameter/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ parameter.hpp
+ parameter
+)
+
+# Add a library target to the build system
+boost_library_project(
+ parameter
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Write functions that accept arguments by name."
+ MODULARIZED
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
+ "Daniel Wallin <dalwan01 -at- student.umu.se>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/parameter/module.cmake b/libs/parameter/module.cmake
new file mode 100644
index 0000000..c72dba5
--- /dev/null
+++ b/libs/parameter/module.cmake
@@ -0,0 +1 @@
+boost_module(parameter DEPENDS python)
\ No newline at end of file
diff --git a/libs/parameter/test/CMakeLists.txt b/libs/parameter/test/CMakeLists.txt
new file mode 100644
index 0000000..b11e21b
--- /dev/null
+++ b/libs/parameter/test/CMakeLists.txt
@@ -0,0 +1,113 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(optional BOOST_DEPENDS test timer)
+
+
+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)
+
+if (PYTHON_FOUND)
+
+ include_directories(${PYTHON_INCLUDE_PATH})
+
+ #
+ # This came from libs/python/test/CMakeLists.txt
+ #
+ # copy-pasting this kind of code is of course an awful idea.
+ #
+ 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)
+
+ # Process all the .cpp file and extension module names
+ 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}")
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext)
+ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME})
+ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
+
+ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC})
+
+ else (BPL_SRC_EXT STREQUAL ".cpp")
+ set(BPL_EXTENSION_MODULE ${SRC})
+
+ 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 "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH)
+ if(WIN32 AND NOT UNIX)
+ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}")
+ endif(WIN32 AND NOT UNIX)
+ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME})
+ add_test(${FULL_TESTNAME}
+ ${VALGRIND_EXECUTABLE}
+ ${VALGRIND_FLAGS}
+ ${PYTHON_EXECUTABLE}
+ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py"
+ "${PYTHONPATH}"
+ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS})
+
+ set_tests_properties(${FULL_TESTNAME}
+ PROPERTIES
+ LABELS "${PROJECT_NAME}"
+ )
+ endmacro(bpl_test)
+
+ bpl_test(python_test)
+
+endif()
\ No newline at end of file
diff --git a/libs/phoenix/CMakeLists.txt b/libs/phoenix/CMakeLists.txt
new file mode 100644
index 0000000..707857b
--- /dev/null
+++ b/libs/phoenix/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ phoenix
+)
+
+# Add a library target to the build system
+boost_library_project(
+ phoenix
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Define small unnamed function objects at the actual call site, and more."
+ MODULARIZED
+ AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
+ "Dan Marsden"
+ "Thomas Heller"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/phoenix/module.cmake b/libs/phoenix/module.cmake
new file mode 100644
index 0000000..c971b0a
--- /dev/null
+++ b/libs/phoenix/module.cmake
@@ -0,0 +1,2 @@
+boost_module(phoenix DEPENDS fusion typeof)
+
diff --git a/libs/phoenix/test/CMakeLists.txt b/libs/phoenix/test/CMakeLists.txt
new file mode 100644
index 0000000..679bbc0
--- /dev/null
+++ b/libs/phoenix/test/CMakeLists.txt
@@ -0,0 +1,56 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(phoenix BOOST_DEPENDS test)
+
+################################################################################
+#--- Compiler specific settings
+
+# GCC
+IF(CMAKE_COMPILER_IS_GNUCC)
+ SET(test_compile_flags "-ftemplate-depth-1024")
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
+
+# Microsoft Visual Studio
+IF (MSVC71)
+ #TODO// Turn off debug symbols?
+ENDIF(MSVC71)
+IF (MSVC80)
+ SET(test_compile_flags "-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE")
+ENDIF(MSVC80)
+IF (MSVC90)
+ SET(test_compile_flags "-D_SCL_SECURE_NO_DEPRECATE")
+ENDIF (MSVC90)
+
+# Intel
+IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+ #TODO// Turn off debug symbols?
+ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+
+set(TESTS
+algorithm
+bll_compatibility
+bind
+boost_bind_compatibility
+container
+core
+function
+include
+object
+operator
+regression
+scope
+statement
+stdlib)
+
+foreach(TEST ${TESTS})
+ boost_test_run(${TEST} DEPENDS boost_unit_test_framework)
+endforeach(TEST ${TESTS})
+
+if(WIN32)
+ message("Need to turn on iterator debugging")
+endif(WIN32)
+
diff --git a/libs/polygon/CMakeLists.txt b/libs/polygon/CMakeLists.txt
new file mode 100644
index 0000000..ce3b9da
--- /dev/null
+++ b/libs/polygon/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ polygon
+)
+
+# Add a library target to the build system
+boost_library_project(
+ polygon
+ # SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Algorithms focused on manipulating planar polygon geometry data."
+ MODULARIZED
+ AUTHORS "Intel Corporation"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/polygon/module.cmake b/libs/polygon/module.cmake
new file mode 100644
index 0000000..4b60760
--- /dev/null
+++ b/libs/polygon/module.cmake
@@ -0,0 +1 @@
+boost_module(polygon DEPENDS smart_ptr)
\ No newline at end of file
diff --git a/libs/polygon/test/CMakeLists.txt b/libs/polygon/test/CMakeLists.txt
new file mode 100644
index 0000000..63e354b
--- /dev/null
+++ b/libs/polygon/test/CMakeLists.txt
@@ -0,0 +1,12 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(polygon BOOST_DEPENDS test)
+
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_POLYGON_STATIC_LINK
+
+boost_test_run(gtl_boost_unit_test gtl_boost_unit_test.cpp)
diff --git a/libs/pool/CMakeLists.txt b/libs/pool/CMakeLists.txt
new file mode 100644
index 0000000..ccf6649
--- /dev/null
+++ b/libs/pool/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ pool
+)
+
+# Add a library target to the build system
+boost_library_project(
+ pool
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/pool/module.cmake b/libs/pool/module.cmake
new file mode 100644
index 0000000..cb1c034
--- /dev/null
+++ b/libs/pool/module.cmake
@@ -0,0 +1 @@
+boost_module(pool DEPENDS config detail exception)
\ No newline at end of file
diff --git a/libs/pool/test/CMakeLists.txt b/libs/pool/test/CMakeLists.txt
new file mode 100644
index 0000000..b101cd3
--- /dev/null
+++ b/libs/pool/test/CMakeLists.txt
@@ -0,0 +1,9 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(pool BOOST_DEPENDS test)
+
+boost_test_run(test_pool_alloc DEPENDS boost_test_exec_monitor)
diff --git a/libs/preprocessor/CMakeLists.txt b/libs/preprocessor/CMakeLists.txt
new file mode 100644
index 0000000..78b1676
--- /dev/null
+++ b/libs/preprocessor/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ preprocessor.hpp
+ preprocessor
+)
+
+# Add a library target to the build system
+boost_library_project(
+ preprocessor
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/preprocessor/module.cmake b/libs/preprocessor/module.cmake
new file mode 100644
index 0000000..5dc6e3d
--- /dev/null
+++ b/libs/preprocessor/module.cmake
@@ -0,0 +1,4 @@
+# Preprocessor does not depend on anything else
+
+
+
\ No newline at end of file
diff --git a/libs/preprocessor/test/CMakeLists.txt b/libs/preprocessor/test/CMakeLists.txt
new file mode 100644
index 0000000..3a50ea7
--- /dev/null
+++ b/libs/preprocessor/test/CMakeLists.txt
@@ -0,0 +1,23 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(preprocessor BOOST_DEPENDS test)
+
+
+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)
diff --git a/libs/program_options/CMakeLists.txt b/libs/program_options/CMakeLists.txt
new file mode 100644
index 0000000..85d1806
--- /dev/null
+++ b/libs/program_options/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ program_options.hpp
+ program_options
+)
+
+# Add a library target to the build system
+boost_library_project(
+ program_options
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Access to configuration data given on command line, in config files and other sources."
+ MODULARIZED
+ AUTHORS "Vladimir Prus <ghost -at- cs.msu.su>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/program_options/module.cmake b/libs/program_options/module.cmake
new file mode 100644
index 0000000..cf44a1e
--- /dev/null
+++ b/libs/program_options/module.cmake
@@ -0,0 +1 @@
+boost_module(program_options DEPENDS any bind smart_ptr test tokenizer)
diff --git a/libs/program_options/src/CMakeLists.txt b/libs/program_options/src/CMakeLists.txt
new file mode 100644
index 0000000..9a20ec2
--- /dev/null
+++ b/libs/program_options/src/CMakeLists.txt
@@ -0,0 +1,11 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_library(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")
diff --git a/libs/program_options/test/CMakeLists.txt b/libs/program_options/test/CMakeLists.txt
new file mode 100644
index 0000000..48ec7b1
--- /dev/null
+++ b/libs/program_options/test/CMakeLists.txt
@@ -0,0 +1,39 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(program_options BOOST_DEPENDS test)
+
+set(PROGRAM_OPTIONS_LIBRARIES
+ boost_program_options
+ boost_test_exec_monitor)
+
+set(BOOST_TEST_EXEC_MONITOR_SUFFIX "")
+if (NOT BUILD_SINGLE_THREADED)
+ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt")
+endif()
+set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static")
+if (NOT BUILD_RELEASE)
+ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug")
+endif()
+
+macro(program_options_test_run TESTNAME)
+ boost_test_run(${TESTNAME}
+ STATIC
+ DEPENDS boost_program_options boost_test_exec_monitor )
+ boost_test_run("${TESTNAME}_dll"
+ ${TESTNAME}.cpp
+ SHARED
+ DEPENDS boost_program_options
+ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}")
+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)
diff --git a/libs/property_map/CMakeLists.txt b/libs/property_map/CMakeLists.txt
new file mode 100644
index 0000000..719c431
--- /dev/null
+++ b/libs/property_map/CMakeLists.txt
@@ -0,0 +1,27 @@
+# Copyright (C) 2008 Michael Jackson
+#
+# Use, modification and distribution is 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)
+
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+
+)
+
+# Add a library target to the build system
+boost_library_project(
+ property_map
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/property_map/module.cmake b/libs/property_map/module.cmake
new file mode 100644
index 0000000..ea68026
--- /dev/null
+++ b/libs/property_map/module.cmake
@@ -0,0 +1 @@
+boost_module(property_map DEPENDS concept_check)
\ No newline at end of file
diff --git a/libs/property_map/test/CMakeLists.txt b/libs/property_map/test/CMakeLists.txt
new file mode 100644
index 0000000..ff09b3c
--- /dev/null
+++ b/libs/property_map/test/CMakeLists.txt
@@ -0,0 +1,11 @@
+# Copyright (C) 2008 Michael Jackson
+#
+# Use, modification and distribution is 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)
+
+boost_additional_test_dependencies(property_map BOOST_DEPENDS test concept_check any)
+
+boost_test_compile(property_map_cc)
+
+boost_test_run(dynamic_properties_test)
diff --git a/libs/property_tree/CMakeLists.txt b/libs/property_tree/CMakeLists.txt
new file mode 100644
index 0000000..1dc18c5
--- /dev/null
+++ b/libs/property_tree/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ property_tree
+)
+
+# Add a library target to the build system
+boost_library_project(
+ property_tree
+ # SRCDIRS src
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Data structure storing an arbitrarily deeply nested tree of values, indexed at each level by some key."
+ MODULARIZED
+ AUTHORS "Marcin Kalicinski <kalita -at- poczta.onet.pl>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/property_tree/module.cmake b/libs/property_tree/module.cmake
new file mode 100644
index 0000000..e26d8ad
--- /dev/null
+++ b/libs/property_tree/module.cmake
@@ -0,0 +1 @@
+boost_module(property_tree DEPENDS smart_ptr)
\ No newline at end of file
diff --git a/libs/property_tree/test/CMakeLists.txt b/libs/property_tree/test/CMakeLists.txt
new file mode 100644
index 0000000..d94092d
--- /dev/null
+++ b/libs/property_tree/test/CMakeLists.txt
@@ -0,0 +1,23 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(property_tree BOOST_DEPENDS test serialization)
+
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_PROPERTY_TREE_STATIC_LINK
+
+SET(TEST_SUFFIXES
+ info_parser json_parser ini_parser xml_parser_rapidxml
+ multi_module1 multi_module2
+ # registry_parser
+ )
+
+FOREACH(test_suffix ${TEST_SUFFIXES})
+ boost_test_run(test_${test_suffix} test_${test_suffix}.cpp)
+ENDFOREACH(test_suffix ${TEST_SUFFIXES})
+
+boost_test_run(test_property_tree test_property_tree.cpp
+ DEPENDS boost_serialization SHARED)
diff --git a/libs/proto/CMakeLists.txt b/libs/proto/CMakeLists.txt
new file mode 100644
index 0000000..dc61c1a
--- /dev/null
+++ b/libs/proto/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ proto
+)
+
+# Add a library target to the build system
+boost_library_project(
+ proto
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Expression template library and compiler construction toolkit for domain-specific embedded languages."
+ MODULARIZED
+ AUTHORS "Eric Niebler <eric -at- boost-consulting.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/proto/module.cmake b/libs/proto/module.cmake
new file mode 100644
index 0000000..2061b60
--- /dev/null
+++ b/libs/proto/module.cmake
@@ -0,0 +1,2 @@
+boost_module(proto DEPENDS fusion typeof)
+
diff --git a/libs/proto/test/CMakeLists.txt b/libs/proto/test/CMakeLists.txt
new file mode 100644
index 0000000..c219435
--- /dev/null
+++ b/libs/proto/test/CMakeLists.txt
@@ -0,0 +1,58 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(proto BOOST_DEPENDS test)
+
+################################################################################
+#--- Compiler specific settings
+
+# GCC
+IF(CMAKE_COMPILER_IS_GNUCC)
+ SET(test_compile_flags "-ftemplate-depth-1024")
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
+
+# Microsoft Visual Studio
+IF (MSVC71)
+ #TODO// Turn off debug symbols?
+ENDIF(MSVC71)
+IF (MSVC80)
+ SET(test_compile_flags "-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE")
+ENDIF(MSVC80)
+IF (MSVC90)
+ SET(test_compile_flags "-D_SCL_SECURE_NO_DEPRECATE")
+ENDIF (MSVC90)
+
+# Intel
+IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+ #TODO// Turn off debug symbols?
+ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+
+set (tests
+ calculator
+ deep_copy
+ examples
+ lambda
+ make_expr
+ matches
+ proto_fusion
+ proto_fusion_s
+ toy_spirit
+ toy_spirit2
+ noinvoke
+)
+
+
+
+
+#-- Create an executable test for each source
+foreach(test ${tests})
+ boost_test_run(${test} "${test}.cpp"
+ COMPILE_FLAGS ${test_compile_flags}
+ DEPENDS boost_unit_test_framework)
+endforeach(test ${tests})
+
+
+
diff --git a/libs/ptr_container/CMakeLists.txt b/libs/ptr_container/CMakeLists.txt
new file mode 100644
index 0000000..ecf0077
--- /dev/null
+++ b/libs/ptr_container/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ ptr_container
+)
+
+# Add a library target to the build system
+boost_library_project(
+ ptr_container
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Containers for storing heap-allocated polymorphic objects to ease OO-programming."
+ MODULARIZED
+ AUTHORS "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/ptr_container/module.cmake b/libs/ptr_container/module.cmake
new file mode 100644
index 0000000..407a75b
--- /dev/null
+++ b/libs/ptr_container/module.cmake
@@ -0,0 +1 @@
+boost_module(ptr_container DEPENDS circular_buffer range)
\ No newline at end of file
diff --git a/libs/ptr_container/test/CMakeLists.txt b/libs/ptr_container/test/CMakeLists.txt
new file mode 100644
index 0000000..91456a6
--- /dev/null
+++ b/libs/ptr_container/test/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(ptr_container BOOST_DEPENDS test assign numeric)
+
+boost_test_run(ptr_inserter DEPENDS boost_unit_test_framework)
+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_map_adapter 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)
+boost_test_run(iterator_test DEPENDS boost_unit_test_framework)
+boost_test_run(tut1)
+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)
+
+boost_test_run(ptr_unordered_set DEPENDS boost_unit_test_framework)
+boost_test_run(ptr_unordered_map DEPENDS boost_unit_test_framework)
+boost_test_run(ptr_circular_buffer DEPENDS boost_unit_test_framework)
diff --git a/libs/python/CMakeLists.txt b/libs/python/CMakeLists.txt
new file mode 100644
index 0000000..b313d4c
--- /dev/null
+++ b/libs/python/CMakeLists.txt
@@ -0,0 +1,21 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+if (PYTHON_FOUND)
+ include_directories(${PYTHON_INCLUDE_PATH})
+
+ boost_library_project(
+ Python
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS python.hpp python
+ MODULARIZED
+ DESCRIPTION "A framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler."
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
+ )
+else ()
+ colormsg(RED "+-- disabled since PYTHON_FOUND is false")
+endif ()
diff --git a/libs/python/module.cmake b/libs/python/module.cmake
new file mode 100644
index 0000000..5bfa0c7
--- /dev/null
+++ b/libs/python/module.cmake
@@ -0,0 +1,3 @@
+boost_module(python DEPENDS graph numeric)
+
+# numeric is there because of boost/cast.hpp from libs/python/src/errors.cpp:11
\ No newline at end of file
diff --git a/libs/python/src/CMakeLists.txt b/libs/python/src/CMakeLists.txt
new file mode 100644
index 0000000..e4326a4
--- /dev/null
+++ b/libs/python/src/CMakeLists.txt
@@ -0,0 +1,70 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+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(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
+ object/function_doc_signature.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}"
+ )
diff --git a/libs/python/test/CMakeLists.txt b/libs/python/test/CMakeLists.txt
new file mode 100644
index 0000000..1a27e71
--- /dev/null
+++ b/libs/python/test/CMakeLists.txt
@@ -0,0 +1,246 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+include_directories(${PYTHON_INCLUDE_PATH})
+
+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)
+
+ # Process all the .cpp file and extension module names
+ 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}")
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext)
+ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
+ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME})
+ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}")
+
+ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC})
+
+ else (BPL_SRC_EXT STREQUAL ".cpp")
+ set(BPL_EXTENSION_MODULE ${SRC})
+
+ 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
+
+ if(WIN32)
+
+ get_target_property(THIS_TEST_LOCATION ${TESTNAME}_ext-mt-shared
+ LOCATION)
+ get_filename_component(THIS_TEST_LOCATION ${THIS_TEST_LOCATION} PATH)
+
+ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
+ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}")
+
+ set(PYTHONPATH ${THIS_TEST_LOCATION})
+ else()
+ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH)
+ endif()
+
+ if(WIN32 AND NOT UNIX)
+ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}")
+ endif(WIN32 AND NOT UNIX)
+ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME})
+ add_test(${FULL_TESTNAME}
+ ${VALGRIND_EXECUTABLE}
+ ${VALGRIND_FLAGS}
+ ${PYTHON_EXECUTABLE}
+ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py"
+ "${PYTHONPATH}"
+ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS})
+
+ set_tests_properties(${FULL_TESTNAME}
+ PROPERTIES
+ LABELS "${PROJECT_NAME}"
+ )
+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)
+
+#
+# See the contents of this file for more details on an existing
+# overload resoluton bug.
+#
+# boost_python_extension(overload_resolution test_overload_resolution.cpp)
+#
+
+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(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 a_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)
+
+bpl_test(tuple)
diff --git a/libs/random/CMakeLists.txt b/libs/random/CMakeLists.txt
new file mode 100644
index 0000000..1d9e48d
--- /dev/null
+++ b/libs/random/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ random.hpp
+ random
+)
+
+# Add a library target to the build system
+boost_library_project(
+ random
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A complete system for random number generation."
+ MODULARIZED
+ AUTHORS "Jens Maurer <Jens.Maurer -at- gmx.net>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/random/module.cmake b/libs/random/module.cmake
new file mode 100644
index 0000000..0aad03b
--- /dev/null
+++ b/libs/random/module.cmake
@@ -0,0 +1,3 @@
+boost_module(random DEPENDS detail integer type_traits static_assert)
+
+
diff --git a/libs/random/src/CMakeLists.txt b/libs/random/src/CMakeLists.txt
new file mode 100644
index 0000000..08f889e
--- /dev/null
+++ b/libs/random/src/CMakeLists.txt
@@ -0,0 +1,13 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+add_definitions(-DBOOST_DATE_TIME_NO_LIB=1)
+boost_add_library(
+ random
+ random_device.cpp
+ STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK
+ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1
+ )
diff --git a/libs/random/test/CMakeLists.txt b/libs/random/test/CMakeLists.txt
new file mode 100644
index 0000000..3511057
--- /dev/null
+++ b/libs/random/test/CMakeLists.txt
@@ -0,0 +1,52 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(random BOOST_DEPENDS test)
+
+foreach(urngs
+ rand48
+ minstd_rand0
+ minstd_rand
+ ecuyer1988
+ kreutzer1986
+ hellekalek1995
+ mt11213b
+ mt19937
+ lagged_fibonacci
+ lagged_fibonacci607
+ ranlux3
+ ranlux4
+ ranlux3_01
+ ranlux4_01
+ ranlux64_3_01
+ ranlux64_4_01
+ taus88)
+ boost_test_run(test_${urngs}
+ instantiate.cpp
+ COMPILE_FLAGS -DBOOST_RANDOM_URNG_TEST=${urngs}
+ )
+endforeach()
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_RANDOM_STATIC_LINK
+
+SET(TESTS test_random_device)
+
+FOREACH(test ${TESTS})
+ boost_test_run(${test}_static
+ ${test}.cpp
+ DEPENDS boost_random STATIC
+ COMPILE_FLAGS -DBOOST_RANDOM_STATIC_LINK)
+ boost_test_run(${test}_dynamic
+ ${test}.cpp
+ DEPENDS boost_random SHARED
+ COMPILE_FLAGS -DBOOST_RANDOM_DYN_LINK)
+ENDFOREACH(test ${TESTS})
+
+boost_test_run(random_demo ../example/random_demo.cpp)
+boost_test_run(random_test random_test.cpp)
+boost_test_run(validate validate.cpp)
+#boost_test_run(test_random_device test_random_device.cpp)
+#boost_test_run(statistic_tests statistic_tests.cpp)
diff --git a/libs/range/CMakeLists.txt b/libs/range/CMakeLists.txt
new file mode 100644
index 0000000..44214cf
--- /dev/null
+++ b/libs/range/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ range.hpp
+ range
+)
+
+# Add a library target to the build system
+boost_library_project(
+ range
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "A new infrastructure for generic algorithms that builds on top of the new iterator concepts."
+ MODULARIZED
+ AUTHORS "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/range/doc/CMakeLists.txt b/libs/range/doc/CMakeLists.txt
new file mode 100644
index 0000000..2a15cc3
--- /dev/null
+++ b/libs/range/doc/CMakeLists.txt
@@ -0,0 +1,7 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_documentation(boost_range.qbk)
\ No newline at end of file
diff --git a/libs/range/module.cmake b/libs/range/module.cmake
new file mode 100644
index 0000000..49c9bc9
--- /dev/null
+++ b/libs/range/module.cmake
@@ -0,0 +1 @@
+boost_module(range DEPENDS algorithm)
\ No newline at end of file
diff --git a/libs/range/test/CMakeLists.txt b/libs/range/test/CMakeLists.txt
new file mode 100644
index 0000000..0907adc
--- /dev/null
+++ b/libs/range/test/CMakeLists.txt
@@ -0,0 +1,25 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(range BOOST_DEPENDS test)
+
+message(STATUS "libs/range/test: need -Wall -Wunused here when under gcc")
+set( test_compile_flags "")
+IF(CMAKE_COMPILER_IS_GNUCC)
+ SET(test_compile_flags "-Wall -Wunused")
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
+
+boost_test_run(array DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(iterator_pair DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(std_container DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(string DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(iterator_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(sub_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(partial_workaround DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(algorithm_example DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(reversible_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(const_ranges DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(extension_mechanism DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags})
diff --git a/libs/ratio/CMakeLists.txt b/libs/ratio/CMakeLists.txt
new file mode 100644
index 0000000..e72ac71
--- /dev/null
+++ b/libs/ratio/CMakeLists.txt
@@ -0,0 +1,21 @@
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ ratio
+)
+
+# Add a library target to the build system
+boost_library_project(
+ ratio
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Compile time rational arithmetic."
+ MODULARIZED
+ AUTHORS "Vicente J. Botet Escribá <vicente.botet - at - wanadoo.fr>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/ratio/module.cmake b/libs/ratio/module.cmake
new file mode 100644
index 0000000..4448f13
--- /dev/null
+++ b/libs/ratio/module.cmake
@@ -0,0 +1 @@
+boost_module(ratio DEPENDS parameter typeof foreach)
\ No newline at end of file
diff --git a/libs/ratio/test/CMakeLists.txt b/libs/ratio/test/CMakeLists.txt
new file mode 100644
index 0000000..2efdaf1
--- /dev/null
+++ b/libs/ratio/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(ratio BOOST_DEPENDS test)
+
+#
+set(TESTS
+ratio_arithmetic
+ratio_comparison
+ratio_extensions
+ratio_io
+ratio_ratio)
+
+foreach(TEST ${TESTS})
+ boost_test_run(${TEST} DEPENDS boost_unit_test_framework)
+endforeach(TEST ${TESTS})
+
+if(WIN32)
+ message("Need to turn on iterator debugging")
+endif(WIN32)
+
+#
+ratio_test_run(ratio_test)
+ratio_test_run(typedefs_pass)
diff --git a/libs/rational/CMakeLists.txt b/libs/rational/CMakeLists.txt
new file mode 100644
index 0000000..53c440d
--- /dev/null
+++ b/libs/rational/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ rational.hpp
+
+)
+
+# Add a library target to the build system
+boost_library_project(
+ rational
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/rational/module.cmake b/libs/rational/module.cmake
new file mode 100644
index 0000000..94a8c9f
--- /dev/null
+++ b/libs/rational/module.cmake
@@ -0,0 +1 @@
+boost_module (rational DEPENDS config math static_assert utility)
\ No newline at end of file
diff --git a/libs/rational/test/CMakeLists.txt b/libs/rational/test/CMakeLists.txt
new file mode 100644
index 0000000..2e0850f
--- /dev/null
+++ b/libs/rational/test/CMakeLists.txt
@@ -0,0 +1,14 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(gil BOOST_DEPENDS test)
+
+
+boost_test_run(rational_example rational_example.cpp)
+boost_test_run(rational_test
+ rational_test.cpp
+ DEPENDS boost_unit_test_framework
+ )
diff --git a/libs/regex/CMakeLists.txt b/libs/regex/CMakeLists.txt
new file mode 100644
index 0000000..481417e
--- /dev/null
+++ b/libs/regex/CMakeLists.txt
@@ -0,0 +1,51 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ regex.h
+ regex.hpp
+ regex_fwd.hpp
+ regex
+ cregex.hpp
+)
+
+# TODO: Default to multi-threaded?
+#
+# Used in test/ and examples/
+#
+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
+ EXTRA_OPTIONS SHARED)
+endmacro(regex_test)
+
+# Add a library target to the build system
+boost_library_project(
+ regex
+ SRCDIRS src
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A regular expression library"
+ MODULARIZED
+ AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/regex/example/CMakeLists.txt b/libs/regex/example/CMakeLists.txt
new file mode 100644
index 0000000..5c3d442
--- /dev/null
+++ b/libs/regex/example/CMakeLists.txt
@@ -0,0 +1,76 @@
+# # copyright John Maddock 2003
+# # 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.
+#
+# project
+# : requirements
+# <threading>multi
+# <link>shared:<define>BOOST_REGEX_DYN_LINK=1
+# # There are unidentified linker problems on these platforms:
+# <toolset>mipspro-7.4:<link>static
+# <toolset>sun-5.9:<link>static
+# ;
+#
+#
+# rule regex-test-run ( sources + : input * : name * )
+# {
+# return [
+# run
+# # sources
+# $(sources)
+# # dependencies
+# ../build//boost_regex
+# : # additional args
+# $(input)
+# : # test-files
+# : # requirements
+# <toolset>msvc-7.1:<define>TEST_MFC=1 <toolset>msvc-7.0:<define>TEST_MFC=1
+# : # test name
+# $(name)
+# ] ;
+# }
+#
+# test-suite regex-examples :
+
+
+
+regex_test(regex_timer timer/regex_timer.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/example/timer/input_script.txt )
+#regex_test(regex-test-run grep/grep.cpp ../../program_options/build//boost_program_options/<link>static -n -b ${CMAKE_SOURCE_DIR}/boost/regex.hpp ${CMAKE_SOURCE_DIR}/boost/type_traits.hpp : test_grep )
+regex_test(credit_card_example snippets/credit_card_example.cpp DEPENDS boost_regex)
+regex_test(mfc_example snippets/mfc_example.cpp )
+regex_test(icu_example snippets/icu_example.cpp )
+regex_test(partial_regex_grep snippets/partial_regex_grep.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm )
+regex_test(partial_regex_iterate snippets/partial_regex_iterate.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm )
+regex_test(partial_regex_match snippets/partial_regex_match.cpp ARGS 1234-5678-8765-4 )
+regex_test(regex_grep_example_1 snippets/regex_grep_example_1.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+regex_test(regex_grep_example_2 snippets/regex_grep_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+regex_test(regex_grep_example_3 snippets/regex_grep_example_3.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+regex_test(regex_grep_example_4 snippets/regex_grep_example_4.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+regex_test(regex_match_example snippets/regex_match_example.cpp ARGS -auto )
+regex_test(regex_merge_example snippets/regex_merge_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+regex_test(regex_replace_example snippets/regex_replace_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+regex_test(regex_search_example snippets/regex_search_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+regex_test(regex_split_example_1 snippets/regex_split_example_1.cpp ARGS -auto )
+regex_test(regex_split_example_2 snippets/regex_split_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html )
+regex_test(regex_token_iterator_eg_1 snippets/regex_token_iterator_eg_1.cpp ARGS -auto )
+regex_test(regex_token_iterator_eg_2 snippets/regex_token_iterator_eg_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html )
+regex_test(regex_iterator_example snippets/regex_iterator_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp )
+
+#boost_test_run(run snippets/captures_example.cpp
+# ../test/captures//boost_regex_extra
+# : : : <threading>multi <define>BOOST_REGEX_MATCH_EXTRA=1 ]
+
+#;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libs/regex/module.cmake b/libs/regex/module.cmake
new file mode 100644
index 0000000..3c9c0ae
--- /dev/null
+++ b/libs/regex/module.cmake
@@ -0,0 +1 @@
+boost_module(regex DEPENDS date_time thread)
\ No newline at end of file
diff --git a/libs/regex/src/CMakeLists.txt b/libs/regex/src/CMakeLists.txt
new file mode 100644
index 0000000..fa3d29b
--- /dev/null
+++ b/libs/regex/src/CMakeLists.txt
@@ -0,0 +1,44 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+set (BOOST_REGEX_ICU_LIBRARIES)
+
+if (ICU_FOUND AND ICU_I18N_FOUND)
+ add_definitions (-DBOOST_HAS_ICU=1)
+ include_directories (${ICU_INCLUDE_DIRS})
+ set (BOOST_REGEX_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+ colormsg (GREEN "+-- ICU (unicode) available for regex, enabling support.")
+ set (NO_STATIC_IF_ICU_FOUND "NO_STATIC")
+else (ICU_FOUND AND ICU_I18N_FOUND)
+ colormsg (CYAN "+-- ICU (unicode) not available for regex, disabling support.")
+endif (ICU_FOUND AND ICU_I18N_FOUND)
+
+#
+boost_add_library (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_ICU_LIBRARIES}
+ SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1
+ ${NO_STATIC_IF_ICU_FOUND}
+ )
+
+
+
+
diff --git a/libs/regex/test/CMakeLists.txt b/libs/regex/test/CMakeLists.txt
new file mode 100644
index 0000000..5c55149
--- /dev/null
+++ b/libs/regex/test/CMakeLists.txt
@@ -0,0 +1,93 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(regex BOOST_DEPENDS 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
+ )
+
+if (NOT ICU_FOUND)
+ # static tests eliminiated if ICU is found
+ boost_test_run(regex_regress ${R_SOURCES}
+ DEPENDS boost_regex STATIC)
+endif()
+
+boost_test_run(regex_regress_dll ${R_SOURCES}
+ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
+ DEPENDS boost_regex
+ EXTRA_OPTIONS SHARED)
+
+boost_test_run(regex_regress_threaded ${R_SOURCES}
+ COMPILE_FLAGS "-DTEST_THREADS -DBOOST_REGEX_DYN_LINK=1"
+ DEPENDS boost_regex boost_thread
+ EXTRA_OPTIONS SHARED MULTI_THREADED)
+
+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"
+ DEPENDS boost_regex boost_thread
+ EXTRA_OPTIONS MULTI_THREADED SHARED)
+
+regex_test(object_cache_test object_cache/object_cache_test.cpp)
+
+if(NOT ICU_FOUND)
+ boost_test_run(regex_config_info config_info/regex_config_info.cpp
+ DEPENDS boost_regex
+ EXTRA_OPTIONS STATIC)
+endif()
+
+boost_test_run(regex_dll_config_info config_info/regex_config_info.cpp
+ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1"
+ DEPENDS boost_regex
+ EXTRA_OPTIONS 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
+# ]
diff --git a/libs/serialization/CMakeLists.txt b/libs/serialization/CMakeLists.txt
new file mode 100644
index 0000000..938c5f4
--- /dev/null
+++ b/libs/serialization/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ serialization
+ archive
+)
+
+# Add a library target to the build system
+boost_library_project(
+ serialization
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Serialization for persistence and marshalling."
+ MODULARIZED
+ AUTHORS "<ramey -at- rrsd.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/serialization/module.cmake b/libs/serialization/module.cmake
new file mode 100644
index 0000000..d640eb1
--- /dev/null
+++ b/libs/serialization/module.cmake
@@ -0,0 +1,3 @@
+boost_module(serialization DEPENDS spirit io bind array variant)
+
+# bind is in there because we have a dependency on boost/mem_fn.hpp
diff --git a/libs/serialization/src/CMakeLists.txt b/libs/serialization/src/CMakeLists.txt
new file mode 100644
index 0000000..fec7fe5
--- /dev/null
+++ b/libs/serialization/src/CMakeLists.txt
@@ -0,0 +1,56 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+boost_add_library(serialization
+
+ basic_archive.cpp
+ basic_iarchive.cpp
+ basic_iserializer.cpp
+ basic_oarchive.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_typeid.cpp
+ extended_type_info_no_rtti.cpp
+ polymorphic_iarchive.cpp
+ polymorphic_oarchive.cpp
+ stl_port.cpp
+ text_iarchive.cpp
+ text_oarchive.cpp
+ void_cast.cpp
+ archive_exception.cpp
+ xml_grammar.cpp
+ xml_iarchive.cpp
+ xml_oarchive.cpp
+ xml_archive_exception.cpp
+ shared_ptr_helper.cpp
+
+ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1
+ )
+
+boost_add_library(wserialization
+
+ basic_text_wiprimitive.cpp
+ basic_text_woprimitive.cpp
+ text_wiarchive.cpp
+ text_woarchive.cpp
+ utf8_codecvt_facet.cpp
+ xml_wgrammar.cpp
+ xml_wiarchive.cpp
+ xml_woarchive.cpp
+ codecvt_null.cpp
+
+ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1
+ DEPENDS boost_serialization
+ )
diff --git a/libs/serialization/test/CMakeLists.txt b/libs/serialization/test/CMakeLists.txt
new file mode 100644
index 0000000..a0dc65e
--- /dev/null
+++ b/libs/serialization/test/CMakeLists.txt
@@ -0,0 +1,184 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# 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.
+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)
+
+ set(BSL_TEST_LIBRARIES)
+ if(NOT BSL_NO_LIBS)
+ set(BSL_TEST_LIBRARIES "boost_serialization")
+ endif(NOT BSL_NO_LIBS)
+
+ # Tests linking against the static serialization library
+ boost_test_run("${testname}"
+ ${BSL_TEST_SOURCES}
+ STATIC
+ DEPENDS ${BSL_TEST_LIBRARIES}
+ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1")
+
+ # Tests linking against the shared serialization library
+ boost_test_run("${testname}_dll"
+ ${BSL_TEST_SOURCES}
+ SHARED
+ DEPENDS ${BSL_TEST_LIBRARIES}
+ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1")
+endmacro(serialization_test)
+
+# Like serialization_test, but runs the same test for all archive types.
+macro(serialization_test_allarchives 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 ${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 ${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_allarchives)
+
+boost_additional_test_dependencies(serialization BOOST_DEPENDS test)
+
+
+serialization_test_allarchives(test_array test_array.cpp A.cpp)
+serialization_test_allarchives(test_binary)
+serialization_test_allarchives(test_complex)
+serialization_test_allarchives(test_contained_class test_contained_class.cpp A.cpp)
+serialization_test_allarchives(test_cyclic_ptrs test_cyclic_ptrs.cpp A.cpp)
+serialization_test_allarchives(test_delete_pointer)
+serialization_test_allarchives(test_deque test_deque.cpp A.cpp)
+# serialization_test_allarchives(test_derived)
+serialization_test_allarchives(test_derived_class test_derived_class.cpp A.cpp)
+serialization_test_allarchives(test_derived_class_ptr test_derived_class_ptr.cpp A.cpp)
+serialization_test_allarchives(test_diamond)
+serialization_test_allarchives(test_exported test_exported.cpp polymorphic_base.cpp)
+serialization_test_allarchives(test_class_info_save)
+serialization_test_allarchives(test_class_info_load)
+serialization_test_allarchives(test_object)
+serialization_test_allarchives(test_primitive)
+serialization_test_allarchives(test_list test_list.cpp A.cpp)
+serialization_test_allarchives(test_list_ptrs test_list_ptrs.cpp A.cpp)
+serialization_test_allarchives(test_map test_map.cpp A.cpp)
+serialization_test_allarchives(test_mi)
+serialization_test_allarchives(test_multiple_ptrs test_multiple_ptrs.cpp A.cpp)
+serialization_test_allarchives(test_no_rtti test_no_rtti.cpp
+ polymorphic_base.cpp polymorphic_derived1.cpp polymorphic_derived2.cpp)
+serialization_test_allarchives(test_non_intrusive)
+serialization_test_allarchives(test_non_default_ctor)
+serialization_test_allarchives(test_non_default_ctor2)
+serialization_test_allarchives(test_null_ptr)
+serialization_test_allarchives(test_nvp test_nvp.cpp A.cpp)
+serialization_test_allarchives(test_recursion test_recursion.cpp A.cpp)
+serialization_test_allarchives(test_registered)
+serialization_test_allarchives(test_set test_set.cpp A.cpp)
+serialization_test_allarchives(test_simple_class test_simple_class.cpp A.cpp)
+serialization_test_allarchives(test_simple_class_ptr test_simple_class_ptr.cpp A.cpp)
+serialization_test_allarchives(test_split)
+serialization_test_allarchives(test_tracking)
+serialization_test_allarchives(test_unregistered)
+serialization_test_allarchives(test_valarray)
+serialization_test_allarchives(test_variant test_variant.cpp A.cpp)
+serialization_test_allarchives(test_vector test_vector.cpp A.cpp)
+serialization_test_allarchives(test_optional)
+serialization_test_allarchives(test_shared_ptr)
+serialization_test_allarchives(test_shared_ptr_132)
+serialization_test_allarchives(test_polymorphic POLYMORPHIC
+ test_polymorphic.cpp test_polymorphic_A.cpp A.cpp)
+
+serialization_test(test_private_ctor)
+serialization_test(test_reset_object_address test_reset_object_address.cpp A.cpp)
+serialization_test(test_void_cast)
+serialization_test(test_mult_archive_types)
+
+serialization_test(test_iterators NO_LIBS)
+serialization_test(test_iterators_base64 NO_LIBS)
+serialization_test(test_inclusion NO_LIBS)
+serialization_test(test_smart_cast NO_LIBS)
+
+serialization_test(test_utf8_codecvt
+ test_utf8_codecvt.cpp ../src/utf8_codecvt_facet.cpp NO_LIBS)
+
+serialization_test(test_serialization_iterators test_iterators.cpp NO_LIBS)
+serialization_test(test_static_warning NO_LIBS)
+serialization_test(test_codecvt_null
+ test_codecvt_null.cpp ../src/codecvt_null.cpp NO_LIBS)
+
+# should fail compilation
+boost_test_compile_fail(test_not_serializable)
+boost_test_compile_fail(test_traits_fail)
+boost_test_compile_fail(test_const_load_fail1)
+boost_test_compile_fail(test_const_load_fail2)
+boost_test_compile_fail(test_const_load_fail3)
+boost_test_compile_fail(test_const_load_fail1_nvp)
+boost_test_compile_fail(test_const_load_fail2_nvp)
+boost_test_compile_fail(test_const_load_fail3_nvp)
+
+boost_test_compile(test_static_warning)
+boost_test_compile(test_const_save_warn1)
+boost_test_compile(test_const_save_warn2)
+boost_test_compile(test_const_save_warn3)
+
+# 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)
+
+# should compile
+boost_test_compile(test_traits_pass)
+boost_test_compile(test_const_pass)
diff --git a/libs/signals/CMakeLists.txt b/libs/signals/CMakeLists.txt
new file mode 100644
index 0000000..b8cb463
--- /dev/null
+++ b/libs/signals/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ signals.hpp
+ signal.hpp
+ signals
+)
+
+# Add a library target to the build system
+boost_library_project(
+ signals
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Managed signals & slots callback implementation."
+ MODULARIZED
+ AUTHORS "Douglas Gregor <doug.gregor -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/signals/module.cmake b/libs/signals/module.cmake
new file mode 100644
index 0000000..0c18da8
--- /dev/null
+++ b/libs/signals/module.cmake
@@ -0,0 +1,3 @@
+boost_module(signals DEPENDS smart_ptr any intrusive bind)
+
+# bind is here due to a dependency on /boost/mem_fn.hpp
diff --git a/libs/signals/src/CMakeLists.txt b/libs/signals/src/CMakeLists.txt
new file mode 100644
index 0000000..d4d4769
--- /dev/null
+++ b/libs/signals/src/CMakeLists.txt
@@ -0,0 +1,13 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+add_definitions(-DBOOST_SIGNALS_NO_LIB=1)
+
+boost_add_library(
+ signals
+ trackable.cpp connection.cpp named_slot_map.cpp signal_base.cpp slot.cpp
+ SHARED_COMPILE_FLAGS "-DBOOST_SIGNALS_DYN_LINK=1"
+ )
diff --git a/libs/signals/test/CMakeLists.txt b/libs/signals/test/CMakeLists.txt
new file mode 100644
index 0000000..91c513b
--- /dev/null
+++ b/libs/signals/test/CMakeLists.txt
@@ -0,0 +1,15 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(signals BOOST_DEPENDS test optional)
+
+
+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)
diff --git a/libs/signals2/CMakeLists.txt b/libs/signals2/CMakeLists.txt
new file mode 100644
index 0000000..1e7910d
--- /dev/null
+++ b/libs/signals2/CMakeLists.txt
@@ -0,0 +1,19 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+# Add a library target to the build system
+boost_library_project(
+ signals2
+ TESTDIRS test
+ HEADERS signals2.hpp signals2
+ # DOCDIRS
+ DESCRIPTION "The Boost.Signals2 library is an implementation of a managed signals and slots system. Signals represent callbacks with multiple targets, and are also called publishers or events in similar systems. Signals are connected to some set of slots, which are callback receivers (also called event targets or subscribers), which are called when the signal is \"emitted.\""
+ MODULARIZED
+ AUTHORS "Frank Mori Hess <fmhess -at- users.sourceforge.net>"
+)
+
+
diff --git a/libs/signals2/module.cmake b/libs/signals2/module.cmake
new file mode 100644
index 0000000..7b720d8
--- /dev/null
+++ b/libs/signals2/module.cmake
@@ -0,0 +1 @@
+boost_module(signals2 DEPENDS thread)
\ No newline at end of file
diff --git a/libs/signals2/test/CMakeLists.txt b/libs/signals2/test/CMakeLists.txt
new file mode 100644
index 0000000..5e0b610
--- /dev/null
+++ b/libs/signals2/test/CMakeLists.txt
@@ -0,0 +1,26 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+foreach(test
+ connection_test
+ dead_slot_test
+ deconstruct_test
+ deletion_test
+ ordering_test
+ regression_test
+ shared_connection_block_test
+ signal_n_test
+ signal_test
+ signal_type_test
+ slot_compile_test
+ trackable_test
+ track_test
+ )
+ boost_test_run(${test} DEPENDS boost_test_exec_monitor)
+endforeach()
+
+boost_test_run(mutex_test DEPENDS boost_thread)
+boost_test_run(threading_models_test DEPENDS boost_thread)
diff --git a/libs/smart_ptr/CMakeLists.txt b/libs/smart_ptr/CMakeLists.txt
new file mode 100644
index 0000000..1c039fc
--- /dev/null
+++ b/libs/smart_ptr/CMakeLists.txt
@@ -0,0 +1,36 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ enable_shared_from_this.hpp
+ pointer_cast.hpp
+ scoped_array.hpp
+ scoped_ptr.hpp
+ shared_array.hpp
+ shared_ptr.hpp
+ weak_ptr.hpp
+)
+
+# Add a library target to the build system
+boost_library_project(
+ smart_ptr
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Five smart pointer class templates."
+ MODULARIZED
+ AUTHORS "Greg Colvin"
+ "Beman Dawes <bdawes -at- acm.org>"
+ "Peter Dimov <pdimov -at- mmltd.net>"
+ "Darin Adler"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/smart_ptr/module.cmake b/libs/smart_ptr/module.cmake
new file mode 100644
index 0000000..d83266c
--- /dev/null
+++ b/libs/smart_ptr/module.cmake
@@ -0,0 +1 @@
+boost_module(smart_ptr DEPENDS utility)
\ No newline at end of file
diff --git a/libs/smart_ptr/test/CMakeLists.txt b/libs/smart_ptr/test/CMakeLists.txt
new file mode 100644
index 0000000..b89394e
--- /dev/null
+++ b/libs/smart_ptr/test/CMakeLists.txt
@@ -0,0 +1,56 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test intrusive)
+
+
+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_compile_fail(shared_ptr_compare_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)
+boost_test_run(shared_ptr_alias_test)
+boost_test_run(shared_ptr_rv_test)
+boost_test_run(shared_ptr_move_test)
+boost_test_compile_fail(shared_ptr_pv_fail)
+boost_test_run(sp_unary_addr_test)
+boost_test_compile_fail(scoped_ptr_eq_fail)
+boost_test_compile_fail(scoped_array_eq_fail)
+boost_test_run(esft_regtest)
+boost_test_run(yield_k_test)
+message(STATUS "!!!> yield_k_test multhreaded")
+boost_test_run(spinlock_test)
+boost_test_run(spinlock_try_test)
+message(STATUS "!!!> spinlock_try_test multithreaded")
+boost_test_run(spinlock_pool_test)
+boost_test_run(make_shared_test)
+boost_test_run(sp_convertible_test)
+boost_test_run(wp_convertible_test)
+boost_test_run(ip_convertible_test)
+boost_test_run(allocate_shared_test)
+boost_test_run(sp_atomic_test)
+boost_test_run(esft_void_test)
+boost_test_run(esft_second_ptr_test)
+boost_test_run(make_shared_esft_test)
+boost_test_run(allocate_shared_esft_test)
+boost_test_run(sp_recursive_assign_test)
+boost_test_run(sp_recursive_assign2_test)
+boost_test_run(sp_recursive_assign_rv_test)
+boost_test_run(sp_recursive_assign2_rv_test)
+boost_test_compile_fail(auto_ptr_lv_fail)
+boost_test_run(atomic_count_test2)
+
diff --git a/libs/spirit/CMakeLists.txt b/libs/spirit/CMakeLists.txt
new file mode 100644
index 0000000..d70794c
--- /dev/null
+++ b/libs/spirit/CMakeLists.txt
@@ -0,0 +1,46 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ spirit.hpp
+ spirit
+)
+
+# Add a library target to the build system
+boost_library_project(
+ spirit
+ # SRCDIRS
+ TESTDIRS test
+ EXAMPLEDIRS
+ example/qi/calc6
+ example/qi/calc7
+ example/qi
+ example/qi/mini_c
+ example/lex/static_lexer
+ example/lex
+ example/karma
+ example/support
+ # example/scheme/test/qi
+ example/scheme/test/utree
+ example/scheme/test/scheme
+ example/scheme/example/sexpr
+ # example/scheme/example/generate_qiexpr
+ example/scheme/example/scheme
+ # example/scheme/example/parse_qiexpr
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "LL parser framework represents parsers directly as EBNF grammars in inlined C++."
+ MODULARIZED
+ AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
+ "Hartmut Kaiser <hartmut.kaiser -at- gmail.com>"
+ "Dan Nuffer"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/spirit/example/karma/CMakeLists.txt b/libs/spirit/example/karma/CMakeLists.txt
new file mode 100644
index 0000000..eefcf36
--- /dev/null
+++ b/libs/spirit/example/karma/CMakeLists.txt
@@ -0,0 +1,37 @@
+foreach(
+ example
+ complex_number
+ # complex_number_adapt
+ # calc2_ast_dump
+ generate_code
+ quick_start1
+ customize_use_as_container
+ # printf_style_double_format
+ num_list1
+ num_list2
+ num_list3
+ classify_char
+ customize_counter
+ # calc2_ast_vm
+ # simple_columns_directive
+ escaped_string
+ reorder_struct
+ actions
+ complex_number_easier
+ # auto_facilities
+ num_matrix
+ customize_embedded_container
+ # reference
+ mini_xml_karma
+ key_value_sequence
+ quoted_strings
+ # calc2_ast_rpn
+ # basic_facilities
+)
+boost_add_executable(
+ ${example}
+ TARGET_PREFIX
+ "karma-"
+)
+endforeach(
+)
diff --git a/libs/spirit/example/lex/CMakeLists.txt b/libs/spirit/example/lex/CMakeLists.txt
new file mode 100644
index 0000000..4219473
--- /dev/null
+++ b/libs/spirit/example/lex/CMakeLists.txt
@@ -0,0 +1,25 @@
+foreach(
+ example
+ word_count_functor_flex
+ #word_count
+ #word_count_lexer
+ #strip_comments
+ #strip_comments_lexer
+ #example1
+ #example2
+ #example3
+ #example4
+ #example5
+ #example6
+ reference
+ #custom_token_attribute
+ #print_numbers
+ #word_count_functor
+)
+boost_add_executable(
+ ${example}
+ TARGET_PREFIX
+ "lex-"
+)
+endforeach(
+)
diff --git a/libs/spirit/example/lex/static_lexer/CMakeLists.txt b/libs/spirit/example/lex/static_lexer/CMakeLists.txt
new file mode 100644
index 0000000..2d6903c
--- /dev/null
+++ b/libs/spirit/example/lex/static_lexer/CMakeLists.txt
@@ -0,0 +1,12 @@
+foreach(
+ example
+ word_count_lexer_generate
+ word_count_generate
+ word_count_lexer_static
+ word_count_static
+)
+boost_add_executable(
+ ${example}
+)
+endforeach(
+)
diff --git a/libs/spirit/example/qi/CMakeLists.txt b/libs/spirit/example/qi/CMakeLists.txt
new file mode 100644
index 0000000..ccb61c5
--- /dev/null
+++ b/libs/spirit/example/qi/CMakeLists.txt
@@ -0,0 +1,43 @@
+foreach(
+ example
+ employee
+ complex_number
+ mini_xml1
+ mini_xml2
+ mini_xml3
+ porting_guide_qi
+ key_value_sequence_empty_value
+ parse_date
+ # adapt_template_struct
+ num_list1
+ num_list2
+ num_list3
+ num_list4
+ calc2_ast
+ iter_pos_parser
+ display_attribute_type
+ reorder_struct
+ key_value_sequence_ordered
+ sum
+ actions
+ calc1
+ calc2
+ calc3
+ calc4
+ calc5
+ calc4_debug
+ # reference
+ # boost_array
+ roman
+ nabialek
+ typeof
+ key_value_sequence
+ porting_guide_classic
+)
+boost_add_executable(
+ ${example}
+ TARGET_PREFIX
+ "qi-"
+)
+endforeach(
+)
diff --git a/libs/spirit/example/qi/calc6/CMakeLists.txt b/libs/spirit/example/qi/calc6/CMakeLists.txt
new file mode 100644
index 0000000..d1bd010
--- /dev/null
+++ b/libs/spirit/example/qi/calc6/CMakeLists.txt
@@ -0,0 +1,7 @@
+boost_add_executable(
+ calc6
+ calc6.cpp
+ calc6a.cpp
+ calc6b.cpp
+ calc6c.cpp
+)
diff --git a/libs/spirit/example/qi/calc7/CMakeLists.txt b/libs/spirit/example/qi/calc7/CMakeLists.txt
new file mode 100644
index 0000000..f967fe4
--- /dev/null
+++ b/libs/spirit/example/qi/calc7/CMakeLists.txt
@@ -0,0 +1,7 @@
+boost_add_executable(
+ calc7
+ calc7.cpp
+ calc7a.cpp
+ calc7b.cpp
+ calc7c.cpp
+)
diff --git a/libs/spirit/example/qi/mini_c/CMakeLists.txt b/libs/spirit/example/qi/mini_c/CMakeLists.txt
new file mode 100644
index 0000000..8ddb7d6
--- /dev/null
+++ b/libs/spirit/example/qi/mini_c/CMakeLists.txt
@@ -0,0 +1,8 @@
+boost_add_executable(
+ mini_c
+ mini_c.cpp
+ mini_ca.cpp
+ mini_cb.cpp
+ mini_cc.cpp
+ mini_cd.cpp
+)
diff --git a/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt
new file mode 100644
index 0000000..1008458
--- /dev/null
+++ b/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt
@@ -0,0 +1,7 @@
+boost_add_executable(
+ generate_qi_test
+ generate_qi_test.cpp
+ generate_qiexpr.cpp
+ COMPILE_FLAGS
+ "-I../.."
+)
diff --git a/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt
new file mode 100644
index 0000000..5f361e8
--- /dev/null
+++ b/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt
@@ -0,0 +1,8 @@
+boost_add_executable(
+ parse_qi_test
+ parse_qi_test.cpp
+ generate_sexpr_to_ostream.cpp
+ parse_qiexpr.cpp
+ COMPILE_FLAGS
+ "-I../.."
+)
diff --git a/libs/spirit/example/scheme/example/scheme/CMakeLists.txt b/libs/spirit/example/scheme/example/scheme/CMakeLists.txt
new file mode 100644
index 0000000..ca7c00e
--- /dev/null
+++ b/libs/spirit/example/scheme/example/scheme/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ try_scheme
+ factorial1
+ factorial2
+)
+boost_add_executable(
+ ${example}
+ COMPILE_FLAGS
+ "-I../.."
+)
+endforeach(
+)
diff --git a/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt
new file mode 100644
index 0000000..f8f0aeb
--- /dev/null
+++ b/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ # sexpr_output_test
+ sexpr_input_test
+ sexpr_error_test
+)
+boost_add_executable(
+ ${example}
+ COMPILE_FLAGS
+ "-I../.."
+)
+endforeach(
+)
diff --git a/libs/spirit/example/scheme/test/qi/CMakeLists.txt b/libs/spirit/example/scheme/test/qi/CMakeLists.txt
new file mode 100644
index 0000000..376b5a6
--- /dev/null
+++ b/libs/spirit/example/scheme/test/qi/CMakeLists.txt
@@ -0,0 +1,11 @@
+foreach(
+ example
+ qi_interpreter
+)
+boost_add_executable(
+ ${example}
+ COMPILE_FLAGS
+ "-I../.."
+)
+endforeach(
+)
diff --git a/libs/spirit/example/scheme/test/scheme/CMakeLists.txt b/libs/spirit/example/scheme/test/scheme/CMakeLists.txt
new file mode 100644
index 0000000..5063398
--- /dev/null
+++ b/libs/spirit/example/scheme/test/scheme/CMakeLists.txt
@@ -0,0 +1,13 @@
+foreach(
+ example
+ scheme_test1
+ scheme_test2
+ scheme_test3
+)
+boost_add_executable(
+ ${example}
+ COMPILE_FLAGS
+ "-I../.."
+)
+endforeach(
+)
diff --git a/libs/spirit/example/scheme/test/utree/CMakeLists.txt b/libs/spirit/example/scheme/test/utree/CMakeLists.txt
new file mode 100644
index 0000000..9b058dd
--- /dev/null
+++ b/libs/spirit/example/scheme/test/utree/CMakeLists.txt
@@ -0,0 +1,11 @@
+foreach(
+ example
+ utree_test
+)
+boost_add_executable(
+ ${example}
+ COMPILE_FLAGS
+ "-I../.."
+)
+endforeach(
+)
diff --git a/libs/spirit/example/support/CMakeLists.txt b/libs/spirit/example/support/CMakeLists.txt
new file mode 100644
index 0000000..725363f
--- /dev/null
+++ b/libs/spirit/example/support/CMakeLists.txt
@@ -0,0 +1,9 @@
+foreach(
+ example
+ multi_pass
+)
+boost_add_executable(
+ ${example}
+)
+endforeach(
+)
diff --git a/libs/spirit/module.cmake b/libs/spirit/module.cmake
new file mode 100644
index 0000000..895f666
--- /dev/null
+++ b/libs/spirit/module.cmake
@@ -0,0 +1 @@
+boost_module(spirit DEPENDS xpressive optional foreach array unordered pool)
\ No newline at end of file
diff --git a/libs/spirit/test/CMakeLists.txt b/libs/spirit/test/CMakeLists.txt
new file mode 100644
index 0000000..46265c9
--- /dev/null
+++ b/libs/spirit/test/CMakeLists.txt
@@ -0,0 +1,121 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(spirit
+ BOOST_DEPENDS
+ test variant function_types intrusive
+ lambda assign iostreams math random dynamic_bitset fusion
+ )
+
+set( test_compile_flags "")
+
+if(CMAKE_COMPILER_IS_GNUCC)
+ set(test_compile_flags "-ftemplate-depth-300")
+endif()
+
+
+boost_test_run(qi_actions qi/actions.cpp COMPILE_FLAGS ${test_compile_flags} BOOST_LIB spirit COMPILE_FLAGS ${test_compile_flags} )
+
+foreach(qi_run_test
+ char
+ char_class
+ lit
+ int
+ uint
+ real
+ eps
+ lazy
+ tst
+ symbols
+ range_run
+ no_case
+ lexeme
+ raw
+ sequence
+ alternative
+ sequential_or
+ permutation
+ difference
+ list
+ optional
+ kleene
+ plus
+ and_predicate
+ not_predicate
+ expect
+ rule
+ grammar
+ match_manip
+ binary
+ debug
+ end)
+ boost_test_run(qi_${qi_run_test} qi/${qi_run_test}.cpp COMPILE_FLAGS ${test_compile_flags})
+endforeach()
+
+foreach(qi_compile_fail_test
+ qi_grammar_fail
+ qi_rule_fail)
+ boost_test_compile_fail(${qi_compile_fail_test} qi/${qi_compiler_fail_test}.cpp
+ COMPILE_FLAGS ${test_compile_flags})
+endforeach()
+
+foreach(karma_run_test
+ actions
+ alternative
+ binary
+ case_handling
+ center_alignment
+ char
+ delimiter
+ eol
+ eps
+ format_manip
+ grammar
+ int_numerics
+ kleene
+ lazy
+ left_alignment
+ list
+ lit
+ optional
+ pattern
+ real_numerics
+ right_alignment
+ sequence)
+ boost_test_run(karma_${karma_run_test} karma/${karma_run_test}.cpp COMPILE_FLAGS ${test_compile_flags})
+endforeach()
+
+foreach(karma_compile_fail_test
+ karma_grammar_fail
+ karma_rule_fail)
+ boost_test_compile_fail(${karma_compile_fail_test}
+ karma/${karma_compile_fail_test}.cpp
+ COMPILE_FLAGS ${test_compile_flags})
+endforeach()
+
+# boost_test_run(support_hold_any support/hold_any.cpp COMPILE_FLAGS ${test_compile_flags})
+
+# the multi_pass tests are not completed yet
+# [ run support/multi_pass_compile.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ]
+# [ run support/multi_pass.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ]
+
+if(CMAKE_COMPILER_IS_INTEL)
+ list(APPEND test_compile_flags "-no-vec")
+endif()
+
+foreach(lex_run_test
+ lexertl1
+ lexertl2
+ lexertl3
+ lexertl4
+ lexertl5
+ state_switcher_test)
+ boost_test_run(lex_${lex_run_test} lex/${lex_run_test}.cpp
+ COMPILE_FLAGS ${test_compile_flags})
+endforeach()
+
+
+
diff --git a/libs/statechart/CMakeLists.txt b/libs/statechart/CMakeLists.txt
new file mode 100644
index 0000000..7f97e3b
--- /dev/null
+++ b/libs/statechart/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ statechart
+)
+
+# Add a library target to the build system
+boost_library_project(
+ statechart
+ # SRCDIRS
+ TESTDIRS test example
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code."
+ MODULARIZED
+ AUTHORS "Andreas Huber <ahd6974-boostorg -at- yahoo.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/statechart/example/CMakeLists.txt b/libs/statechart/example/CMakeLists.txt
new file mode 100644
index 0000000..2a6281e
--- /dev/null
+++ b/libs/statechart/example/CMakeLists.txt
@@ -0,0 +1,31 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+macro(statechart_example TESTNAME)
+ set(SOURCES)
+ foreach(ARG ${ARGN})
+ set(SOURCES ${SOURCES} "${TESTNAME}/${ARG}.cpp")
+ endforeach(ARG ${ARGN})
+
+ if (NOT SOURCES)
+ set(SOURCES "${TESTNAME}/${TESTNAME}.cpp")
+ endif ()
+
+ 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) ;
diff --git a/libs/statechart/module.cmake b/libs/statechart/module.cmake
new file mode 100644
index 0000000..9462b13
--- /dev/null
+++ b/libs/statechart/module.cmake
@@ -0,0 +1 @@
+boost_module (statechart DEPENDS type_traits mpl static_assert intrusive smart_ptr bind function numeric)
diff --git a/libs/statechart/test/CMakeLists.txt b/libs/statechart/test/CMakeLists.txt
new file mode 100644
index 0000000..a661a74
--- /dev/null
+++ b/libs/statechart/test/CMakeLists.txt
@@ -0,0 +1,93 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(statechart BOOST_DEPENDS test numeric)
+
+
+
+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)
+
+message(STATUS "Statechart Testing needs intermediate libraries created")
+# 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))
+
diff --git a/libs/static_assert/CMakeLists.txt b/libs/static_assert/CMakeLists.txt
new file mode 100644
index 0000000..dbc799c
--- /dev/null
+++ b/libs/static_assert/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ static_assert.hpp
+
+)
+
+# Add a library target to the build system
+boost_library_project(
+ static_assert
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/static_assert/module.cmake b/libs/static_assert/module.cmake
new file mode 100644
index 0000000..e68fe53
--- /dev/null
+++ b/libs/static_assert/module.cmake
@@ -0,0 +1 @@
+boost_module(static_assert DEPENDS config detail)
\ No newline at end of file
diff --git a/libs/static_assert/test/CMakeLists.txt b/libs/static_assert/test/CMakeLists.txt
new file mode 100644
index 0000000..a9afaf2
--- /dev/null
+++ b/libs/static_assert/test/CMakeLists.txt
@@ -0,0 +1,19 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+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)
diff --git a/libs/system/CMakeLists.txt b/libs/system/CMakeLists.txt
new file mode 100644
index 0000000..b4f92f3
--- /dev/null
+++ b/libs/system/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ system
+)
+
+# Add a library target to the build system
+boost_library_project(
+ system
+ SRCDIRS src
+ # TESTDIRS
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/system/module.cmake b/libs/system/module.cmake
new file mode 100644
index 0000000..9a50a96
--- /dev/null
+++ b/libs/system/module.cmake
@@ -0,0 +1 @@
+boost_module(system DEPENDS utility)
\ No newline at end of file
diff --git a/libs/system/src/CMakeLists.txt b/libs/system/src/CMakeLists.txt
new file mode 100644
index 0000000..66f7c9f
--- /dev/null
+++ b/libs/system/src/CMakeLists.txt
@@ -0,0 +1,13 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_library(
+ system
+ error_code.cpp
+ SHARED_COMPILE_FLAGS "-DBOOST_SYSTEM_DYN_LINK=1"
+ STATIC_COMPILE_FLAGS "-DBOOST_SYSTEM_STATIC_LINK=1"
+ )
+
diff --git a/libs/test/CMakeLists.txt b/libs/test/CMakeLists.txt
new file mode 100644
index 0000000..556dbbc
--- /dev/null
+++ b/libs/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ test
+)
+
+# Add a library target to the build system
+boost_library_project(
+ test
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Support for simple program testing, full unit testing, and for program execution monitoring."
+ MODULARIZED
+ AUTHORS "Gennadiy Rozental <gennadiy.rozental -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/test/module.cmake b/libs/test/module.cmake
new file mode 100644
index 0000000..39ee26e
--- /dev/null
+++ b/libs/test/module.cmake
@@ -0,0 +1,5 @@
+#
+# module.cmake for test
+#
+boost_module(test DEPENDS smart_ptr timer io bind numeric)
+
diff --git a/libs/test/src/CMakeLists.txt b/libs/test/src/CMakeLists.txt
new file mode 100644
index 0000000..45ec7c6
--- /dev/null
+++ b/libs/test/src/CMakeLists.txt
@@ -0,0 +1,70 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# 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(prg_exec_monitor
+ execution_monitor.cpp
+ debug.cpp
+ cpp_main.cpp
+ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS})
+
+boost_add_library(test_exec_monitor
+ 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
+ NO_SHARED
+ )
+
+boost_add_library(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
+ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS}
+ )
+
diff --git a/libs/thread/CMakeLists.txt b/libs/thread/CMakeLists.txt
new file mode 100644
index 0000000..7b3935a
--- /dev/null
+++ b/libs/thread/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ thread.hpp
+ thread
+)
+
+# Add a library target to the build system
+boost_library_project(
+ thread
+ SRCDIRS src
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Boost.Thread"
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/thread/example/CMakeLists.txt b/libs/thread/example/CMakeLists.txt
new file mode 100644
index 0000000..7d4b8bd
--- /dev/null
+++ b/libs/thread/example/CMakeLists.txt
@@ -0,0 +1,17 @@
+foreach(example
+
+ monitor
+ starvephil
+ # tennis this doesn't build on linux for some stupid reason
+ condition
+ mutex
+ once
+ recursive_mutex
+ thread
+ thread_group
+ tss
+ xtime)
+
+ boost_add_executable(${example} DEPENDS boost_thread MULTI_THREADED)
+
+endforeach()
\ No newline at end of file
diff --git a/libs/thread/module.cmake b/libs/thread/module.cmake
new file mode 100644
index 0000000..32b0535
--- /dev/null
+++ b/libs/thread/module.cmake
@@ -0,0 +1 @@
+boost_module(thread DEPENDS date_time bind optional range)
\ No newline at end of file
diff --git a/libs/thread/src/CMakeLists.txt b/libs/thread/src/CMakeLists.txt
new file mode 100644
index 0000000..d02c4b0
--- /dev/null
+++ b/libs/thread/src/CMakeLists.txt
@@ -0,0 +1,20 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+if (WIN32)
+ set(THREAD_SOURCES win32/thread.cpp win32/tss_dll.cpp win32/tss_pe.cpp)
+else (WIN32)
+ set(THREAD_SOURCES pthread/thread.cpp pthread/once.cpp)
+endif (WIN32)
+
+boost_add_library(
+ thread
+ ${THREAD_SOURCES}
+ SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1"
+ STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1"
+ NO_SINGLE_THREADED
+ )
+
diff --git a/libs/thread/test/CMakeLists.txt b/libs/thread/test/CMakeLists.txt
new file mode 100644
index 0000000..23f2939
--- /dev/null
+++ b/libs/thread/test/CMakeLists.txt
@@ -0,0 +1,39 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(thread BOOST_DEPENDS test )
+
+
+
+set(TESTS
+test_thread
+test_thread_id
+test_hardware_concurrency
+test_thread_move
+test_thread_launching
+test_thread_mf
+test_move_function
+test_mutex
+test_condition_notify_one
+test_condition_timed_wait_times_out
+test_condition_notify_all
+test_condition
+test_tss
+test_once
+test_xtime
+test_barrier
+test_shared_mutex
+test_shared_mutex_part_2
+test_shared_mutex_timed_locks
+test_lock_concept
+test_generic_locks)
+
+foreach (TEST ${TESTS})
+ boost_test_run(${TEST} MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework)
+endforeach (TEST ${TESTS})
+
+boost_test_compile_fail(no_implicit_move_from_lvalue_thread)
+boost_test_compile_fail(no_implicit_assign_from_lvalue_thread)
diff --git a/libs/timer/CMakeLists.txt b/libs/timer/CMakeLists.txt
new file mode 100644
index 0000000..a73986c
--- /dev/null
+++ b/libs/timer/CMakeLists.txt
@@ -0,0 +1,23 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on http://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ timer.hpp
+)
+
+# Add a library target to the build system
+boost_library_project (
+ timer
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "The timer library calculates how long C++ code takes to run."
+ MODULARIZED
+ AUTHORS "Beman Dawes <bdawes - at - acm.org>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/timer/module.cmake b/libs/timer/module.cmake
new file mode 100644
index 0000000..79f7f2a
--- /dev/null
+++ b/libs/timer/module.cmake
@@ -0,0 +1 @@
+boost_module (timer DEPENDS config system chrono)
diff --git a/libs/timer/src/CMakeLists.txt b/libs/timer/src/CMakeLists.txt
new file mode 100644
index 0000000..859814f
--- /dev/null
+++ b/libs/timer/src/CMakeLists.txt
@@ -0,0 +1,14 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on http://github.com/pocb/boost
+#----------------------------------------------------------------------------
+#
+set (BOOST_TIMER_EXTRA_SOURCES)
+set (BOOST_TIMER_LIBRARIES)
+
+boost_add_library (timer
+ auto_timers_construction.cpp
+ cpu_timer.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_TIMER_DYN_LINK=1"
+ STATIC_COMPILE_FLAGS "-DBOOST_TIMER_STATIC_LINK=1"
+)
diff --git a/libs/timer/test/CMakeLists.txt b/libs/timer/test/CMakeLists.txt
new file mode 100644
index 0000000..bfa115a
--- /dev/null
+++ b/libs/timer/test/CMakeLists.txt
@@ -0,0 +1,9 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# boost_additional_test_dependencies(timer BOOST_DEPENDS test)
+
+boost_test_compile(timer_test ../timer_test.cpp)
diff --git a/libs/tokenizer/CMakeLists.txt b/libs/tokenizer/CMakeLists.txt
new file mode 100644
index 0000000..b9bc1ba
--- /dev/null
+++ b/libs/tokenizer/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ tokenizer.hpp
+)
+
+# Add a library target to the build system
+boost_library_project(
+ tokenizer
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/tokenizer/module.cmake b/libs/tokenizer/module.cmake
new file mode 100644
index 0000000..068d901
--- /dev/null
+++ b/libs/tokenizer/module.cmake
@@ -0,0 +1 @@
+boost_module(tokenizer DEPENDS utility)
\ No newline at end of file
diff --git a/libs/tokenizer/test/CMakeLists.txt b/libs/tokenizer/test/CMakeLists.txt
new file mode 100644
index 0000000..a2743d2
--- /dev/null
+++ b/libs/tokenizer/test/CMakeLists.txt
@@ -0,0 +1,15 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test config detail iterator utility array intrusive)
+
+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)
diff --git a/libs/tr1/CMakeLists.txt b/libs/tr1/CMakeLists.txt
new file mode 100644
index 0000000..58727a7
--- /dev/null
+++ b/libs/tr1/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ tr1
+)
+
+# Add a library target to the build system
+boost_library_project(
+ tr1
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "An implementation of the C++ Technical Report on Standard Library Extensions. 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."
+ MODULARIZED
+ AUTHORS "John Maddock <john -at- johnmaddock.co.uk>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/tr1/module.cmake b/libs/tr1/module.cmake
new file mode 100644
index 0000000..c2aa4c2
--- /dev/null
+++ b/libs/tr1/module.cmake
@@ -0,0 +1 @@
+boost_module(tr1 DEPENDS fusion random math functional)
diff --git a/libs/tr1/test/CMakeLists.txt b/libs/tr1/test/CMakeLists.txt
new file mode 100644
index 0000000..d60bdb9
--- /dev/null
+++ b/libs/tr1/test/CMakeLists.txt
@@ -0,0 +1,75 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(tr1 BOOST_DEPENDS test)
+
+
+include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1)
+include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1)
+
+if (BORLAND)
+ # Borland's broken include mechanism needs these extra headers:
+ include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1/bcc32)
+ include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1/bcc32)
+endif (BORLAND)
+
+macro(boost_glob_test_compile path glob_par compile_flags)
+ list_contains(WITH_STD "WITH_STD" ${ARGN})
+ list_contains(STD_HEADER_TEST "STD_HEADER_TEST" ${ARGN})
+ file(GLOB file_list ${path}/${glob_par})
+ foreach (current_file ${file_list})
+ get_filename_component(file_name ${current_file} NAME_WE)
+ set(test_name "${file_name}")
+ if (${STD_HEADER_TEST})
+ set(test_name "${file_name}_header")
+ endif ()
+ boost_test_compile(${test_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 "")
+
+# TODO: there's a problem here where the testing code is generating duplicate
+# target names.
+message(STATUS "TR1 tests need some love")
+# boost_glob_test_compile(std_headers *.cpp "-DTEST_STD=1" STD_HEADER_TEST)
+boost_glob_test_compile(cyclic_depend *.cpp "")
+
+# Known failures
+boost_test_known_failures(test_cmath_tricky_std "gcc-4.0.[0-9]-.*")
+boost_test_known_failures(test_mem_fn_tricky_std "gcc-4.0.[0-9]-.*")
+boost_test_known_failures(test_ref_wrapper_tricky_std "gcc-4.0.[0-9]-.*")
\ No newline at end of file
diff --git a/libs/tuple/CMakeLists.txt b/libs/tuple/CMakeLists.txt
new file mode 100644
index 0000000..a0321f4
--- /dev/null
+++ b/libs/tuple/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ tuple
+)
+
+# Add a library target to the build system
+boost_library_project(
+ tuple
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Ease definition of functions returning multiple values, and more."
+ MODULARIZED
+ AUTHORS "Jaakko Jarvi <jarvi -at- cs.tamu.edu>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/tuple/module.cmake b/libs/tuple/module.cmake
new file mode 100644
index 0000000..4c52344
--- /dev/null
+++ b/libs/tuple/module.cmake
@@ -0,0 +1,2 @@
+boost_module(tuple DEPENDS static_assert)
+
diff --git a/libs/tuple/test/CMakeLists.txt b/libs/tuple/test/CMakeLists.txt
new file mode 100644
index 0000000..0896726
--- /dev/null
+++ b/libs/tuple/test/CMakeLists.txt
@@ -0,0 +1,11 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(tuple BOOST_DEPENDS test)
+
+
+boost_test_run(tuple_test_bench DEPENDS boost_test_exec_monitor)
+boost_test_run(io_test DEPENDS boost_test_exec_monitor)
diff --git a/libs/type_traits/CMakeLists.txt b/libs/type_traits/CMakeLists.txt
new file mode 100644
index 0000000..951be8e
--- /dev/null
+++ b/libs/type_traits/CMakeLists.txt
@@ -0,0 +1,40 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ type_traits.hpp
+ type_traits
+)
+
+# Add a library target to the build system
+boost_library_project(
+ type_traits
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Templates for fundamental properties of types."
+ MODULARIZED
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
+ "Steve Cleary"
+ "Beman Dawes <bdawes -at- acm.org>"
+ "Aleksey Gurtovoy <agurtovoy -at- meta-comm.com>"
+ "Howard Hinnant"
+ "Jesse Jones"
+ "Mat Marcus"
+ "Itay Maman"
+ "John Maddock <john -at- johnmaddock.co.uk>"
+ "Alexander Nasonov <alexander.nasonov -at- gmail.com>"
+ "Thorsten Ottosen <nesotto -at- cs.auc.dk>"
+ "Robert Ramey <ramey -at- rrsd.com>"
+ "Jeremy Siek <jeremy.siek -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/type_traits/module.cmake b/libs/type_traits/module.cmake
new file mode 100644
index 0000000..c1f1b3c
--- /dev/null
+++ b/libs/type_traits/module.cmake
@@ -0,0 +1 @@
+boost_module(type_traits DEPENDS config static_assert)
\ No newline at end of file
diff --git a/libs/type_traits/test/CMakeLists.txt b/libs/type_traits/test/CMakeLists.txt
new file mode 100644
index 0000000..69fc8b9
--- /dev/null
+++ b/libs/type_traits/test/CMakeLists.txt
@@ -0,0 +1,13 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+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)
diff --git a/libs/typeof/CMakeLists.txt b/libs/typeof/CMakeLists.txt
new file mode 100644
index 0000000..a912c12
--- /dev/null
+++ b/libs/typeof/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ typeof
+)
+
+# Add a library target to the build system
+boost_library_project(
+ typeof
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/typeof/module.cmake b/libs/typeof/module.cmake
new file mode 100644
index 0000000..41dc168
--- /dev/null
+++ b/libs/typeof/module.cmake
@@ -0,0 +1 @@
+boost_module(typeof DEPENDS mpl config detail preprocessor)
\ No newline at end of file
diff --git a/libs/typeof/test/CMakeLists.txt b/libs/typeof/test/CMakeLists.txt
new file mode 100644
index 0000000..417d1be
--- /dev/null
+++ b/libs/typeof/test/CMakeLists.txt
@@ -0,0 +1,30 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(typeof BOOST_DEPENDS test)
+
+
+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")
+
diff --git a/libs/units/CMakeLists.txt b/libs/units/CMakeLists.txt
new file mode 100644
index 0000000..e28a106
--- /dev/null
+++ b/libs/units/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ units
+)
+
+# Add a library target to the build system
+boost_library_project(
+ units
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Zero-overhead dimensional analysis and unit/quantity manipulation and conversion."
+ MODULARIZED
+ AUTHORS "Matthias Schabel <boost -at- schabel-family.org>"
+ "Steven Watanabe <steven -at- providere-consulting.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/units/doc/CMakeLists.txt b/libs/units/doc/CMakeLists.txt
new file mode 100644
index 0000000..5591ef5
--- /dev/null
+++ b/libs/units/doc/CMakeLists.txt
@@ -0,0 +1,8 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+message(STATUS "libs/units/doc needs love")
+
diff --git a/libs/units/module.cmake b/libs/units/module.cmake
new file mode 100644
index 0000000..c72828e
--- /dev/null
+++ b/libs/units/module.cmake
@@ -0,0 +1,2 @@
+boost_module(units DEPENDS math serialization lambda)
+
diff --git a/libs/units/test/CMakeLists.txt b/libs/units/test/CMakeLists.txt
new file mode 100644
index 0000000..c3b9e17
--- /dev/null
+++ b/libs/units/test/CMakeLists.txt
@@ -0,0 +1,80 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(units BOOST_DEPENDS test)
+
+set(COMPILE_TESTS
+ test_predicates
+ test_negative_denominator
+ test_dimensionless_ice1
+ test_dimensionless_ice2
+ test_mixed_value_types
+ test_complicated_system
+ test_reduce_unit
+ test_unscale
+ test_constants
+ )
+
+foreach(C ${COMPILE_TESTS})
+ boost_test_compile(${C})
+endforeach(C ${COMPILE_TESTS})
+
+set(RUN_TESTS
+ test_dimensionless_quantity
+ test_implicit_conversion
+ test_quantity
+ test_unit
+ test_base_dimension
+ test_absolute
+ test_default_conversion
+ test_cmath
+ test_limits
+ test_custom_unit
+ test_scaled_conversion
+ test_lambda
+ )
+
+foreach(R ${RUN_TESTS})
+ boost_test_run(${R})
+endforeach(R ${RUN_TESTS})
+
+set(RUN_TESTS_WITH_DEPS
+ test_conversion
+ test_scaled_unit
+ test_output
+ test_trig
+)
+
+foreach(RD ${RUN_TESTS_WITH_DEPS})
+ boost_test_run(${RD} DEPENDS boost_unit_test_framework)
+endforeach(RD ${RUN_TESTS_WITH_DEPS})
+
+set(COMPILE_FAIL_TESTS
+ fail_implicit_conversion
+ fail_quantity_construct
+ fail_quantity_assign
+ fail_quantity_add
+ fail_quantity_subtract
+ fail_quantity_add_assign
+ fail_quantity_sub_assign
+ fail_quantity_scalar_add
+ fail_quantity_scalar_sub
+ fail_quantity_unit_add
+ fail_quantity_unit_subtract
+ fail_scalar_quantity_add
+ fail_scalar_quantity_sub
+ fail_unit_quantity_add
+ fail_unit_quantity_subtract
+ fail_adl_detail
+ fail_heterogeneous_unit
+ fail_base_dimension
+ fail_add_temperature
+ fail_quantity_non_unit
+ )
+
+foreach(F ${COMPILE_FAIL_TESTS})
+ boost_test_compile_fail(${F})
+endforeach(F ${COMPILE_FAIL_TESTS})
diff --git a/libs/unordered/CMakeLists.txt b/libs/unordered/CMakeLists.txt
new file mode 100644
index 0000000..b7dd577
--- /dev/null
+++ b/libs/unordered/CMakeLists.txt
@@ -0,0 +1,29 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ unordered_map.hpp
+ unordered_set.hpp
+ unordered
+)
+
+# Add a library target to the build system
+boost_library_project(
+ unordered
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/unordered/module.cmake b/libs/unordered/module.cmake
new file mode 100644
index 0000000..30e2769
--- /dev/null
+++ b/libs/unordered/module.cmake
@@ -0,0 +1 @@
+boost_module(unordered DEPENDS config functional)
diff --git a/libs/unordered/test/CMakeLists.txt b/libs/unordered/test/CMakeLists.txt
new file mode 100644
index 0000000..a941b96
--- /dev/null
+++ b/libs/unordered/test/CMakeLists.txt
@@ -0,0 +1,24 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(unordered BOOST_DEPENDS test)
+
+# GCC Compilers
+IF(CMAKE_COMPILER_IS_GNUCC)
+ SET(test_compile_flags "-Wsign-promo -Wunused-parameter")
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
+
+# Intel Compiler flags
+IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+ SET(test_compile_flags "${test_compile_flags} -strict_ansi -cxxlib-icc")
+ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" )
+
+set (swap_compile_flags "${test_compile_flags} -DBOOST_UNORDERED_SWAP_METHOD=2")
+
+
+
+add_subdirectory(exception)
+add_subdirectory(unordered)
\ No newline at end of file
diff --git a/libs/unordered/test/exception/CMakeLists.txt b/libs/unordered/test/exception/CMakeLists.txt
new file mode 100644
index 0000000..aacdf3d
--- /dev/null
+++ b/libs/unordered/test/exception/CMakeLists.txt
@@ -0,0 +1,25 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(test
+ constructor_exception_tests
+ copy_exception_tests
+ assign_exception_tests
+ insert_exception_tests
+ erase_exception_tests
+ rehash_exception_tests
+ )
+ boost_test_run(${test}
+ COMPILE_FLAGS ${test_compile_flags}
+ DEPENDS boost_unit_test_framework)
+endforeach(test ${unordered_tests})
+
+#-- run the swap test
+boost_test_run(swap_exception_tests
+ COMPILE_FLAGS ${swap_compile_flags}
+ DEPENDS boost_unit_test_framework)
+
diff --git a/libs/unordered/test/unordered/CMakeLists.txt b/libs/unordered/test/unordered/CMakeLists.txt
new file mode 100644
index 0000000..68d92be
--- /dev/null
+++ b/libs/unordered/test/unordered/CMakeLists.txt
@@ -0,0 +1,43 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#-------------------------------------------------------------------------------
+# Unordered Tests
+foreach(test
+ fwd_set_test
+ fwd_map_test
+ compile_set
+ compile_map
+ simple_tests
+ equivalent_keys_tests
+ constructor_tests
+ copy_tests
+ move_tests
+ assign_tests
+ insert_tests
+ insert_stable_tests
+ unnecessary_copy_tests
+ erase_tests
+ erase_equiv_tests
+ find_tests
+ at_tests
+ bucket_tests
+ load_factor_tests
+ rehash_tests
+ equality_tests
+ )
+ boost_test_run(${test}
+ COMPILE_FLAGS ${test_compile_flags}
+ DEPENDS boost_unit_test_framework)
+endforeach()
+
+boost_test_run(link_test link_test_1.cpp link_test_2.cpp)
+
+#-- run the swap test
+boost_test_run(swap_tests
+ COMPILE_FLAGS ${swap_compile_flags}
+ DEPENDS boost_unit_test_framework)
+
diff --git a/libs/utility/CMakeLists.txt b/libs/utility/CMakeLists.txt
new file mode 100644
index 0000000..f6285c4
--- /dev/null
+++ b/libs/utility/CMakeLists.txt
@@ -0,0 +1,37 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ assert.hpp
+ call_traits.hpp
+ checked_delete.hpp
+ compressed_pair.hpp
+ current_function.hpp
+ operators.hpp
+ throw_exception.hpp
+ utility.hpp
+ utility
+)
+
+# Add a library target to the build system
+boost_library_project(
+ utility
+ # SRCDIRS
+ TESTDIRS test swap/test enable_if/test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Various small utilities for C++ programming."
+ MODULARIZED
+ AUTHORS "David Abrahams <dave -at- boostpro.com>"
+ "Brad King"
+ "Douglas Gregor <doug.gregor -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/utility/enable_if/test/CMakeLists.txt b/libs/utility/enable_if/test/CMakeLists.txt
new file mode 100644
index 0000000..be95145
--- /dev/null
+++ b/libs/utility/enable_if/test/CMakeLists.txt
@@ -0,0 +1,20 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+foreach(T
+ constructors
+ dummy_arg_disambiguation
+ lazy
+ lazy_test
+ member_templates
+ namespace_disambiguation
+ no_disambiguation
+ partial_specializations
+ )
+ boost_test_run(${T} DEPENDS boost_test_exec_monitor)
+endforeach()
+
+
diff --git a/libs/utility/module.cmake b/libs/utility/module.cmake
new file mode 100644
index 0000000..4d78340
--- /dev/null
+++ b/libs/utility/module.cmake
@@ -0,0 +1 @@
+boost_module(utility DEPENDS iterator exception detail )
\ No newline at end of file
diff --git a/libs/utility/swap/test/CMakeLists.txt b/libs/utility/swap/test/CMakeLists.txt
new file mode 100644
index 0000000..2562313
--- /dev/null
+++ b/libs/utility/swap/test/CMakeLists.txt
@@ -0,0 +1,41 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(T
+ root_header_1 root_header_2
+ lib_header_1 lib_header_2
+ mixed_headers_1 mixed_headers_2)
+ boost_test_compile(${T})
+endforeach()
+
+
+# [ run primitive.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
+
+
+foreach(T
+ primitive
+ specialized_in_boost
+ specialized_in_global
+ specialized_in_other
+ specialized_in_std
+ specialized_in_boost_and_other
+ std_bitset
+ std_dateorder
+ std_string
+ std_typeinfo_ptr
+ std_vector_of_boost
+ std_vector_of_global
+ std_vector_of_other
+ no_ambiguity_in_boost
+ array_of_array_of_class
+ array_of_array_of_int
+ array_of_class
+ array_of_int
+ array_of_template)
+ boost_test_run(${T} DEPENDS boost_test_exec_monitor)
+endforeach()
+
diff --git a/libs/utility/test/CMakeLists.txt b/libs/utility/test/CMakeLists.txt
new file mode 100644
index 0000000..4ed28b6
--- /dev/null
+++ b/libs/utility/test/CMakeLists.txt
@@ -0,0 +1,47 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(utility BOOST_DEPENDS test)
+
+boost_test_run(addressof_fn_test ../addressof_fn_test.cpp)
+boost_test_run(addressof_test ../addressof_test.cpp)
+boost_test_run(addressof_test2 ../addressof_test2.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)
+boost_test_run(verify_test ../verify_test.cpp)
\ No newline at end of file
diff --git a/libs/uuid/CMakeLists.txt b/libs/uuid/CMakeLists.txt
new file mode 100644
index 0000000..7e68b86
--- /dev/null
+++ b/libs/uuid/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright (c) 2010 Isidor Zeuner
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ uuid
+)
+
+# Add a library target to the build system
+boost_library_project(
+ uuid
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "The header uuid.hpp provides an implementation of Universally Unique Identifiers."
+ MODULARIZED
+ AUTHORS "Andy Tompkins"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/uuid/module.cmake b/libs/uuid/module.cmake
new file mode 100644
index 0000000..dd00dfc
--- /dev/null
+++ b/libs/uuid/module.cmake
@@ -0,0 +1,3 @@
+boost_module(uuid)
+
+
diff --git a/libs/uuid/test/CMakeLists.txt b/libs/uuid/test/CMakeLists.txt
new file mode 100644
index 0000000..fe5475d
--- /dev/null
+++ b/libs/uuid/test/CMakeLists.txt
@@ -0,0 +1,52 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(uuid BOOST_DEPENDS test serialization)
+
+
+ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_UUID_STATIC_LINK)
+
+
+# Make sure each header file is self-contained
+SET(UUID_SUFFIXES uuid uuid_io uuid_serialize uuid_generators nil_generator
+ name_generator string_generator random_generator)
+
+FOREACH(uuid_suffix ${UUID_SUFFIXES})
+ boost_test_compile(compile_${uuid_suffix} compile_${uuid_suffix}.cpp)
+ENDFOREACH(uuid_suffix ${UUID_SUFFIXES})
+
+boost_test_compile(compile_uuid_no_type_traits
+ compile_uuid.cpp
+ COMPILE_FLAGS -DBOOST_UUID_NO_TYPE_TRAITS
+ )
+
+#
+SET(TEST_SUFFIXES
+ uuid # main test
+ io # uuid_io.hpp
+ nil_generator name_generator string_generator random_generator # generators
+ tagging # tagging an object
+ uuid_class # test uuid class
+ sha1 # test sha1 hash function
+ )
+
+FOREACH(test_suffix ${TEST_SUFFIXES})
+ boost_test_run(test_${test_suffix} test_${test_suffix}.cpp)
+ENDFOREACH(test_suffix ${TEST_SUFFIXES})
+
+# Test inclucing all .hpp files in 2 translations units
+# to look for issues when using multiple translation units
+# eg. missing inline on a global functionstate is not missing
+boost_test_run(test_include test_include1.cpp test_include2.cpp)
+
+# Test serializing uuids
+boost_test_run(test_serialization test_serialization.cpp
+ DEPENDS boost_serialization SHARED)
+
+# TODO - This test fails to like with boost_wserialization
+#boost_test_run(test_serialization test_serialization.cpp
+# DEPENDS boost_serialization boost_wserialization SHARED
+# COMPILE_FLAGS -DBOOST_NO_STD_WSTREAMBUF)
diff --git a/libs/variant/CMakeLists.txt b/libs/variant/CMakeLists.txt
new file mode 100644
index 0000000..cbd2edb
--- /dev/null
+++ b/libs/variant/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ variant.hpp
+ variant
+)
+
+# Add a library target to the build system
+boost_library_project(
+ variant
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/libs/variant/module.cmake b/libs/variant/module.cmake
new file mode 100644
index 0000000..0d9b7c3
--- /dev/null
+++ b/libs/variant/module.cmake
@@ -0,0 +1 @@
+boost_module(variant DEPENDS utility)
\ No newline at end of file
diff --git a/libs/variant/test/CMakeLists.txt b/libs/variant/test/CMakeLists.txt
new file mode 100644
index 0000000..ec6ec1c
--- /dev/null
+++ b/libs/variant/test/CMakeLists.txt
@@ -0,0 +1,15 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_additional_test_dependencies(variant BOOST_DEPENDS test)
+
+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})
diff --git a/libs/wave/CMakeLists.txt b/libs/wave/CMakeLists.txt
new file mode 100644
index 0000000..0190577
--- /dev/null
+++ b/libs/wave/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ wave.hpp
+ wave
+)
+
+# Add a library target to the build system
+boost_library_project(wave
+
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "A standards-conformant and highly-configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface."
+ MODULARIZED
+ AUTHORS "Hartmut Kaiser <hartmut.kaiser -at- gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/wave/module.cmake b/libs/wave/module.cmake
new file mode 100644
index 0000000..32a3502
--- /dev/null
+++ b/libs/wave/module.cmake
@@ -0,0 +1 @@
+boost_module(wave DEPENDS filesystem program_options spirit thread intrusive)
\ No newline at end of file
diff --git a/libs/wave/src/CMakeLists.txt b/libs/wave/src/CMakeLists.txt
new file mode 100644
index 0000000..63a2115
--- /dev/null
+++ b/libs/wave/src/CMakeLists.txt
@@ -0,0 +1,24 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_library(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 boost_thread boost_date_time
+ SHARED_COMPILE_FLAGS "-DBOOST_ALL_DYN_LINK=1"
+ NO_SINGLE_THREADED
+ )
diff --git a/libs/wave/test/CMakeLists.txt b/libs/wave/test/CMakeLists.txt
new file mode 100644
index 0000000..880cf8d
--- /dev/null
+++ b/libs/wave/test/CMakeLists.txt
@@ -0,0 +1,8 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+message(STATUS "wave tests need love")
+
diff --git a/libs/xpressive/CMakeLists.txt b/libs/xpressive/CMakeLists.txt
new file mode 100644
index 0000000..c59fcaa
--- /dev/null
+++ b/libs/xpressive/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ xpressive
+)
+
+# Add a library target to the build system
+boost_library_project(
+ xpressive
+ # SRCDIRS
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars."
+ MODULARIZED
+ AUTHORS "Eric Niebler <eric -at- boost-consulting.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/xpressive/module.cmake b/libs/xpressive/module.cmake
new file mode 100644
index 0000000..ecd1f5e
--- /dev/null
+++ b/libs/xpressive/module.cmake
@@ -0,0 +1 @@
+boost_module(xpressive DEPENDS fusion proto intrusive numeric)
\ No newline at end of file
diff --git a/libs/xpressive/test/CMakeLists.txt b/libs/xpressive/test/CMakeLists.txt
new file mode 100644
index 0000000..66cb9d3
--- /dev/null
+++ b/libs/xpressive/test/CMakeLists.txt
@@ -0,0 +1,84 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# : 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")
+boost_additional_test_dependencies(xpressive BOOST_DEPENDS test intrusive numeric range typeof function_types)
+
+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_format
+ test_cycles
+ test_non_char
+ test_static
+ test_actions
+ test_assert
+ test_symbols
+ test_dynamic
+ test_dynamic_grammar
+ test_skip
+ )
+
+foreach(runtest ${runtests})
+ boost_test_run(${runtest} DEPENDS boost_unit_test_framework )
+endforeach(runtest ${runtests})
+
+boost_test_link(multiple_defs multiple_defs1.cpp multiple_defs2.cpp)
+
+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})
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
new file mode 100644
index 0000000..31ac39f
--- /dev/null
+++ b/tools/CMakeLists.txt
@@ -0,0 +1,122 @@
+#
+# Copyright Troy D. Straszheim, Doug Gregor
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+macro(boost_collect_lib_dependencies varname filename)
+ #message(STATUS "boost_collect_lib_dependencies.... ${Boost_SOURCE_DIR}/libs")
+ file(GLOB BOOST_LIBRARY_CMAKE_FILES
+ RELATIVE "${CMAKE_LIBS_SOURCE_DIR}" "${BOOST_LIBS_SOURCE_DIR}/*/${filename}")
+ foreach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
+ #message(STATUS "-- BOOST_LIB_CMAKE_FILE: ${BOOST_LIB_CMAKE_FILE}")
+ get_filename_component(BOOST_LIB_DIR ${BOOST_LIB_CMAKE_FILE} PATH)
+ set(${varname} ${${varname}} ${BOOST_LIB_DIR})
+ endforeach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
+endmacro(boost_collect_lib_dependencies varname)
+
+
+# Find all of the subdirectories with .cmake files in them. These are
+# the libraries with dependencies.
+boost_collect_lib_dependencies(BOOST_MODULE_DIRS "module.cmake")
+foreach(subdir ${BOOST_MODULE_DIRS})
+ #message("BOOST_MODULE_DIRS=${BOOST_MODULE_DIRS}")
+ include("${subdir}/module.cmake")
+endforeach(subdir)
+
+
+###############################################################################
+# This macro is an internal utility macro
+# TODO: Document this if it stays around
+#
+# example usage:
+# boost_tool_dependencies( BOOST_DEPENDS test)
+#
+macro(boost_tool_dependencies)
+ parse_arguments(BOOST_TEST
+ "BOOST_DEPENDS"
+ ""
+ ${ARGN}
+ )
+ set (THIS_TEST_DEPENDS_ALL "")
+ # message (STATUS "BOOST_TEST_BOOST_DEPENDS: ${BOOST_TEST_BOOST_DEPENDS}")
+ foreach(libname ${BOOST_TEST_BOOST_DEPENDS})
+ # message(STATUS "libname: ${libname}")
+ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
+ # message(STATUS "${THIS_PROJECT_DEPENDS}: ${${THIS_PROJECT_DEPENDS}}")
+ # set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} )
+ # message(STATUS "${THIS_TEST_DEPENDS_ALL}: ${${THIS_TEST_DEPENDS_ALL}}")
+
+ list(FIND THIS_TEST_DEPENDS_ALL ${libname} DEPDEP_INDEX)
+ if (DEPDEP_INDEX EQUAL -1)
+ list(APPEND THIS_TEST_DEPENDS_ALL ${libname})
+ set(ADDED_DEPS TRUE)
+ endif()
+ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
+ # message(STATUS "${additional_lib}: ===> ${${THIS_PROJECT_DEPENDS}}")
+ set(ADDED_DEPS TRUE)
+ while (ADDED_DEPS)
+ set(ADDED_DEPS FALSE)
+ foreach(DEP ${THIS_TEST_DEPENDS_ALL})
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
+ foreach(DEPDEP ${${DEP_DEPENDS}})
+ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
+ if (DEPDEP_INDEX EQUAL -1)
+ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP})
+ set(ADDED_DEPS TRUE)
+ endif()
+ endforeach()
+ endforeach()
+ endwhile()
+ # message(STATUS "-> Dependencies for ${libname}")
+ # message(STATUS "-> THIS_TEST_DEPENDS_ALL: ${THIS_TEST_DEPENDS_ALL}")
+
+ endforeach(libname ${BOOST_TEST_BOOST_DEPENDS})
+ foreach (include ${THIS_TEST_DEPENDS_ALL})
+ #
+ # Modularization temporarily disabled
+ #
+ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
+ #
+ endforeach (include ${includes})
+
+endmacro(boost_tool_dependencies)
+#
+###############################################################################
+
+set(BUILD_TOOLS "NONE" CACHE STRING "Semicolon-separated list of tools to build")
+
+message(STATUS "")
+if (BUILD_TOOLS STREQUAL "NONE")
+
+ colormsg(HIGRAY "BUILD_TOOLS is NONE: skipping tools.")
+
+else()
+
+ colormsg(_HIBLUE_ "Reading tools...")
+ message(STATUS "")
+
+ file(GLOB BOOST_TOOL_CMAKE_FILES
+ RELATIVE "${CMAKE_TOOLS_PARENT_DIR}" "${BOOST_TOOLS_PARENT_DIR}/*/CMakeLists.txt")
+ foreach(BOOST_TOOL_CMAKE_FILE ${BOOST_TOOL_CMAKE_FILES})
+ get_filename_component(BOOST_TOOL_DIR ${BOOST_TOOL_CMAKE_FILE} PATH)
+ set(tooldirs ${tooldirs} ${BOOST_TOOL_DIR})
+ endforeach()
+
+ foreach(tooldir
+ ${tooldirs}
+ )
+ get_filename_component(tooldirname ${tooldir} NAME)
+ list(FIND BUILD_TOOLS ${tooldir} THIS_BUILD_TOOLS_INDEX)
+ if ((THIS_BUILD_TOOLS_INDEX GREATER -1) OR (BUILD_TOOLS STREQUAL "ALL"))
+ message(STATUS "+ ${tooldirname}")
+ add_subdirectory(${tooldir})
+ endif()
+
+ endforeach()
+
+endif()
+
+message(STATUS "")
+
diff --git a/tools/bcp/CMakeLists.txt b/tools/bcp/CMakeLists.txt
new file mode 100644
index 0000000..8c435b7
--- /dev/null
+++ b/tools/bcp/CMakeLists.txt
@@ -0,0 +1,32 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_tool_project(bcp
+ DESCRIPTION "The bcp utility is a tool for extracting subsets of Boost."
+ AUTHORS "John Maddock"
+ )
+
+add_definitions(-DBOOST_REGEX_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1)
+
+boost_add_executable( bcp
+
+ add_path.cpp
+ bcp_imp.cpp
+ copy_path.cpp
+ file_types.cpp
+ fileview.cpp
+ main.cpp
+ path_operations.cpp
+ scan_cvs_path.cpp
+ licence_info.cpp
+ scan_licence.cpp
+ output_licence_info.cpp
+
+ DEPENDS boost_system boost_filesystem boost_prg_exec_monitor boost_regex
+ STATIC_COMPILE_FLAGS -DBOOST_SYSTEM_STATIC_LINK=1
+ RELEASE
+ STATIC
+ )
diff --git a/tools/build/CMake/Boost.bmp b/tools/build/CMake/Boost.bmp
new file mode 100644
index 0000000..944ab5e
Binary files /dev/null and b/tools/build/CMake/Boost.bmp differ
diff --git a/tools/build/CMake/Boost.png b/tools/build/CMake/Boost.png
new file mode 100644
index 0000000..b4d51fc
Binary files /dev/null and b/tools/build/CMake/Boost.png differ
diff --git a/tools/build/CMake/BoostConfig.cmake b/tools/build/CMake/BoostConfig.cmake
new file mode 100644
index 0000000..3519294
--- /dev/null
+++ b/tools/build/CMake/BoostConfig.cmake
@@ -0,0 +1,249 @@
+##########################################################################
+# Boost Configuration Support #
+##########################################################################
+# Copyright (C) 2007 Douglas Gregor <doug.gregor@gmail.com> #
+# Copyright (C) 2007 Troy Straszheim #
+# #
+# Distributed under the Boost Software License, Version 1.0. #
+# See accompanying file LICENSE_1_0.txt or copy at #
+# http://www.boost.org/LICENSE_1_0.txt #
+##########################################################################
+# 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)
+ set(BOOST_TOOLSET "unknown")
+ if (MSVC60)
+ set(BOOST_TOOLSET "vc6")
+ set(BOOST_COMPILER "msvc")
+ set(BOOST_COMPILER_VERSION "6.0")
+ elseif(MSVC70)
+ set(BOOST_TOOLSET "vc7")
+ set(BOOST_COMPILER "msvc")
+ set(BOOST_COMPILER_VERSION "7.0")
+ elseif(MSVC71)
+ set(BOOST_TOOLSET "vc71")
+ set(BOOST_COMPILER "msvc")
+ set(BOOST_COMPILER_VERSION "7.1")
+ elseif(MSVC80)
+ set(BOOST_TOOLSET "vc80")
+ set(BOOST_COMPILER "msvc")
+ set(BOOST_COMPILER_VERSION "8.0")
+ elseif(MSVC90)
+ set(BOOST_TOOLSET "vc90")
+ set(BOOST_COMPILER "msvc")
+ set(BOOST_COMPILER_VERSION "9.0")
+ elseif(MSVC)
+ set(BOOST_TOOLSET "vc")
+ set(BOOST_COMPILER "msvc")
+ set(BOOST_COMPILER_VERSION "unknown")
+ elseif(BORLAND)
+ set(BOOST_TOOLSET "bcb")
+ set(BOOST_COMPILER "msvc")
+ set(BOOST_COMPILER_VERSION "unknown")
+ elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+ set(BOOST_COMPILER "gcc")
+
+ # 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}")
+
+ # Match the full compiler version for the build name
+ string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" BOOST_COMPILER_VERSION
+ "${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}")
+ elseif(CMAKE_CXX_COMPILER MATCHES "/icpc$"
+ OR CMAKE_CXX_COMPILER MATCHES "/icpc.exe$"
+ OR CMAKE_CXX_COMPILER MATCHES "/icl.exe$")
+ set(BOOST_TOOLSET "intel")
+ set(BOOST_COMPILER "intel")
+ set(CMAKE_COMPILER_IS_INTEL ON)
+ execute_process(
+ COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion"
+ OUTPUT_VARIABLE INTEL_VERSION_STRING
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(BOOST_COMPILER_VERSION ${INTEL_VERSION_STRING})
+ endif(MSVC60)
+endif (NOT BOOST_TOOLSET)
+
+boost_report_pretty("Boost compiler" BOOST_COMPILER)
+boost_report_pretty("Boost toolset" BOOST_TOOLSET)
+
+# create cache entry
+set(BOOST_PLATFORM "unknown")
+
+# Multi-threading support
+if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+ set(MULTI_THREADED_COMPILE_FLAGS "-pthreads")
+ set(MULTI_THREADED_LINK_LIBS rt)
+ set(BOOST_PLATFORM "sunos")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "BeOS")
+ # No threading options necessary for BeOS
+ set(BOOST_PLATFORM "beos")
+elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD")
+ set(MULTI_THREADED_COMPILE_FLAGS "-pthread")
+ set(MULTI_THREADED_LINK_LIBS pthread)
+ set(BOOST_PLATFORM "bsd")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly")
+ # DragonFly is a FreeBSD bariant
+ set(MULTI_THREADED_COMPILE_FLAGS "-pthread")
+ set(BOOST_PLATFORM "dragonfly")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "IRIX")
+ # TODO: GCC on Irix doesn't support multi-threading?
+ set(BOOST_PLATFORM "irix")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
+ # TODO: gcc on HP-UX does not support multi-threading?
+ set(BOOST_PLATFORM "hpux")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ # No threading options necessary for Mac OS X
+ set(BOOST_PLATFORM "macos")
+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)
+
+ if (MINGW)
+ set(BOOST_PLATFORM "mingw")
+ elseif(CYGWIN)
+ set(BOOST_PLATFORM "cygwin")
+ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(BOOST_PLATFORM "linux")
+ else()
+ set(BOOST_PLATFORM "unix")
+ endif()
+elseif(WIN32)
+ set(BOOST_PLATFORM "windows")
+else()
+ set(BOOST_PLATFORM "unknown")
+endif()
+
+# create cache entry
+set(BOOST_PLATFORM ${BOOST_PLATFORM} CACHE STRING "Boost platform name")
+
+boost_report_pretty("Boost platform" BOOST_PLATFORM)
+
+# 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")
+
+# Set the build name
+set(BUILDNAME "${BOOST_COMPILER}-${BOOST_COMPILER_VERSION}-${BOOST_PLATFORM}")
+boost_report_pretty("Build name" BUILDNAME)
+
+set(BUILD_EXAMPLES "NONE" CACHE STRING "Semicolon-separated list of lowercase project names that should have their examples built, or \"ALL\"")
+
+set(BUILD_PROJECTS "ALL" CACHE STRING "Semicolon-separated list of project to build, or \"ALL\"")
+
+set(LIB_SUFFIX "" CACHE STRING "Name of suffix on 'lib' directory to which libs will be installed (e.g. add '64' here on certain 64 bit unices)")
+if(LIB_SUFFIX)
+ boost_report_pretty("Lib suffix" LIB_SUFFIX)
+endif()
+
+#
+# Only modify these if you're testing the cmake build itself
+#
+if(BOOST_CMAKE_SELFTEST)
+ colormsg(HIMAG "***")
+ colormsg(HIMAG "*** SELFTEST ENABLED")
+ colormsg(HIMAG "***")
+ set(root "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/test")
+ set(BOOST_CMAKE_SELFTEST_ROOT ${root})
+else()
+ set(root "${CMAKE_CURRENT_SOURCE_DIR}")
+endif()
+
+set(BOOST_LIBS_PARENT_DIR "${root}/libs" CACHE INTERNAL
+ "Directory to glob tools from... only change to test the build system itself")
+
+set(BOOST_TOOLS_PARENT_DIR "${root}/tools" CACHE INTERNAL
+ "Directory to glob tools from... only change to test the build system itself")
+
diff --git a/tools/build/CMake/BoostCore.cmake b/tools/build/CMake/BoostCore.cmake
new file mode 100644
index 0000000..5c810c6
--- /dev/null
+++ b/tools/build/CMake/BoostCore.cmake
@@ -0,0 +1,1579 @@
+##########################################################################
+# Core Functionality for Boost #
+##########################################################################
+# Copyright (C) 2007-2009 Douglas Gregor <doug.gregor@gmail.com> #
+# Copyright (C) 2007-2009 Troy Straszheim <troy@resophonic.com> #
+# #
+# 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 ...]
+# [DEPENDS lib1 lib2 ...]
+# [DESCRIPTION description]
+# [AUTHORS author1 author2 ...]
+# [MAINTAINERS maint1 maint2 ...]
+# [MODULARIZED])
+#
+# 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. DEPENDS lists the names of the other
+# Boost libraries that this library depends on. If the dependencies
+# are not satisfied (e.g., because the library isn't present or its
+# build is turned off), this library won't be built.
+#
+# DESCRIPTION provides a brief description of the library, which can
+# be used to summarize the behavior of the library for a user. AUTHORS
+# lists the authors of the library, while MAINTAINERS lists the active
+# maintainers. If MAINTAINERS is left empty, it is assumed that the
+# authors are still maintaining the library. Both authors and maintainers
+# should have their name followed by their current e-mail address in
+# angle brackets, with -at- instead of the at sign, e.g.,
+# Douglas Gregor <doug.gregor -at- gmail.com>
+#
+# Example:
+# boost_library_project(
+# Thread
+# SRCDIRS src
+# TESTDIRS test
+# )
+macro(boost_library_project LIBNAME)
+ parse_arguments(THIS_PROJECT
+ "SRCDIRS;TESTDIRS;EXAMPLEDIRS;HEADERS;DOCDIRS;DESCRIPTION;AUTHORS;MAINTAINERS"
+ "MODULARIZED"
+ ${ARGN}
+ )
+
+ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its
+ # dependencies, its dependencies' dependencies, etc., transitively.
+ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_PROJECT_DEPENDS)
+ set(THIS_PROJECT_DEPENDS_ALL ${${THIS_PROJECT_DEPENDS}})
+ set(ADDED_DEPS TRUE)
+ while (ADDED_DEPS)
+ set(ADDED_DEPS FALSE)
+ foreach(DEP ${THIS_PROJECT_DEPENDS_ALL})
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
+ foreach(DEPDEP ${${DEP_DEPENDS}})
+ list(FIND THIS_PROJECT_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
+ if (DEPDEP_INDEX EQUAL -1)
+ list(APPEND THIS_PROJECT_DEPENDS_ALL ${DEPDEP})
+ set(ADDED_DEPS TRUE)
+ endif()
+ endforeach()
+ endforeach()
+ endwhile()
+
+ string(TOLOWER "${LIBNAME}" libname)
+ string(TOLOWER "${LIBNAME}" BOOST_PROJECT_NAME)
+ string(TOUPPER "${LIBNAME}" ULIBNAME)
+ project(${LIBNAME})
+
+
+ if (THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS)
+
+ # We only build a component group for modularized libraries or libraries
+ # that have compiled parts.
+ if (COMMAND cpack_add_component_group)
+ # Compute a reasonable description for this library.
+ if (THIS_PROJECT_DESCRIPTION)
+ set(THIS_PROJECT_DESCRIPTION "Boost.${LIBNAME}\n\n${THIS_PROJECT_DESCRIPTION}")
+
+ if (THIS_PROJECT_AUTHORS)
+ list(LENGTH THIS_PROJECT_AUTHORS THIS_PROJECT_NUM_AUTHORS)
+ if (THIS_PROJECT_NUM_AUTHORS EQUAL 1)
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n\nAuthor: ")
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n\nAuthors: ")
+ endif()
+ set(THIS_PROJECT_FIRST_AUTHOR TRUE)
+ foreach(AUTHOR ${THIS_PROJECT_AUTHORS})
+ string(REGEX REPLACE " *-at- *" "@" AUTHOR ${AUTHOR})
+ if (THIS_PROJECT_FIRST_AUTHOR)
+ set(THIS_PROJECT_FIRST_AUTHOR FALSE)
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n ")
+ endif()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}${AUTHOR}")
+ endforeach(AUTHOR)
+ endif (THIS_PROJECT_AUTHORS)
+
+ if (THIS_PROJECT_MAINTAINERS)
+ list(LENGTH THIS_PROJECT_MAINTAINERS THIS_PROJECT_NUM_MAINTAINERS)
+ if (THIS_PROJECT_NUM_MAINTAINERS EQUAL 1)
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\nMaintainer: ")
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\nMaintainers: ")
+ endif()
+ set(THIS_PROJECT_FIRST_MAINTAINER TRUE)
+ foreach(MAINTAINER ${THIS_PROJECT_MAINTAINERS})
+ string(REGEX REPLACE " *-at- *" "@" MAINTAINER ${MAINTAINER})
+ if (THIS_PROJECT_FIRST_MAINTAINER)
+ set(THIS_PROJECT_FIRST_MAINTAINER FALSE)
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n ")
+ endif()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}${MAINTAINER}")
+ endforeach(MAINTAINER)
+ endif (THIS_PROJECT_MAINTAINERS)
+ endif (THIS_PROJECT_DESCRIPTION)
+
+ # Create a component group for this library
+ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname})
+ cpack_add_component_group(${CPACK_COMPONENT_GROUP_NAME}
+ DISPLAY_NAME "${LIBNAME}"
+ DESCRIPTION ${THIS_PROJECT_DESCRIPTION})
+ endif () # COMMAND cpake_add_component_group
+ endif () # THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS
+
+ if (THIS_PROJECT_MODULARIZED)
+ #
+ # Don't add this module's include directory
+ # until modularization makes sense
+ #
+ # include_directories("${Boost_SOURCE_DIR}/libs/${libname}/include")
+
+ #
+ # Horrible hackery. Make install of headers from modularized directories
+ # OPTIONAL, which only works on cmake >= 2.7
+ #
+ #
+ # TDS 20091009: disable this modularized stuff, as forcing
+ # people to make modularize (which wastes your source directory)
+ # is a huge hassle and anyway it looks like the 'modularization'
+ # of boost is dead for a while.
+ #
+
+ # if (${CMAKE_MAJOR_VERSION} GREATER 1 AND ${CMAKE_MINOR_VERSION} GREATER 6)
+ # # Install this module's headers
+ # install(DIRECTORY include/boost
+ # DESTINATION ${BOOST_HEADER_DIR}
+ # ${_INSTALL_OPTIONAL}
+ # COMPONENT ${libname}_headers
+ # PATTERN "CVS" EXCLUDE
+ # PATTERN ".svn" EXCLUDE)
+ # else()
+ # if (EXISTS include/boost)
+ # # Install this module's headers
+ # install(DIRECTORY include/boost
+ # DESTINATION ${BOOST_HEADER_DIR}
+ # ${_INSTALL_OPTIONAL}
+ # COMPONENT ${libname}_headers
+ # PATTERN "CVS" EXCLUDE
+ # PATTERN ".svn" EXCLUDE)
+ # endif()
+ # endif()
+
+
+ if (COMMAND cpack_add_component)
+ # Determine the header dependencies
+ set(THIS_PROJECT_HEADER_DEPENDS)
+ foreach(DEP ${${THIS_PROJECT_DEPENDS}})
+ string(TOLOWER ${DEP} dep)
+ if (${dep} STREQUAL "serialization")
+ # TODO: Ugly, ugly hack until the serialization library is modularized
+ elseif (${dep} STREQUAL "thread")
+ else()
+ list(APPEND THIS_PROJECT_HEADER_DEPENDS ${dep}_headers)
+ endif()
+ endforeach(DEP)
+
+ # Tell CPack about the headers component
+ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname})
+ cpack_add_component(${libname}_headers
+ DISPLAY_NAME "Header files"
+ GROUP ${CPACK_COMPONENT_GROUP_NAME}
+ DEPENDS ${THIS_PROJECT_HEADER_DEPENDS})
+ endif ()
+ endif () # THIS_PROJECT_MODULARIZED
+
+ #-- This is here to debug the modularize code
+ set(modularize_debug FALSE)
+ if (modularize_debug)
+ set(modularize_output ${Boost_BINARY_DIR})
+ set(modularize_libs_dir "modularize")
+ else (modularize_debug)
+ set(modularize_output ${Boost_SOURCE_DIR})
+ set(modularize_libs_dir "libs")
+ endif(modularize_debug)
+
+ #
+ # Modularization code
+ #
+ if(THIS_PROJECT_HEADERS)
+ set(${LIBNAME}-modularize-commands)
+ foreach(item ${THIS_PROJECT_HEADERS})
+ if(EXISTS "${Boost_SOURCE_DIR}/boost/${item}")
+ if(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}")
+ list(APPEND ${LIBNAME}-modularize-commands
+ COMMAND "${CMAKE_COMMAND}" -E copy_directory
+ "${Boost_SOURCE_DIR}/boost/${item}"
+ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}"
+ )
+ if (NOT modularize_debug)
+ list(APPEND ${LIBNAME}-modularize-commands
+ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${Boost_SOURCE_DIR}/boost/${item}"
+ )
+ endif (NOT modularize_debug)
+ else(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}")
+ list(APPEND ${LIBNAME}-modularize-commands
+ COMMAND "${CMAKE_COMMAND}" -E copy
+ "${Boost_SOURCE_DIR}/boost/${item}"
+ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}"
+ )
+ if (NOT modularize_debug)
+ list(APPEND ${LIBNAME}-modularize-commands
+ COMMAND "${CMAKE_COMMAND}" -E remove "${Boost_SOURCE_DIR}/boost/${item}"
+ )
+ endif (NOT modularize_debug)
+
+ endif(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}")
+ elseif(EXISTS "${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/include/boost/${item}")
+ # Okay; already modularized
+ else()
+ message(SEND_ERROR
+ "Header or directory boost/${item} does not exist. The HEADERS argument in ${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/CMakeLists.txt should be updated.")
+ endif()
+ endforeach(item)
+
+ if (${LIBNAME}-modularize-commands)
+ set(${LIBNAME}-modularize-commands
+ # COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/libs/${libname}/include"
+ COMMAND "${CMAKE_COMMAND}" -E make_directory
+ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost"
+ ${${LIBNAME}-modularize-commands}
+ )
+ if (NOT modularize_debug)
+ set(${LIBNAME}-modularize-commands
+ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/${modularize_libs_dir}/${libname}/include"
+ ${${LIBNAME}-modularize-commands}
+ )
+ endif (NOT modularize_debug)
+ # disable modularization
+ # add_custom_target(${LIBNAME}-modularize
+ # ${${LIBNAME}-modularize-commands}
+ # COMMENT "Modularizing ${LIBNAME} headers to project-local dir from monolithic boost dir"
+ # )
+
+ if(THIS_PROJECT_MODULARIZED)
+ #
+ # Temporarily disable modularization
+ #
+ # add_dependencies(modularize ${LIBNAME}-modularize)
+ #
+ endif(THIS_PROJECT_MODULARIZED)
+ endif()
+ endif(THIS_PROJECT_HEADERS)
+
+ # For each of the modular libraries on which this project depends,
+ # add the include path for that library.
+ set(THIS_PROJECT_HAS_HEADER_DEPENDS FALSE)
+ # Temporarily disable modularization stuff.
+ # foreach(DEP ${THIS_PROJECT_DEPENDS_ALL})
+ # include_directories("${modularize_output}/${modularize_libs_dir}/${DEP}/include")
+ # endforeach(DEP)
+
+ # TODO: is this still necessary?
+ 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/${BOOST_PROJECT_NAME})
+ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME})
+ endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME})
+
+ # Include each of the source directories
+ if(THIS_PROJECT_SRCDIRS)
+ foreach(SUBDIR ${THIS_PROJECT_SRCDIRS})
+ add_subdirectory(${SUBDIR})
+ endforeach(SUBDIR ${THIS_PROJECT_SRCDIRS})
+ endif()
+
+ set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE)
+
+ #set(BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS} PARENT_SCOPE)
+ #message("BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS}")
+ #set(BOOST_ALL_COMPONENTS ${LIBNAME} ${BOOST_ALL_COMPONENTS} PARENT_SCOPE)
+
+ list(FIND BUILD_TESTS ${libname} BUILD_TESTS_INDEX)
+ if ((BUILD_TESTS_INDEX GREATER -1) OR (BUILD_TESTS STREQUAL "ALL"))
+ # set the tests directories list for later inclusion
+ # project(${libname}-tests)
+ if (THIS_PROJECT_TESTDIRS)
+ set(BOOST_TEST_PROJECTS ${ULIBNAME} ${BOOST_TEST_PROJECTS} PARENT_SCOPE)
+ endif()
+ foreach(SUBDIR ${THIS_PROJECT_TESTDIRS})
+ # message(STATUS "+-- ${SUBDIR}")
+ # add_subdirectory(${SUBDIR})
+ set(BOOST_${ULIBNAME}_TESTDIRS
+ ${BOOST_${ULIBNAME}_TESTDIRS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR}
+ PARENT_SCOPE)
+ endforeach()
+ endif()
+
+ list(FIND BUILD_EXAMPLES ${libname} BUILD_EXAMPLES_INDEX)
+ if ((BUILD_EXAMPLES_INDEX GREATER -1) OR (BUILD_EXAMPLES STREQUAL "ALL"))
+ project(${libname}-examples)
+ # Include the example directories.
+ foreach(SUBDIR ${THIS_PROJECT_EXAMPLEDIRS})
+ message(STATUS "+-- ${SUBDIR}")
+ add_subdirectory(${SUBDIR})
+ endforeach()
+ endif()
+
+ if (BUILD_DOCUMENTATION AND THIS_PROJECT_DOCDIRS)
+ foreach(SUBDIR ${THIS_PROJECT_DOCDIRS})
+ add_subdirectory(${SUBDIR})
+ endforeach(SUBDIR)
+ endif ()
+endmacro(boost_library_project)
+
+macro(boost_tool_project TOOLNAME)
+ parse_arguments(THIS_PROJECT
+ "DESCRIPTION;AUTHORS;MAINTAINERS"
+ ""
+ ${ARGN}
+ )
+
+ set(THIS_PROJECT_IS_TOOL TRUE)
+
+ string(TOUPPER ${TOOLNAME} UTOOLNAME)
+ project(${TOOLNAME})
+
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+ set(THIS_PROJECT_OKAY ON)
+ set(THIS_PROJECT_FAILED_DEPS "")
+
+ # message(">>> ${BOOST_${UTOOLNAME}_DEPENDS}")
+ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS})
+ # get_target_property(dep_location boost_${DEP} TYPE)
+ # message("${DEP} TYPE=${dep_location}")
+ # if (NOT ${dep_location})
+ # set(THIS_PROJECT_OKAY OFF)
+ # set(THIS_PROJECT_FAILED_DEPS "${THIS_PROJECT_FAILED_DEPS} ${DEP}\n")
+ # endif (NOT ${dep_location})
+ # endforeach(DEP)
+ #
+ # if (NOT THIS_PROJECT_OKAY)
+ # #if (BUILD_${UTOOLNAME})
+ # # The user explicitly turned on this tool in a prior
+ # # iteration, but it can no longer be built because one of the
+ # # dependencies was turned off. Force this option off and
+ # # complain about it.
+ # set(BUILD_${UTOOLNAME} OFF CACHE BOOL "Build ${TOOLNAME}" FORCE)
+ # message(SEND_ERROR "Cannot build ${TOOLNAME} due to missing library dependencies:\n${THIS_PROJECT_FAILED_DEPS}")
+ # #endif ()
+ # endif (NOT THIS_PROJECT_OKAY)
+ #
+ # if(BUILD_${UTOOLNAME} AND THIS_PROJECT_OKAY)
+ # string(TOLOWER "${TOOLNAME}" toolname)
+ #
+ # # Add this module's include directory
+ #
+ # # For each of the modular libraries on which this project depends,
+ # # add the include path for that library.
+ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS})
+ # string(TOUPPER ${DEP} UDEP)
+ # #
+ # # Modularization disabled
+ # #
+ # # include_directories("${Boost_SOURCE_DIR}/libs/${DEP}/include")
+ # #
+ # endforeach(DEP)
+ # endif()
+endmacro(boost_tool_project)
+
+#TODO: Finish this documentation
+# Defines dependencies of a boost project and testing targets. Use as:
+#
+# boost_module(libname
+# DEPENDS srcdir1 srcdir2 ...
+# TEST_DEPENDS testdir1 testdir2 ...
+#
+# Example:
+# boost_library_project(
+# Thread
+# SRCDIRS src
+# TESTDIRS test
+# )
+#
+macro(boost_module LIBNAME)
+ parse_arguments(THIS_MODULE
+ "DEPENDS"
+ ""
+ ${ARGN}
+ )
+
+ # Export BOOST_${LIBNAME}_DEPENDS
+ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_MODULE_LIBNAME_DEPENDS)
+ set(${THIS_MODULE_LIBNAME_DEPENDS} ${THIS_MODULE_DEPENDS})
+
+ # message(STATUS "----------------------------------------------------------------")
+ # message(STATUS "LIBNAME: ${LIBNAME}")
+ # message(STATUS "THIS_MODULE_DEPENDS: ${THIS_MODULE_DEPENDS}")
+ # message(STATUS "THIS_MODULE_LIBNAME_DEPENDS: ${THIS_MODULE_LIBNAME_DEPENDS}")
+ # message(STATUS "${THIS_MODULE_LIBNAME_DEPENDS}: ${${THIS_MODULE_LIBNAME_DEPENDS}}")
+ # message(STATUS "THIS_MODULE_TEST_DEPENDS: ${THIS_MODULE_TEST_DEPENDS}")
+ # message(STATUS "THIS_MODULE_LIBNAME_TEST_DEPENDS: ${THIS_MODULE_LIBNAME_TEST_DEPENDS}")
+ # message(STATUS "${THIS_MODULE_LIBNAME_TEST_DEPENDS}: ${${THIS_MODULE_LIBNAME_TEST_DEPENDS}}")
+endmacro(boost_module)
+
+# 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 three 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. If option MANGLE_LIBNAMES is OFF, this
+# variable is set to the empty string.
+#
+# VARIANT_DISPLAY_NAME: The display name that describes this
+# variant, e.g., "Debug, static, multi-threaded".
+#
+macro(boost_library_variant_target_name)
+ set(VARIANT_TARGET_NAME "")
+
+ # The versioned name starts with the full Boost toolset
+ if(WINMANGLE_LIBNAMES)
+ set(VARIANT_VERSIONED_NAME "-${BOOST_TOOLSET}")
+ else(WINMANGLE_LIBNAMES)
+ set(VARIANT_VERSIONED_NAME "")
+ endif(WINMANGLE_LIBNAMES)
+
+ # 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")
+ set(VARIANT_DISPLAY_NAME "Static")
+ else (VARIANT_IS_STATIC)
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-shared")
+ set(VARIANT_DISPLAY_NAME "Shared")
+ endif (VARIANT_IS_STATIC)
+
+ # Add "multi-threaded" to the display name for multithreaded libraries.
+ if (VARIANT_IS_MT)
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, multi-threaded")
+ endif ()
+
+ # 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")
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, static runtime")
+ 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")
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, Python debugging")
+ 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})
+ # message("ARGN=${ARGN}")
+ if (VARIANT_IS_DEBUG)
+ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-debug")
+
+ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}d")
+
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, debug")
+ else()
+ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, release")
+ endif()
+
+ # 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)
+
+ if(WINMANGLE_LIBNAMES)
+ # 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)
+ endif(WINMANGLE_LIBNAMES)
+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 NO_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)
+ set(SELECT_VARIANT_FAILURE_REASONS "NO_${ARG}")
+ 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 ENABLE_SHARED option is
+ # off, don't build shared libraries.
+ if(NOT ENABLE_${ARG})
+ set(THIS_VARIANT_OKAY FALSE)
+ set(SELECT_VARIANT_FAILURE_REASONS "variant disabled because ENABLE_${ARG} is OFF")
+ endif(NOT ENABLE_${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})
+
+ # message("boost_library_variant(${LIBNAME} ${ARGN})")
+
+ # Handle feature interactions
+ boost_feature_interactions("THIS_VARIANT" ${ARGN})
+ boost_library_variant_target_name(${ARGN})
+ # Determine the suffix for this library target
+ set(VARIANT_LIBNAME "${LIBNAME}${VARIANT_TARGET_NAME}")
+ trace(VARIANT_LIBNAME)
+
+ set(DEPENDENCY_FAILURES "")
+ foreach(dep ${THIS_LIB_DEPENDS})
+ trace(dep)
+ dependency_check("${dep}${VARIANT_TARGET_NAME}")
+ endforeach()
+ trace(THIS_VARIANT_OKAY)
+ trace(DEPENDENCY_FAILURES)
+
+ #
+ # Announce dependency failures only if this variant
+ # is otherwise OK
+ #
+ if(THIS_VARIANT_OKAY AND DEPENDENCY_FAILURES)
+ set(THIS_VARIANT_OKAY FALSE)
+ # separate_arguments(DEPENDENCY_FAILURES)
+ colormsg(HIRED " ${LIBNAME}${VARIANT_TARGET_NAME}" RED "(library) disabled due to dependency failures:")
+ foreach (depfail ${DEPENDENCY_FAILURES})
+ colormsg(RED " " YELLOW "${depfail}")
+ endforeach()
+ endif()
+
+ if (THIS_VARIANT_OKAY)
+
+ # We handle static vs. dynamic libraries differently
+ list_contains(THIS_LIB_IS_STATIC "STATIC" ${ARGN})
+
+ if (THIS_LIB_IS_STATIC)
+
+ add_library(${VARIANT_LIBNAME} STATIC ${THIS_LIB_SOURCES})
+
+ # 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 OR MINGW))
+ set_target_properties(${VARIANT_LIBNAME}
+ PROPERTIES
+ PREFIX "${LIBPREFIX}"
+ )
+ endif()
+
+ 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}"
+ LABELS "${BOOST_PROJECT_NAME}"
+ )
+
+ elseif (THIS_LIB_MODULE)
+
+ add_library(${VARIANT_LIBNAME} MODULE ${THIS_LIB_SOURCES})
+
+ #
+ # You don't set SOVERSION here... nothing links "to" these things
+ #
+ set_target_properties(${VARIANT_LIBNAME}
+ PROPERTIES
+ OUTPUT_NAME ${LIBNAME}
+ CLEAN_DIRECT_OUTPUT 1
+ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
+ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
+ LABELS "${BOOST_PROJECT_NAME}"
+ PREFIX ""
+ )
+
+ else () # shared
+
+ add_library(${VARIANT_LIBNAME} SHARED ${THIS_LIB_SOURCES})
+
+ if(MINGW)
+ set_target_properties(${VARIANT_LIBNAME}
+ PROPERTIES
+ PREFIX ""
+ )
+ endif()
+
+ 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}"
+ LABELS "${BOOST_PROJECT_NAME}"
+ )
+
+ if (BUILD_SOVERSIONED)
+ set_target_properties(${VARIANT_LIBNAME}
+ PROPERTIES
+ SOVERSION "${BOOST_VERSION}"
+ )
+ endif()
+ endif ()
+
+ # 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(d ${THIS_LIB_DEPENDS})
+ # message(STATUS "linking ${d}")
+ target_link_libraries(${VARIANT_LIBNAME} "${d}${VARIANT_TARGET_NAME}")
+ endforeach()
+
+ export(TARGETS ${VARIANT_LIBNAME}
+ APPEND
+ FILE ${BOOST_EXPORTS_FILE})
+
+ if(NOT THIS_LIB_NO_INSTALL)
+ # Setup installation properties
+ string(TOLOWER "${BOOST_PROJECT_NAME}${VARIANT_TARGET_NAME}" LIB_COMPONENT)
+ string(REPLACE "-" "_" LIB_COMPONENT ${LIB_COMPONENT})
+
+ # Installation of this library variant
+ string(TOLOWER ${BOOST_PROJECT_NAME} libname)
+
+ #
+ # tds: componentization disabled for the moment
+ #
+ install(TARGETS ${VARIANT_LIBNAME}
+ EXPORT Boost
+ DESTINATION ${BOOST_LIB_INSTALL_DIR}
+ COMPONENT Boost) #${LIB_COMPONENT})
+
+ # set_property(
+ # TARGET ${VARIANT_LIBNAME}
+ # PROPERTY BOOST_CPACK_COMPONENT
+ # ${LIB_COMPONENT})
+
+ # Make the library installation component dependent on the library
+ # installation components of dependent libraries.
+ trace(THIS_LIB_DEPENDS)
+ set(THIS_LIB_COMPONENT_DEPENDS)
+ foreach(DEP ${THIS_LIB_DEPENDS})
+ # We ask the library variant that this library depends on to tell us
+ # what it's associated installation component is. We depend on that
+ # installation component.
+ get_property(DEP_COMPONENT
+ TARGET "${DEP}${VARIANT_TARGET_NAME}"
+ PROPERTY BOOST_CPACK_COMPONENT)
+
+ if (DEP_COMPONENT)
+ if (DEP_COMPONENT STREQUAL LIB_COMPONENT)
+ # Do nothing: we have library dependencies within one
+ # Boost library
+ else()
+ list(APPEND THIS_LIB_COMPONENT_DEPENDS ${DEP_COMPONENT})
+ endif()
+ endif()
+ endforeach(DEP)
+
+ if (COMMAND cpack_add_component)
+ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname})
+ cpack_add_component(${LIB_COMPONENT}
+ DISPLAY_NAME "${VARIANT_DISPLAY_NAME}"
+ GROUP ${CPACK_COMPONENT_GROUP_NAME}
+ DEPENDS ${THIS_LIB_COMPONENT_DEPENDS})
+ endif ()
+ endif(NOT THIS_LIB_NO_INSTALL)
+ endif ()
+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_add_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, except 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 libraries 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)
+
+# Compute the variant that will be used to build this executable or
+# module, taking into account both the requested features passed to
+# boost_add_executable or boost_add_library and what options the user
+# has set.
+macro(boost_select_variant NAME PREFIX)
+ set(${PREFIX}_DEBUG_AND_RELEASE FALSE)
+ set(SELECT_VARIANT_OKAY TRUE)
+ set(SELECT_VARIANT_FAILURE_REASONS)
+ set(${PREFIX}_VARIANT)
+
+ foreach(FEATURESET_STR ${BOOST_FEATURES})
+ trace(FEATURESET_STR)
+
+ string(REPLACE ":" ";" FEATURESET ${FEATURESET_STR})
+ separate_arguments(FEATURESET)
+ set(${PREFIX}_REQUESTED_FROM_SET FALSE)
+ foreach (FEATURE ${FEATURESET})
+ trace(FEATURE)
+
+ if (${PREFIX}_${FEATURE} AND ENABLE_${FEATURE})
+ trace(${PREFIX}_${FEATURE})
+ set(${PREFIX}_REQUESTED_FROM_SET TRUE)
+ list(APPEND ${PREFIX}_VARIANT ${FEATURE})
+ endif()
+
+ # if ((NOT userpref_selected) AND ENABLE_${FEATURE})
+ # # message("YES ${PREFIX}_${FEATURE}")
+ # # Make this feature part of the variant
+ # list(APPEND ${PREFIX}_VARIANT ${FEATURE})
+ # set(${PREFIX}_REQUESTED_FROM_SET TRUE)
+ #
+ # # The caller has requested this particular feature be used
+ # # when building the executable or module. 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 or module.
+ # if (NOT ENABLE_${FEATURE})
+ # message("NOT ENABLE_${FEATURE}")
+ # set(SELECT_VARIANT_OKAY FALSE)
+ # list(APPEND SELECT_VARIANT_FAILURE_REASONS
+ # "ENABLE_${FEATURE} iz FALSE")
+ # else()
+ # set(unselected FALSE)
+ # endif()
+ # endif()
+ endforeach()
+
+ if (NOT ${PREFIX}_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(${PREFIX}_FOUND_FEATURE FALSE)
+
+ trace(${PREFIX}_FOUND_FEATURE)
+ # 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). We only build both variants separately for executable targets.
+ if (FEATURESET_STR STREQUAL "RELEASE:DEBUG")
+ trace(CMAKE_CONFIGURATION_TYPES)
+ if (CMAKE_CONFIGURATION_TYPES)
+ # IDE target: can we build both debug and release?
+ if (ENABLE_DEBUG AND ENABLE_RELEASE)
+ if (${PREFIX} STREQUAL "THIS_EXE")
+ # Remember that we're capable of building both configurations
+ set(${PREFIX}_DEBUG_AND_RELEASE TRUE)
+
+ # Don't add RELEASE or DEBUG to the variant (yet)
+ set(${PREFIX}_FOUND_FEATURE TRUE)
+ endif ()
+ endif ()
+ else ()
+ # Makefile target: CMAKE_BUILD_TYPE tells us which variant to build
+ trace(CMAKE_BUILD_TYPE)
+ if (CMAKE_BUILD_TYPE STREQUAL "Release" AND ENABLE_RELEASE)
+ # Okay, build the release variant
+ list(APPEND ${PREFIX}_VARIANT RELEASE)
+ set(${PREFIX}_FOUND_FEATURE TRUE)
+ elseif (CMAKE_BUILD_TYPE STREQUAL "Debug" AND ENABLE_DEBUG)
+ # Okay, build the debug variant
+ list(APPEND ${PREFIX}_VARIANT DEBUG)
+ set(${PREFIX}_FOUND_FEATURE TRUE)
+ endif ()
+ endif ()
+ endif ()
+
+ # 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 ${PREFIX}_FOUND_FEATURE)
+ # Are we allowed to build this feature?
+ if (ENABLE_${FEATURE})
+ # Found it: we're done
+ list(APPEND ${PREFIX}_VARIANT ${FEATURE})
+ set(${PREFIX}_FOUND_FEATURE TRUE)
+ endif (ENABLE_${FEATURE})
+ endif (NOT ${PREFIX}_FOUND_FEATURE)
+ endforeach (FEATURE ${FEATURESET})
+
+ if (NOT ${PREFIX}_FOUND_FEATURE)
+ # All of the features in this set were turned off.
+ # Just don't build anything.
+ set(SELECT_VARIANT_OKAY FALSE)
+ # message("NOT ${PREFIX}_FOUND_FEATURE")
+ endif (NOT ${PREFIX}_FOUND_FEATURE)
+ endif (NOT ${PREFIX}_REQUESTED_FROM_SET)
+ endforeach(FEATURESET_STR ${BOOST_FEATURES})
+
+ # Propagate flags from each of the features
+ if (SELECT_VARIANT_OKAY)
+ foreach (FEATURE ${${PREFIX}_VARIANT})
+ # Add all of the flags for this feature
+ set(${PREFIX}_COMPILE_FLAGS
+ "${${PREFIX}_COMPILE_FLAGS} ${${PREFIX}_${FEATURE}_COMPILE_FLAGS} ${${FEATURE}_COMPILE_FLAGS}")
+ set(${PREFIX}_LINK_FLAGS
+ "${${PREFIX}_LINK_FLAGS} ${${PREFIX}_${FEATURE}_LINK_FLAGS} ${${FEATURE}_LINK_FLAGS}")
+ if (${PREFIX} STREQUAL "THIS_EXE")
+ set(${PREFIX}_LINK_FLAGS
+ "${${PREFIX}_LINK_FLAGS} ${${FEATURE}_EXE_LINK_FLAGS}")
+ endif()
+ set(${PREFIX}_LINK_LIBS
+ ${${PREFIX}_LINK_LIBS} ${${PREFIX}_${FEATURE}_LINK_LIBS} ${${FEATURE}_LINK_LIBS})
+ endforeach (FEATURE ${${PREFIX}_VARIANT})
+
+ # Handle feature interactions
+ boost_feature_interactions("${PREFIX}" ${${PREFIX}_VARIANT})
+ else ()
+ set(${PREFIX}_VARIANT)
+ endif ()
+endmacro(boost_select_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 ...]
+# [MODULE]
+# [NO_feature]
+# [EXTRA_VARIANTS variant1 variant2 ...]
+# [FORCE_VARIANTS variant1])
+#
+# 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.
+#
+# 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.
+#
+# NO_feature: States that library variants containing a particular
+# feature should not be built. For example, passing
+# NO_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.
+#
+# FORCE_VARIANTS: This will force the build system to ALWAYS build this
+# variant of the library not matter what variants are set.
+#
+# 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 SHORT_LIBNAME)
+ set(LIBNAME "boost_${SHORT_LIBNAME}")
+ parse_arguments(THIS_LIB
+ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;EXTRA_VARIANTS;FORCE_VARIANTS;${BOOST_ADD_ARG_NAMES}"
+ "MODULE;NO_INSTALL;${BOOST_ADDLIB_OPTION_NAMES}"
+ ${ARGN}
+ )
+
+ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS})
+
+ #
+ # cmake BoostConfig.cmake generation needs to know which
+ # libraries are available
+ #
+ set(BOOST_ALL_COMPONENTS ${SHORT_LIBNAME} ${BOOST_ALL_COMPONENTS}
+ PARENT_SCOPE)
+
+ # 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)
+
+ if (THIS_LIB_FORCE_VARIANTS)
+ # string(TOUPPER "${LIBNAME}_FORCE_VARIANTS" force_variants)
+ # set(${force_variants} ${THIS_LIB_FORCE_VARIANTS} CACHE INTERNAL "")
+ set(ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV ${ENABLE_${THIS_LIB_FORCE_VARIANTS}} )
+ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} TRUE)
+ endif (THIS_LIB_FORCE_VARIANTS)
+
+ # Build each of the library variants
+ foreach(VARIANT_STR ${THIS_LIB_VARIANTS})
+ string(REPLACE ":" ";" VARIANT ${VARIANT_STR})
+ separate_arguments(VARIANT)
+ # message("VARIANT=${VARIANT}")
+ boost_library_variant(${LIBNAME} ${VARIANT})
+ endforeach(VARIANT_STR ${THIS_LIB_VARIANTS})
+
+ if (THIS_LIB_FORCE_VARIANTS)
+ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV} )
+ # message(STATUS "* ^^ ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}}")
+ endif (THIS_LIB_FORCE_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;TARGET_PREFIX;${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.
+ boost_select_variant(${EXENAME} THIS_EXE)
+
+ # message("THIS_EXE_VARIANT=${THIS_EXE_VARIANT}")
+ # Possibly hyphenate exe's name
+ if (THIS_PROJECT_IS_TOOL)
+ set(THIS_EXE_NAME ${THIS_EXE_TARGET_PREFIX}${EXENAME})
+ else()
+ set(THIS_EXE_NAME ${BOOST_PROJECT_NAME}-${THIS_EXE_TARGET_PREFIX}${EXENAME})
+ endif()
+
+ # 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)
+ set(DEPENDENCY_FAILURES "")
+ 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})
+ dependency_check(${LIB})
+ else ()
+ # 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}")
+ if(THIS_EXE_RELEASE_AND_DEBUG)
+ dependency_check("${LIB}${RELEASE_VARIANT_TARGET_NAME}")
+ dependency_check("${LIB}${DEBUG_VARIANT_TARGET_NAME}")
+ else()
+ dependency_check("${LIB}${VARIANT_TARGET_NAME}")
+ endif()
+ endif ()
+ endforeach()
+
+ set(THIS_EXE_OKAY TRUE)
+
+ if(DEPENDENCY_FAILURES)
+ set(THIS_EXE_OKAY FALSE)
+ # separate_arguments(DEPENDENCY_FAILURES)
+ colormsg(HIRED " ${THIS_EXE_NAME}" RED "(executable) disabled due to dependency failures:")
+ colormsg(" ${DEPENDENCY_FAILURES}")
+ endif()
+
+ trace(THIS_EXE_VARIANT)
+ trace(THIS_EXE_OUTPUT_NAME)
+ if (THIS_EXE_VARIANT AND (NOT DEPENDENCY_FAILURES))
+ # It's okay to build this executable
+
+ add_executable(${THIS_EXE_NAME} ${THIS_EXE_SOURCES})
+
+ # Set the various compilation and linking flags
+ set_target_properties(${THIS_EXE_NAME}
+ PROPERTIES
+ COMPILE_FLAGS "${THIS_EXE_COMPILE_FLAGS}"
+ LINK_FLAGS "${THIS_EXE_LINK_FLAGS}"
+ LABELS "${BOOST_PROJECT_NAME}"
+ )
+
+ # 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(${THIS_EXE_NAME}
+ 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(${THIS_EXE_NAME}
+ PROPERTIES
+ OUTPUT_NAME ${THIS_EXE_OUTPUT_NAME}
+ )
+ endif()
+
+ # Link against the various libraries
+ if (THIS_EXE_DEBUG_AND_RELEASE)
+ # Configuration-agnostic libraries
+ target_link_libraries(${THIS_EXE_NAME} ${THIS_EXE_LINK_LIBS})
+
+ foreach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS})
+ target_link_libraries(${THIS_EXE_NAME} optimized ${LIB})
+ endforeach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS})
+
+ foreach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS})
+ target_link_libraries(${THIS_EXE_NAME} debug ${LIB})
+ endforeach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS})
+
+ else (THIS_EXE_DEBUG_AND_RELEASE)
+ target_link_libraries(${THIS_EXE_NAME}
+ ${THIS_EXE_ACTUAL_DEPENDS}
+ ${THIS_EXE_LINK_LIBS})
+ endif (THIS_EXE_DEBUG_AND_RELEASE)
+
+ endif ()
+endmacro(boost_add_executable)
+
+
+# Like boost_add_library, but builds a single library variant
+# FIXME: I'm not sure if I like this or not. Document it if it survives.
+macro(boost_add_single_library LIBNAME)
+ parse_arguments(THIS_LIB
+ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;${BOOST_ADD_ARG_NAMES}"
+ "NO_INSTALL;MODULE;${BOOST_ADDEXE_OPTION_NAMES}"
+ ${ARGN}
+ )
+ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS})
+
+ boost_select_variant(${LIBNAME} THIS_LIB)
+ trace(THIS_LIB_VARIANT)
+ if (THIS_LIB_VARIANT)
+ add_custom_target(${LIBNAME})
+ separate_arguments(THIS_LIB_VARIANT)
+ boost_library_variant(${LIBNAME} ${THIS_LIB_VARIANT})
+ endif ()
+endmacro(boost_add_single_library)
+
+
+#
+# Macro for building boost.python extensions
+#
+macro(boost_python_extension MODULE_NAME)
+ parse_arguments(BPL_EXT
+ ""
+ ""
+ ${ARGN})
+
+ if (WIN32)
+ set(extlibtype SHARED)
+ else()
+ set(extlibtype MODULE)
+ endif()
+
+ boost_add_single_library(
+ ${MODULE_NAME}
+ ${BPL_EXT_DEFAULT_ARGS}
+ ${extlibtype}
+ LINK_LIBS ${PYTHON_LIBRARIES}
+ DEPENDS boost_python
+ SHARED
+ MULTI_THREADED
+ )
+
+ if(WIN32)
+ set_target_properties(${VARIANT_LIBNAME}
+ PROPERTIES
+ OUTPUT_NAME "${MODULE_NAME}"
+ PREFIX ""
+ SUFFIX .pyd
+ IMPORT_SUFFIX .pyd
+ )
+ else()
+ set_target_properties(${VARIANT_LIBNAME}
+ PROPERTIES
+ OUTPUT_NAME "${MODULE_NAME}"
+ PREFIX ""
+ )
+ endif()
+ if (NOT THIS_VARIANT_OKAY)
+ colormsg(HIRED " ${MODULE_NAME}" RED "(python extension) disabled because:")
+ foreach(msg ${SELECT_VARIANT_FAILURE_REASONS})
+ colormsg(YELLOW " ${msg}")
+ endforeach()
+ endif()
+
+endmacro()
diff --git a/tools/build/CMake/BoostDocs.cmake b/tools/build/CMake/BoostDocs.cmake
new file mode 100644
index 0000000..1eb0f56
--- /dev/null
+++ b/tools/build/CMake/BoostDocs.cmake
@@ -0,0 +1,530 @@
+##########################################################################
+# Boost Documentation Generation #
+##########################################################################
+# Copyright (C) 2008 Douglas Gregor <doug.gregor@gmail.com> #
+# #
+# 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: #
+# #
+##########################################################################
+
+# Transforms the source XML file by applying the given XSL stylesheet.
+#
+# xsl_transform(output input [input2 input3 ...]
+# STYLESHEET stylesheet
+# [CATALOG catalog]
+# [DIRECTORY mainfile]
+# [PARAMETERS param1=value1 param2=value2 ...]
+# [[MAKE_ALL_TARGET | MAKE_TARGET] target]
+# [COMMENT comment])
+#
+# This macro builds a custom command that transforms an XML file
+# (input) via the given XSL stylesheet. The output will either be a
+# single file (the default) or a directory (if the DIRECTION argument
+# is specified). The STYLESBEET stylesheet must be a valid XSL
+# stylesheet. Any extra input files will be used as additional
+# dependencies for the target. For example, these extra input files
+# might refer to other XML files that are included by the input file
+# through XInclude.
+#
+# When the XSL transform output is going to a directory, the mainfile
+# argument provides the name of a file that will be generated within
+# the output directory. This file will be used for dependency tracking.
+#
+# XML catalogs can be used to remap parts of URIs within the
+# stylesheet to other (typically local) entities. To provide an XML
+# catalog file, specify the name of the XML catalog file via the
+# CATALOG argument. It will be provided to the XSL transform.
+#
+# The PARAMETERS argument is followed by param=value pairs that set
+# additional parameters to the XSL stylesheet. The parameter names
+# that can be used correspond to the <xsl:param> elements within the
+# stylesheet.
+#
+# To associate a target name with the result of the XSL
+# transformation, use the MAKE_TARGET or MAKE_ALL_TARGET option and
+# provide the name of the target. The MAKE_ALL_TARGET option only
+# differs from MAKE_TARGET in that MAKE_ALL_TARGET will make the
+# resulting target a part of the default build.
+#
+# If a COMMENT argument is provided, it will be used as the comment
+# CMake provides when running this XSL transformation. Otherwise, the
+# comment will be "Generating "output" via XSL transformation...".
+macro(xsl_transform OUTPUT INPUT)
+ parse_arguments(THIS_XSL
+ "STYLESHEET;CATALOG;MAKE_ALL_TARGET;MAKE_TARGET;PARAMETERS;DIRECTORY;COMMENT"
+ ""
+ ${ARGN}
+ )
+
+ # TODO: Is this the best way to handle catalogs? The alternative is
+ # that we could provide explicit remappings to the xsl_transform
+ # macro, and it could generate a temporary XML catalog file.
+ if (THIS_XSL_CATALOG)
+ set(THIS_XSL_CATALOG "XML_CATALOG_FILES=${THIS_XSL_CATALOG}")
+ endif ()
+
+ # Translate XSL parameters into a form that xsltproc can use.
+ set(THIS_XSL_EXTRA_FLAGS)
+ foreach(PARAM ${THIS_XSL_PARAMETERS})
+ string(REGEX REPLACE "([^=]*)=([^;]*)" "\\1;\\2"
+ XSL_PARAM_LIST ${PARAM})
+ list(GET XSL_PARAM_LIST 0 XSL_PARAM_NAME)
+ list(GET XSL_PARAM_LIST 1 XSL_PARAM_VALUE)
+ list(APPEND THIS_XSL_EXTRA_FLAGS
+ --stringparam ${XSL_PARAM_NAME} ${XSL_PARAM_VALUE})
+ endforeach(PARAM)
+
+ # If the user didn't provide a comment for this transformation,
+ # create a default one.
+ if(NOT THIS_XSL_COMMENT)
+ set(THIS_XSL_COMMENT "Generating ${OUTPUT} via XSL transformation...")
+ endif()
+
+ # Figure out the actual output file that we tell CMake about
+ # (THIS_XSL_OUTPUT_FILE) and the output file or directory that we
+ # tell xsltproc about (THIS_XSL_OUTPUT).
+ if (THIS_XSL_DIRECTORY)
+ set(THIS_XSL_OUTPUT_FILE ${OUTPUT}/${THIS_XSL_DIRECTORY})
+ set(THIS_XSL_OUTPUT ${OUTPUT}/)
+ else()
+ set(THIS_XSL_OUTPUT_FILE ${OUTPUT})
+ set(THIS_XSL_OUTPUT ${OUTPUT})
+ endif()
+
+ if(NOT THIS_XSL_STYLESHEET)
+ message(SEND_ERROR
+ "xsl_transform macro invoked without a STYLESHEET argument")
+ else()
+ # Run the XSLT processor to do the XML transformation.
+ add_custom_command(OUTPUT ${THIS_XSL_OUTPUT_FILE}
+ COMMAND ${THIS_XSL_CATALOG} ${XSLTPROC_EXECUTABLE} ${XSLTPROC_FLAGS}
+ ${THIS_XSL_EXTRA_FLAGS} -o ${THIS_XSL_OUTPUT}
+ --path ${CMAKE_CURRENT_BINARY_DIR}
+ ${THIS_XSL_STYLESHEET} ${INPUT}
+ COMMENT ${THIS_XSL_COMMENT}
+ DEPENDS ${INPUT} ${THIS_XSL_DEFAULT_ARGS})
+ set_source_files_properties(${THIS_XSL_OUTPUT_FILE}
+ PROPERTIES GENERATED TRUE)
+
+ # Create a custom target to refer to the result of this
+ # transformation.
+ if (THIS_XSL_MAKE_ALL_TARGET)
+ add_custom_target(${THIS_XSL_MAKE_ALL_TARGET} ALL
+ DEPENDS ${THIS_XSL_OUTPUT_FILE})
+ elseif(THIS_XSL_MAKE_TARGET)
+ add_custom_target(${THIS_XSL_MAKE_TARGET}
+ DEPENDS ${THIS_XSL_OUTPUT_FILE})
+ set_target_properties(${THIS_XSL_MAKE_TARGET}
+ PROPERTIES
+ EXCLUDE_FROM_ALL ON)
+ endif()
+ endif()
+endmacro(xsl_transform)
+
+# Use Doxygen to parse header files and produce BoostBook output.
+#
+# doxygen_to_boostbook(output header1 header2 ...
+# [PARAMETERS param1=value1 param2=value2 ... ])
+#
+# This macro sets up rules to transform a set of C/C++ header files
+# into BoostBook reference documentation. The resulting BoostBook XML
+# file will be named by the "output" parameter, and the set of headers
+# is provided following the output file. The actual parsing of header
+# files is provided by Doxygen, and is transformed into XML through
+# various XSLT transformations.
+#
+# Doxygen has a variety of configuration parameters. One can supply
+# extra Doxygen configuration parameters by providing NAME=VALUE pairs
+# following the PARAMETERS argument. These parameters will be added to
+# the Doxygen configuration file.
+#
+# This macro is intended to be used internally by
+# boost_add_documentation.
+macro(doxygen_to_boostbook OUTPUT)
+ parse_arguments(THIS_DOXY
+ "PARAMETERS"
+ ""
+ ${ARGN})
+
+ # Create a Doxygen configuration file template
+ # TODO: We would like to create this file at build time rather
+ # than at configuration time
+ get_filename_component(DOXYFILE_PATH ${OUTPUT} PATH)
+ get_filename_component(DOXYFILE_NAME ${OUTPUT} NAME_WE)
+ set(DOXYFILE ${DOXYFILE_PATH}/${DOXYFILE_NAME}.doxyfile)
+ execute_process(
+ COMMAND ${DOXYGEN_EXECUTABLE} -s -g ${DOXYFILE}
+ OUTPUT_QUIET ERROR_QUIET)
+
+ # Update the Doxygen configuration file for XML generation
+ file(APPEND ${DOXYFILE} "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}\n")
+ file(APPEND ${DOXYFILE} "GENERATE_LATEX = NO\n")
+ file(APPEND ${DOXYFILE} "GENERATE_HTML = NO\n")
+ file(APPEND ${DOXYFILE} "GENERATE_XML = YES\n")
+ foreach(PARAM ${THIS_DOXY_PARAMETERS})
+ file(APPEND ${DOXYFILE} "${PARAM}\n")
+ endforeach(PARAM)
+
+ set(THIS_DOXY_HEADER_PATH ${CMAKE_SOURCE_DIR}/libs/${libname}/include)
+
+ set(THIS_DOXY_HEADER_LIST "")
+ set(THIS_DOXY_HEADERS)
+ foreach(HDR ${THIS_DOXY_DEFAULT_ARGS})
+ list(APPEND THIS_DOXY_HEADERS ${THIS_DOXY_HEADER_PATH}/${HDR})
+ set(THIS_DOXY_HEADER_LIST
+ "${THIS_DOXY_HEADER_LIST} ${THIS_DOXY_HEADER_PATH}/${HDR}")
+ endforeach(HDR)
+ file(APPEND ${DOXYFILE} "INPUT = ${THIS_DOXY_HEADER_LIST}\n")
+
+ # Generate Doxygen XML
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml
+ COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE}
+ COMMENT "Generating Doxygen XML output for Boost.${BOOST_PROJECT_NAME}..."
+ DEPENDS ${THIS_DOXY_HEADERS})
+
+ # Collect Doxygen XML into a single XML file
+ set_source_files_properties(
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt
+ PROPERTIES GENERATED TRUE)
+ xsl_transform(
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml
+ STYLESHEET ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt
+ COMMENT "Collecting Doxygen XML output for Boost.${BOOST_PROJECT_NAME}...")
+
+ # Transform single Doxygen XML file into BoostBook XML
+ xsl_transform(${OUTPUT}
+ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/doxygen/doxygen2boostbook.xsl
+ COMMENT "Transforming Doxygen XML into BoostBook XML for Boost.${BOOST_PROJECT_NAME}...")
+endmacro(doxygen_to_boostbook)
+
+# Adds documentation for the current library or tool project
+#
+# boost_add_documentation(source1 source2 source3 ...
+# [HEADERS header1 header2 ...]
+# [DOXYGEN_PARAMETERS param1=value1 param2=value2 ...])
+#
+
+# This macro describes the documentation for a library or tool, which
+# will be built and installed as part of the normal build
+# process. Documentation can be in a variety of formats, and the input
+# format will determine how that documentation is transformed. The
+# documentation's format is determined by its extension, and the
+# following input formats are supported:
+#
+# QuickBook
+# BoostBook (.XML extension):
+macro(boost_add_documentation SOURCE)
+ parse_arguments(THIS_DOC
+ "HEADERS;DOXYGEN_PARAMETERS"
+ ""
+ ${ARGN})
+
+ # If SOURCE is not a full path, it's in the current source
+ # directory.
+ get_filename_component(THIS_DOC_SOURCE_PATH ${SOURCE} PATH)
+ if(THIS_DOC_SOURCE_PATH STREQUAL "")
+ set(THIS_DOC_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}")
+ else()
+ set(THIS_DOC_SOURCE_PATH ${SOURCE})
+ endif()
+
+ # If we are parsing C++ headers (with Doxygen) for reference
+ # documentation, do so now and produce the requested BoostBook XML
+ # file.
+ if (THIS_DOC_HEADERS)
+ set(DOC_HEADER_FILES)
+ set(DOC_BOOSTBOOK_FILE)
+ foreach(HEADER ${THIS_DOC_HEADERS})
+ get_filename_component(HEADER_EXT ${HEADER} EXT)
+ string(TOUPPER ${HEADER_EXT} HEADER_EXT)
+ if (HEADER_EXT STREQUAL ".XML")
+ if (DOC_BOOSTBOOK_FILE)
+ # Generate this BoostBook file from the headers
+ doxygen_to_boostbook(
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}
+ ${DOC_HEADER_FILES}
+ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS})
+ list(APPEND THIS_DOC_DEFAULT_ARGS
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE})
+ endif()
+ set(DOC_BOOSTBOOK_FILE ${HEADER})
+ set(DOC_HEADER_FILES)
+ else()
+ if (NOT DOC_BOOSTBOOK_FILE)
+ message(SEND_ERROR
+ "HEADERS argument to boost_add_documentation must start with a BoostBook XML file name for output")
+ endif()
+ list(APPEND DOC_HEADER_FILES ${HEADER})
+ endif()
+ endforeach()
+
+ if (DOC_HEADER_FILES)
+ # Generate this BoostBook file from the headers
+ doxygen_to_boostbook(
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}
+ ${DOC_HEADER_FILES}
+ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS})
+ list(APPEND THIS_DOC_DEFAULT_ARGS
+ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE})
+
+ endif()
+ endif (THIS_DOC_HEADERS)
+
+ # Figure out the source file extension, which will tell us how to
+ # build the documentation.
+ get_filename_component(THIS_DOC_EXT ${SOURCE} EXT)
+ string(TOUPPER ${THIS_DOC_EXT} THIS_DOC_EXT)
+ if (THIS_DOC_EXT STREQUAL ".QBK")
+ if (BUILD_QUICKBOOK)
+ # Transform Quickbook into BoostBook XML
+ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE)
+ set(BOOSTBOOK_FILE ${SOURCE_FILENAME}.xml)
+ add_custom_command(OUTPUT ${BOOSTBOOK_FILE}
+ COMMAND quickbook "--output-file=${BOOSTBOOK_FILE}"
+ ${THIS_DOC_SOURCE_PATH}
+ DEPENDS ${THIS_DOC_SOURCE_PATH} ${THIS_DOC_DEFAULT_ARGS}
+ COMMENT "Generating BoostBook documentation for Boost.${BOOST_PROJECT_NAME}...")
+
+ # Transform BoostBook into other formats
+ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${BOOSTBOOK_FILE})
+ else()
+ message(SEND_ERROR
+ "Quickbook is required to build Boost documentation.\nQuickbook can be built by enabling the BUILD_QUICKBOOK.")
+ endif()
+ elseif (THIS_DOC_EXT STREQUAL ".XML")
+ # Transform BoostBook XML into DocBook XML
+ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE)
+ set(DOCBOOK_FILE ${SOURCE_FILENAME}.docbook)
+ xsl_transform(${DOCBOOK_FILE} ${THIS_DOC_SOURCE_PATH}
+ ${THIS_DOC_DEFAULT_ARGS}
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/docbook.xsl
+ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml
+ COMMENT "Generating DocBook documentation for Boost.${BOOST_PROJECT_NAME}..."
+ MAKE_TARGET ${BOOST_PROJECT_NAME}-docbook)
+
+ # Transform DocBook into other formats
+ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${DOCBOOK_FILE})
+ elseif(THIS_DOC_EXT STREQUAL ".DOCBOOK")
+ # If requested, build HTML documentation
+ if (BUILD_DOCUMENTATION_HTML)
+ xsl_transform(
+ ${CMAKE_CURRENT_BINARY_DIR}/html
+ ${THIS_DOC_SOURCE_PATH}
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/html.xsl
+ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml
+ DIRECTORY HTML.manifest
+ PARAMETERS admon.graphics.path=images
+ navig.graphics.path=images
+ boost.image.src=boost.png
+ COMMENT "Generating HTML documentaiton for Boost.${BOOST_PROJECT_NAME}..."
+ MAKE_TARGET ${BOOST_PROJECT_NAME}-html)
+
+ add_custom_command(TARGET ${BOOST_PROJECT_NAME}-html
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/doc/src/boostbook.css ${CMAKE_CURRENT_BINARY_DIR}/html
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/boost.png ${CMAKE_CURRENT_BINARY_DIR}/html
+ )
+ # Install generated documentation
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
+ DESTINATION share/boost-${BOOST_VERSION}
+ COMPONENT ${ULIBNAME}_DOCS
+ PATTERN "*.manifest" EXCLUDE)
+ endif ()
+
+ # If requested, build Unix man pages
+ if (BUILD_DOCUMENTATION_MAN_PAGES)
+ xsl_transform(
+ ${CMAKE_CURRENT_BINARY_DIR}/man
+ ${THIS_DOC_SOURCE_PATH}
+ STYLESHEET ${BOOSTBOOK_XSL_DIR}/manpages.xsl
+ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml
+ DIRECTORY man.manifest
+ COMMENT "Generating man pages for Boost.${BOOST_PROJECT_NAME}..."
+ MAKE_TARGET ${BOOST_PROJECT_NAME}-man)
+
+ # Install man pages
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man
+ DESTINATION .
+ COMPONENT ${ULIBNAME}_DOCS
+ PATTERN "*.manifest" EXCLUDE)
+ endif ()
+ else()
+ message(SEND_ERROR "Unknown documentation source kind ${SOURCE}.")
+ endif()
+endmacro(boost_add_documentation)
+
+
+##########################################################################
+# Documentation tools configuration #
+##########################################################################
+
+# Downloads the DocBook DTD into a place where DOCBOOK_DTD_DIR can
+# find it.
+macro(download_docbook_dtd)
+ if (NOT DOCBOOK_DTD_DIR)
+ set(DOCBOOK_DTD_FILENAME "docbook-xml-${WANT_DOCBOOK_DTD_VERSION}.zip")
+ set(DOCBOOK_DTD_URL
+ "http://www.oasis-open.org/docbook/xml/${WANT_DOCBOOK_DTD_VERSION}/${DOCBOOK_DTD_FILENAME}")
+ message(STATUS "Downloading DocBook DTD from ${DOCBOOK_DTD_URL}...")
+ file(DOWNLOAD
+ "${DOCBOOK_DTD_URL}"
+ "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}"
+ TIMEOUT 60 STATUS DOCBOOK_DTD_STATUS)
+ list(GET DOCBOOK_DTD_STATUS 0 DOCBOOK_DTD_ERROR)
+ if (DOCBOOK_DTD_ERROR EQUAL 0)
+ # Download successful! Extract the DTD ZIP file.
+ message(STATUS "Extracting DocBook DTD...")
+ execute_process(
+ COMMAND ${UNZIP} -d docbook-dtd-${WANT_DOCBOOK_DTD_VERSION} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}"
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ RESULT_VARIABLE UNZIP_DTD_RESULT)
+ if (UNZIP_DTD_RESULT EQUAL 0)
+ # Extraction successful. Cleanup the downloaded file.
+ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME})
+ set(DOCBOOK_DTD_DIR
+ ${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION}
+ CACHE PATH "Path to the DocBook DTD" FORCE)
+ else()
+ # We failed: report the error to the user
+ message(SEND_ERROR "Extraction of DocBook DTD archive ${DOCBOOK_DTD_FILENAME} failed with error \"${UNZIP_DTD_RESULT}\". DocBook DTD and XSL autoconfiguration cannot continue.")
+ endif ()
+ else()
+ list(GET DOCBOOK_DTD_STATUS 1 DOCBOOK_DTD_ERRORMSG)
+ message(SEND_ERROR "Unable to download DocBook DTD from ${DOCBOOK_DTD_URL}. Error was: \"${DOCBOOK_DTD_ERRORMSG}\"")
+ endif()
+ endif()
+endmacro(download_docbook_dtd)
+
+# Downloads the DocBook XSL into a place where DOCBOOK_XSL_DIR can
+# find it.
+macro(download_docbook_xsl)
+ if (NOT DOCBOOK_XSL_DIR)
+ set(DOCBOOK_XSL_FILENAME "docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}.zip")
+ set(DOCBOOK_XSL_URL
+ "${SOURCEFORGE_MIRROR}/sourceforge/docbook/${DOCBOOK_XSL_FILENAME}")
+ message(STATUS "Downloading DocBook XSL from ${DOCBOOK_XSL_URL}...")
+ file(DOWNLOAD
+ "${DOCBOOK_XSL_URL}"
+ "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}"
+ TIMEOUT 60 STATUS DOCBOOK_XSL_STATUS)
+ list(GET DOCBOOK_XSL_STATUS 0 DOCBOOK_XSL_ERROR)
+ if (DOCBOOK_XSL_ERROR EQUAL 0)
+ # Download successful! Extract the XSL ZIP file.
+ message(STATUS "Extracting DocBook XSL stylesheets...")
+ execute_process(
+ COMMAND ${UNZIP} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}"
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ RESULT_VARIABLE UNZIP_XSL_RESULT)
+ if (UNZIP_XSL_RESULT EQUAL 0)
+ # Extraction successful. Clean up the downloaded file.
+ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME})
+ set(DOCBOOK_XSL_DIR
+ ${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}
+ CACHE PATH "Path to the DocBook XSL stylesheets" FORCE)
+ else()
+ # We failed: report the error to the user
+ message(SEND_ERROR "Extraction of DocBook XSL archive ${DOCBOOK_XSL_FILENAME} failed with error \"${UNZIP_XSL_RESULT}\". DocBook XSL and XSL autoconfiguration cannot continue.")
+ endif ()
+ else()
+ list(GET DOCBOOK_XSL_STATUS 1 DOCBOOK_XSL_ERRORMSG)
+ message(SEND_ERROR "Unable to download DocBook XSL from ${DOCBOOK_XSL_URL}. Error was: \"${DOCBOOK_XSL_ERRORMSG}\". You might want to try another SourceForge mirror site by changing the advanced configuration variable SOURCEFORGE_MIRROR.")
+ endif()
+ endif()
+endmacro(download_docbook_xsl)
+
+# Preferred versions of DocBook stylesheets and utilities. We don't
+# require these, but we know that they work.
+set(WANT_DOCBOOK_DTD_VERSION 4.2)
+set(WANT_DOCBOOK_XSL_VERSION 1.73.2)
+
+# Find the DocBook DTD (version 4.2)
+find_path(DOCBOOK_DTD_DIR docbookx.dtd
+ PATHS "${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION}"
+ # ubuntu puts 'em here
+ /usr/share/xml/docbook/schema/dtd/${WANT_DOCBOOK_DTD_VERSION}
+ DOC "Path to the DocBook DTD")
+
+# Find the DocBook XSL stylesheets
+find_path(DOCBOOK_XSL_DIR html/html.xsl
+ PATHS "${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}"
+ # ubuntu puts 'em here
+ /usr/share/xml/docbook/stylesheet/nwalsh
+ DOC "Path to the DocBook XSL stylesheets")
+
+# Find the BoostBook DTD (it should be in the distribution!)
+find_path(BOOSTBOOK_DTD_DIR boostbook.dtd
+ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/dtd
+ DOC "Path to the BoostBook DTD")
+mark_as_advanced(BOOSTBOOK_DTD_DIR)
+
+# Find the BoostBook XSL stylesheets (they should be in the distribution!)
+find_path(BOOSTBOOK_XSL_DIR docbook.xsl
+ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/xsl
+ DOC "Path to the BoostBook XSL stylesheets")
+mark_as_advanced(BOOSTBOOK_XSL_DIR)
+
+if (XSLTPROC_EXECUTABLE AND DOXYGEN)
+ if (DOCBOOK_DTD_DIR AND DOCBOOK_XSL_DIR)
+ # Documentation build options
+ option(BUILD_DOCUMENTATION "Whether to build library documentation" ON)
+ option(BUILD_DOCUMENTATION_HTML "Whether to build HTML documentation" ON)
+ option(BUILD_DOCUMENTATION_MAN_PAGES "Whether to build Unix man pages" ON)
+
+ # Generate an XML catalog file.
+ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/catalog.xml.in
+ ${CMAKE_BINARY_DIR}/catalog.xml
+ @ONLY)
+ else()
+ # Look for "unzip", because we'll need it to download the DocBook
+ # DTD and XSL stylesheets as part of autoconfiguration.
+ find_program(UNZIP unzip DOC "Used to extract ZIP archives")
+
+ if (UNZIP)
+ option(DOCBOOK_AUTOCONFIG
+ "Automatically download and configure DocBook DTD and XSL" OFF)
+ set(SOURCEFORGE_MIRROR "http://dl.sourceforge.net"
+ CACHE STRING "SourceForge mirror used to download DocBook XSL during autoconfiguration")
+ mark_as_advanced(SOURCEFORGE_MIRROR)
+ if (DOCBOOK_AUTOCONFIG)
+ message(STATUS "Initiating DocBook DTD and XSL autoconfiguration...")
+ download_docbook_dtd()
+ download_docbook_xsl()
+ endif (DOCBOOK_AUTOCONFIG)
+ endif()
+ endif()
+endif()
+
+# Turn off BUILD_DOCUMENTATION if it isn't going to succeed.
+if (BUILD_DOCUMENTATION)
+ set(BUILD_DOCUMENTATION_OKAY TRUE)
+ if (NOT XSLTPROC_FOUND)
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
+ message(STATUS "Docs build disabled due to missing xsltproc")
+ elseif (NOT DOXYGEN_FOUND)
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
+ message(STATUS "Docs build disabled due to missing doxygen")
+ elseif (NOT DOCBOOK_DTD_DIR)
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
+ message(STATUS "Docs build disabled due to missing docbook dtd dir")
+ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.")
+ elseif (NOT DOCBOOK_XSL_DIR)
+ set(BUILD_DOCUMENTATION_OKAY FALSE)
+ message(STATUS "Docs build disabled due to missing docbook xsl dir")
+ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.")
+ else()
+ set(BUILD_DOCUMENTATION_OKAY TRUE)
+ endif()
+
+ if (NOT BUILD_DOCUMENTATION_OKAY)
+ if (BUILD_DOCUMENTATION)
+ set(BUILD_DOCUMENTATION OFF CACHE BOOL
+ "Whether to build library documentation" FORCE)
+ endif()
+ endif()
+endif()
\ No newline at end of file
diff --git a/tools/build/CMake/BoostExternals.cmake b/tools/build/CMake/BoostExternals.cmake
new file mode 100644
index 0000000..763ce1e
--- /dev/null
+++ b/tools/build/CMake/BoostExternals.cmake
@@ -0,0 +1,55 @@
+# Copyright (C) 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
+#
+
+message(STATUS "")
+colormsg(_HIBLUE_ "Looking for (optional) dependencies on the system")
+
+macro(boost_external_report NAME)
+ string(TOUPPER ${NAME} VARNAME)
+ set(VARNAMES ${ARGV})
+ list(REMOVE_AT VARNAMES 0)
+ set(SUCCESS ${${VARNAME}_FOUND})
+ if(NOT SUCCESS)
+ message(STATUS "${NAME} not found, some libraries or features will be disabled.")
+ message(STATUS "See the documentation for ${NAME} or manually set these variables:")
+ endif()
+ foreach(variable ${VARNAMES})
+ boost_report_value(${VARNAME}_${variable})
+ endforeach()
+endmacro()
+
+#
+# Some externals default to OFF
+#
+option(WITH_VALGRIND "Run tests under valgrind" OFF)
+
+#
+#
+#
+foreach(external
+ BZip2
+ Doxygen
+ Expat
+ ICU
+ MPI
+ Python
+ Xsltproc
+ Valgrind
+ ZLib
+ )
+ message(STATUS "")
+ string(TOUPPER "${external}" EXTERNAL)
+ option(WITH_${EXTERNAL} "Attempt to find and configure ${external}" ON)
+ if(WITH_${EXTERNAL})
+ colormsg(HICYAN "${external}:")
+ include(${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/externals/${external}.cmake)
+ else()
+ set(${EXTERNAL}_FOUND FALSE CACHE BOOL "${external} found" FORCE)
+ colormsg(HIRED "${external}:" RED "disabled, since WITH_${EXTERNAL}=OFF")
+ endif()
+endforeach()
+message(STATUS "")
\ No newline at end of file
diff --git a/tools/build/CMake/BoostTesting.cmake b/tools/build/CMake/BoostTesting.cmake
new file mode 100644
index 0000000..79129a5
--- /dev/null
+++ b/tools/build/CMake/BoostTesting.cmake
@@ -0,0 +1,494 @@
+##########################################################################
+# Regression Testing Support for Boost #
+##########################################################################
+# Copyright (C) 2007-8 Douglas Gregor <doug.gregor@gmail.com> #
+# Copyright (C) 2007-8 Troy D. Straszheim #
+# #
+# Distributed under the Boost Software License, Version 1.0. #
+# See accompanying file LICENSE_1_0.txt or copy at #
+# http://www.boost.org/LICENSE_1_0.txt #
+##########################################################################
+# 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.
+#
+# boost_additional_test_dependencies: Adds needed include directories for
+# the tests.
+
+# 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.
+
+if (BOOST_CMAKE_SELFTEST)
+ set(tests "ALL")
+else()
+ set(tests "NONE")
+endif()
+
+set(BUILD_TESTS ${tests} CACHE STRING "Semicolon-separated list of lowercase librarary names to test, or \"ALL\"")
+enable_testing()
+
+if (BUILD_TESTING)
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/CTestCustom.cmake)
+ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/CTestCustom.cmake.in
+ ${CMAKE_BINARY_DIR}/CTestCustom.cmake
+ COPYONLY)
+ endif()
+ include(CTest)
+endif()
+
+if (BUILD_TESTS STREQUAL "NONE")
+ #
+ # Add a little "message" if tests are run while BUILD_TESTS is NONE
+ #
+ add_test(BUILD_TESTS_is_NONE_nothing_to_test
+ /bin/false)
+endif()
+
+set(DART_TESTING_TIMEOUT 15
+ CACHE INTEGER
+ "Timeout after this many seconds of madness")
+
+#-------------------------------------------------------------------------------
+# This macro adds additional include directories based on the dependencies of
+# the library being tested 'libname' and all of its dependencies.
+#
+# boost_additional_test_dependencies(libname
+# BOOST_DEPENDS libdepend1 libdepend2 ...)
+#
+# libname is the name of the boost library being tested. (signals)
+#
+# There is mandatory argument to the macro:
+#
+# BOOST_DEPENDS: The list of the extra boost libraries that the test suite will
+# depend on. You do NOT have to list those libraries already listed by the
+# module.cmake file as these will be used.
+#
+#
+# example usage:
+# boost_additional_test_dependencies(signals BOOST_DEPENDS test optional)
+#
+#
+# TDS 20091103:
+# For the moment we don't need this, since tests are now traversed
+# after project directories (so all boost lib dependency targets are
+# visible to all tests) and modularization has crashed and burned.
+#
+macro(boost_additional_test_dependencies libname)
+ # NOTE DISABLED
+ if (FALSE)
+ parse_arguments(BOOST_TEST
+ "BOOST_DEPENDS"
+ ""
+ ${ARGN}
+ )
+ # Get the list of libraries that this test depends on
+ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its
+ # dependencies, its dependencies' dependencies, etc., transitively.
+ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS)
+ set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} )
+ set(ADDED_DEPS TRUE)
+ while (ADDED_DEPS)
+ set(ADDED_DEPS FALSE)
+ foreach(DEP ${THIS_TEST_DEPENDS_ALL})
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
+ foreach(DEPDEP ${${DEP_DEPENDS}})
+ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
+ if (DEPDEP_INDEX EQUAL -1)
+ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP})
+ set(ADDED_DEPS TRUE)
+ endif()
+ endforeach()
+ endforeach()
+ endwhile()
+
+ # Get the list of dependencies for the additional libraries arguments
+ foreach(additional_lib ${BOOST_TEST_BOOST_DEPENDS})
+ list(FIND THIS_TEST_DEPENDS_ALL ${additional_lib} DEPDEP_INDEX)
+ if (DEPDEP_INDEX EQUAL -1)
+ list(APPEND THIS_TEST_DEPENDS_ALL ${additional_lib})
+ set(ADDED_DEPS TRUE)
+ endif()
+ string(TOUPPER "BOOST_${additional_lib}_DEPENDS" THIS_PROJECT_DEPENDS)
+ set(ADDED_DEPS TRUE)
+ while (ADDED_DEPS)
+ set(ADDED_DEPS FALSE)
+ foreach(DEP ${THIS_TEST_DEPENDS_ALL})
+ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS)
+ foreach(DEPDEP ${${DEP_DEPENDS}})
+ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX)
+ if (DEPDEP_INDEX EQUAL -1)
+ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP})
+ set(ADDED_DEPS TRUE)
+ endif()
+ endforeach()
+ endforeach()
+ endwhile()
+ endforeach()
+
+ foreach (include ${THIS_TEST_DEPENDS_ALL})
+ #
+ # Modularization temporarily disabled
+ #
+ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
+ #
+ endforeach (include ${includes})
+endif()
+
+endmacro(boost_additional_test_dependencies libname)
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# 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 ...]
+# [KNOWN_FAILURES string1 string2 ...]
+# [COMPILE] [RUN] [FAIL])
+#
+# 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_TESTNAME: A (hopefully) globally unique target name
+# for the test, constructed from PROJECT-testname-TAG
+#
+# 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)
+ #message("boost_test_parse_args ${testname} ${ARGN}")
+ set(BOOST_TEST_OKAY TRUE)
+ set(BOOST_TEST_COMPILE_FLAGS "")
+ parse_arguments(BOOST_TEST
+ "BOOST_LIB;LINK_LIBS;LINK_FLAGS;DEPENDS;COMPILE_FLAGS;ARGS;EXTRA_OPTIONS;KNOWN_FAILURES"
+ "COMPILE;RUN;LINK;FAIL;RELEASE;DEBUG"
+ ${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 ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY")
+ #set(BOOST_TEST_OKAY FALSE)
+ #endif (NOT ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY")
+
+ # If building shared libraries is turned off, don't try to build
+ # the test
+ #if (NOT ENABLE_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY")
+ #set(BOOST_TEST_OKAY FALSE)
+ #endif (NOT ENABLE_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)
+
+ set(BOOST_TEST_TESTNAME "${BOOST_PROJECT_NAME}-${testname}")
+ #message("testname: ${BOOST_TEST_TESTNAME}")
+ # If testing is turned off, this test is not okay
+endmacro(boost_test_parse_args)
+
+# This macro attaches a the "known-failure" label to the given test
+# target if the build name matches any of the declared, known
+# failures.
+macro(boost_test_known_failures TEST)
+ foreach(PATTERN ${ARGN})
+ if (${BUILDNAME} MATCHES ${PATTERN})
+ set_tests_properties("${BOOST_PROJECT_NAME}-${TEST}"
+ PROPERTIES
+ LABELS "${BOOST_PROJECT_NAME};known-failure"
+ WILL_FAIL TRUE
+ )
+ endif()
+ endforeach()
+endmacro(boost_test_known_failures)
+
+
+# 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 ...]
+# [EXTRA_OPTIONS option1 option2 ...])
+#
+# 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.
+#
+# EXTRA_OPTIONS: Provide extra options that will be passed on to
+# boost_add_executable.
+#
+# Example:
+# boost_test_run(signal_test DEPENDS boost_signals)
+macro(boost_test_run testname)
+ boost_test_parse_args(${testname} ${ARGN} RUN)
+ #
+ # On windows, tests have to go in the same directory as
+ # DLLs.
+ #
+ if (NOT CMAKE_HOST_WIN32)
+ set(THIS_TEST_OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/${testname})
+ else()
+ set(THIS_TEST_OUTPUT_NAME ${BOOST_PROJECT_NAME}-${testname})
+ endif()
+
+ if (BOOST_TEST_OKAY)
+ boost_add_executable(${testname} ${BOOST_TEST_SOURCES}
+ DEPENDS "${BOOST_TEST_DEPENDS}"
+ OUTPUT_NAME ${THIS_TEST_OUTPUT_NAME}
+ LINK_LIBS ${BOOST_TEST_LINK_LIBS}
+ LINK_FLAGS ${BOOST_TEST_LINK_FLAGS}
+ COMPILE_FLAGS ${BOOST_TEST_COMPILE_FLAGS}
+ NO_INSTALL
+ ${BOOST_TEST_EXTRA_OPTIONS})
+
+ if (THIS_EXE_OKAY)
+ #
+ # Fixup path for visual studio per instructions from Brad King:
+ #
+ get_target_property(THIS_TEST_LOCATION ${BOOST_TEST_TESTNAME}
+ LOCATION)
+ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
+ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}")
+
+ add_test (${BOOST_TEST_TESTNAME}
+ ${VALGRIND_EXECUTABLE}
+ ${VALGRIND_FLAGS}
+ ${THIS_TEST_LOCATION}
+ ${BOOST_TEST_ARGS})
+
+ set_tests_properties(${BOOST_TEST_TESTNAME}
+ PROPERTIES
+ LABELS "${BOOST_PROJECT_NAME}"
+ )
+ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
+
+ if (BOOST_TEST_FAIL)
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
+ endif ()
+ endif(THIS_EXE_OKAY)
+ endif (BOOST_TEST_OKAY)
+endmacro(boost_test_run)
+
+#
+# This macro creates a boost regression test that will be run but is
+# expected to fail (exit with nonzero return code).
+# See boost_test_run()
+#
+macro(boost_test_run_fail testname)
+ boost_test_run(${testname} ${ARGN} FAIL)
+endmacro(boost_test_run_fail)
+
+# 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} COMPILE)
+
+ if (BOOST_TEST_FAIL)
+ set (test_pass "FAILED")
+ else()
+ set (test_pass "PASSED")
+ endif()
+
+ if (BOOST_TEST_OKAY)
+
+ # Determine the include directories to pass along to the underlying
+ # project.
+ # works but not great
+ 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})
+
+ add_test(${BOOST_TEST_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 ${CMAKE_MAKE_PROGRAM}
+ --build-project CompileTest
+ --build-options
+ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}"
+ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}"
+ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}"
+ )
+
+ set_tests_properties(${BOOST_TEST_TESTNAME}
+ PROPERTIES
+ LABELS "${BOOST_PROJECT_NAME}"
+ )
+
+ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
+
+ if (BOOST_TEST_FAIL)
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
+ endif ()
+ endif(BOOST_TEST_OKAY)
+endmacro(boost_test_compile)
+
+#
+# This macro creates a Boost regression test that is expected to
+# *fail* to compile. See boost_test_compile()
+#
+macro(boost_test_compile_fail testname)
+ boost_test_compile(${testname} ${ARGN} FAIL)
+endmacro(boost_test_compile_fail)
+
+
+
+
+#
+# boost_test_link:
+#
+#
+# Each library "exports" itself to
+# ${CMAKE_BINARY_DIR}/exports/<variantname>.cmake
+#
+# The list of 'depends' for these libraries has to match one of those
+# files, this way the export mechanism works. The generated
+# cmakelists will include() those exported .cmake files, for each
+# DEPENDS.
+#
+#
+macro(boost_test_link testname)
+ boost_test_parse_args(${testname} ${ARGN} LINK)
+ if(BOOST_TEST_OKAY)
+ # Determine the include directories to pass along to the underlying
+ # project.
+ # works but not great
+ 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})
+
+ add_test(${BOOST_TEST_TESTNAME}
+ ${CMAKE_CTEST_COMMAND}
+ -VV
+ --build-and-test
+ ${Boost_SOURCE_DIR}/tools/build/CMake/LinkTest
+ ${Boost_BINARY_DIR}/tools/build/CMake/LinkTest
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-project LinkTest
+ --build-options
+ "-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}"
+ "-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}"
+ "-DBOOST_EXPORTS_DIR:FILEPATH=${CMAKE_BINARY_DIR}/exports"
+ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}"
+ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}"
+ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}"
+ "-DLINK_LIBS:STRING=${BOOST_TEST_LINK_LIBS}"
+ "-DDEPENDS:STRING=${BOOST_TEST_DEPENDS}"
+ )
+
+ set_tests_properties(${BOOST_TEST_TESTNAME}
+ PROPERTIES
+ LABELS "${BOOST_PROJECT_NAME}"
+ )
+
+ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
+
+ if (BOOST_TEST_FAIL)
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
+ endif ()
+ endif(BOOST_TEST_OKAY)
+endmacro(boost_test_link)
+
diff --git a/tools/build/CMake/BoostUtils.cmake b/tools/build/CMake/BoostUtils.cmake
new file mode 100644
index 0000000..8cf2632
--- /dev/null
+++ b/tools/build/CMake/BoostUtils.cmake
@@ -0,0 +1,331 @@
+##########################################################################
+# Boost Utilities #
+##########################################################################
+# Copyright (C) 2007 Douglas Gregor <doug.gregor@gmail.com> #
+# Copyright (C) 2007 Troy Straszheim #
+# #
+# Distributed under the Boost Software License, Version 1.0. #
+# See accompanying file LICENSE_1_0.txt or copy at #
+# http://www.boost.org/LICENSE_1_0.txt #
+##########################################################################
+# 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)
+
+# Perform a reverse topological sort on the given LIST.
+#
+# topological_sort(my_list "MY_" "_EDGES")
+#
+# LIST is the name of a variable containing a list of elements to be
+# sorted in reverse topological order. Each element in the list has a
+# set of outgoing edges (for example, those other list elements that
+# it depends on). In the resulting reverse topological ordering
+# (written back into the variable named LIST), an element will come
+# later in the list than any of the elements that can be reached by
+# following its outgoing edges and the outgoing edges of any vertices
+# they target, recursively. Thus, if the edges represent dependencies
+# on build targets, for example, the reverse topological ordering is
+# the order in which one would build those targets.
+#
+# For each element E in this list, the edges for E are contained in
+# the variable named ${PREFIX}${E}${SUFFIX}, where E is the
+# upper-cased version of the element in the list. If no such variable
+# exists, then it is assumed that there are no edges. For example, if
+# my_list contains a, b, and c, one could provide a dependency graph
+# using the following variables:
+#
+# MY_A_EDGES b
+# MY_B_EDGES
+# MY_C_EDGES a b
+#
+# With the involcation of topological_sort shown above and these
+# variables, the resulting reverse topological ordering will be b, a,
+# c.
+function(topological_sort LIST PREFIX SUFFIX)
+ # Clear the stack and output variable
+ set(VERTICES "${${LIST}}")
+ set(STACK)
+ set(${LIST})
+
+ # Loop over all of the vertices, starting the topological sort from
+ # each one.
+ foreach(VERTEX ${VERTICES})
+ string(TOUPPER ${VERTEX} UPPER_VERTEX)
+
+ # If we haven't already processed this vertex, start a depth-first
+ # search from where.
+ if (NOT FOUND_${UPPER_VERTEX})
+ # Push this vertex onto the stack with all of its outgoing edges
+ string(REPLACE ";" " " NEW_ELEMENT
+ "${VERTEX};${${PREFIX}${UPPER_VERTEX}${SUFFIX}}")
+ list(APPEND STACK ${NEW_ELEMENT})
+
+ # We've now seen this vertex
+ set(FOUND_${UPPER_VERTEX} TRUE)
+
+ # While the depth-first search stack is not empty
+ list(LENGTH STACK STACK_LENGTH)
+ while(STACK_LENGTH GREATER 0)
+ # Remove the vertex and its remaining out-edges from the top
+ # of the stack
+ list(GET STACK -1 OUT_EDGES)
+ list(REMOVE_AT STACK -1)
+
+ # Get the source vertex and the list of out-edges
+ separate_arguments(OUT_EDGES)
+ list(GET OUT_EDGES 0 SOURCE)
+ list(REMOVE_AT OUT_EDGES 0)
+
+ # While there are still out-edges remaining
+ list(LENGTH OUT_EDGES OUT_DEGREE)
+ while (OUT_DEGREE GREATER 0)
+ # Pull off the first outgoing edge
+ list(GET OUT_EDGES 0 TARGET)
+ list(REMOVE_AT OUT_EDGES 0)
+
+ string(TOUPPER ${TARGET} UPPER_TARGET)
+ if (NOT FOUND_${UPPER_TARGET})
+ # We have not seen the target before, so we will traverse
+ # its outgoing edges before coming back to our
+ # source. This is the key to the depth-first traversal.
+
+ # We've now seen this vertex
+ set(FOUND_${UPPER_TARGET} TRUE)
+
+ # Push the remaining edges for the current vertex onto the
+ # stack
+ string(REPLACE ";" " " NEW_ELEMENT
+ "${SOURCE};${OUT_EDGES}")
+ list(APPEND STACK ${NEW_ELEMENT})
+
+ # Setup the new source and outgoing edges
+ set(SOURCE ${TARGET})
+ string(TOUPPER ${SOURCE} UPPER_SOURCE)
+ set(OUT_EDGES
+ ${${PREFIX}${UPPER_SOURCE}${SUFFIX}})
+ endif(NOT FOUND_${UPPER_TARGET})
+
+ list(LENGTH OUT_EDGES OUT_DEGREE)
+ endwhile (OUT_DEGREE GREATER 0)
+
+ # We have finished all of the outgoing edges for
+ # SOURCE; add it to the resulting list.
+ list(APPEND ${LIST} ${SOURCE})
+
+ # Check the length of the stack
+ list(LENGTH STACK STACK_LENGTH)
+ endwhile(STACK_LENGTH GREATER 0)
+ endif (NOT FOUND_${UPPER_VERTEX})
+ endforeach(VERTEX)
+
+ set(${LIST} ${${LIST}} PARENT_SCOPE)
+endfunction(topological_sort)
+
+# Small little hack that tweaks a component name (as used for CPack)
+# to make sure to avoid certain names that cause problems. Sets the
+# variable named varname to the "sanitized" name.
+#
+# FIXME: This is a complete hack. We probably need to fix the CPack
+# generators (NSIS in particular) to get rid of the need for this.
+macro(fix_cpack_component_name varname name)
+ if (${name} STREQUAL "foreach")
+ set(${varname} "boost_foreach")
+ else()
+ set(${varname} ${name})
+ endif()
+endmacro()
+
+
+#
+# A big shout out to the cmake gurus @ compiz
+#
+function (colormsg)
+ string (ASCII 27 _escape)
+ set(WHITE "29")
+ set(GRAY "30")
+ set(RED "31")
+ set(GREEN "32")
+ set(YELLOW "33")
+ set(BLUE "34")
+ set(MAG "35")
+ set(CYAN "36")
+
+ foreach (color WHITE GRAY RED GREEN YELLOW BLUE MAG CYAN)
+ set(HI${color} "1\;${${color}}")
+ set(LO${color} "2\;${${color}}")
+ set(_${color}_ "4\;${${color}}")
+ set(_HI${color}_ "1\;4\;${${color}}")
+ set(_LO${color}_ "2\;4\;${${color}}")
+ endforeach()
+
+ set(str "")
+ set(coloron FALSE)
+ foreach(arg ${ARGV})
+ if (NOT ${${arg}} STREQUAL "")
+ if (CMAKE_COLOR_MAKEFILE)
+ set(str "${str}${_escape}[${${arg}}m")
+ set(coloron TRUE)
+ endif()
+ else()
+ set(str "${str}${arg}")
+ if (coloron)
+ set(str "${str}${_escape}[0m")
+ set(coloron FALSE)
+ endif()
+ set(str "${str} ")
+ endif()
+ endforeach()
+ message(STATUS ${str})
+endfunction()
+
+# colormsg("Colors:"
+# WHITE "white" GRAY "gray" GREEN "green"
+# RED "red" YELLOW "yellow" BLUE "blue" MAG "mag" CYAN "cyan"
+# _WHITE_ "white" _GRAY_ "gray" _GREEN_ "green"
+# _RED_ "red" _YELLOW_ "yellow" _BLUE_ "blue" _MAG_ "mag" _CYAN_ "cyan"
+# _HIWHITE_ "white" _HIGRAY_ "gray" _HIGREEN_ "green"
+# _HIRED_ "red" _HIYELLOW_ "yellow" _HIBLUE_ "blue" _HIMAG_ "mag" _HICYAN_ "cyan"
+# HIWHITE "white" HIGRAY "gray" HIGREEN "green"
+# HIRED "red" HIYELLOW "yellow" HIBLUE "blue" HIMAG "mag" HICYAN "cyan"
+# "right?")
+
+#
+# pretty-prints the value of a variable so that the
+# equals signs align
+#
+function(boost_report_value NAME)
+ string(LENGTH "${NAME}" varlen)
+ math(EXPR padding_len 30-${varlen})
+ string(SUBSTRING " "
+ 0 ${padding_len} varpadding)
+ colormsg("${NAME}${varpadding} = ${${NAME}}")
+endfunction()
+
+function(trace NAME)
+ if(BOOST_CMAKE_TRACE)
+ string(LENGTH "${NAME}" varlen)
+ math(EXPR padding_len 40-${varlen})
+ string(SUBSTRING "........................................"
+ 0 ${padding_len} varpadding)
+ message("${NAME} ${varpadding} ${${NAME}}")
+ endif()
+endfunction()
+
+#
+# pretty-prints the value of a variable so that the
+# equals signs align
+#
+function(boost_report_pretty PRETTYNAME VARNAME)
+ string(LENGTH "${PRETTYNAME}" varlen)
+ math(EXPR padding_len 30-${varlen})
+ string(SUBSTRING " "
+ 0 ${padding_len} varpadding)
+ message(STATUS "${PRETTYNAME}${varpadding} = ${${VARNAME}}")
+endfunction()
+
+#
+# assert that ARG is actually a library target
+#
+macro(dependency_check ARG)
+ trace(ARG)
+ if (NOT ("${ARG}" STREQUAL ""))
+ get_target_property(deptype ${ARG} TYPE)
+ if(NOT deptype MATCHES ".*_LIBRARY$")
+ set(DEPENDENCY_OKAY FALSE)
+ list(APPEND DEPENDENCY_FAILURES ${ARG})
+ endif()
+ endif()
+endmacro()
+
+
diff --git a/tools/build/CMake/CMakeLists.txt b/tools/build/CMake/CMakeLists.txt
new file mode 100644
index 0000000..a31785f
--- /dev/null
+++ b/tools/build/CMake/CMakeLists.txt
@@ -0,0 +1,77 @@
+#
+# Copyright (C) Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt
+#
+#
+# On unix this is '/usr/share/cmake/boost'
+#
+set(BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR
+ "share/boost-${BOOST_VERSION}/cmake"
+ CACHE STRING
+ "Directory to install Boost-${BOOST_VERSION} to")
+
+#
+# Provides version number to sphinx build
+#
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py)
+
+#
+# Makefile for sphinx build with maintainer targets
+#
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile)
+
+#
+# File used by BoostConfigVersion to import targets/libs/etc
+# into users's cmake build
+#
+foreach (file
+ BoostConfig
+ BoostConfigVersion
+ BoostConfigAgnostic
+ BoostConfigVersionAgnostic)
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake @ONLY)
+endforeach()
+
+
+#
+# These are generated, version-specific
+#
+install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersion.cmake
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfig.cmake
+ DESTINATION ${BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR}
+ )
+
+#
+# The files that go in <prefix>/share/cmake/boost that search for
+# Boost-<version>.cmake files (user specifies <version>)
+#
+option(BOOST_INSTALL_CMAKE_DRIVERS
+ "Install version-agnostic BoostConfig.cmake and BoostConfigVersion.cmake to this subdirectory of CMAKE_INSTALL_PREFIX" ON)
+
+if (BOOST_INSTALL_CMAKE_DRIVERS)
+ if (NOT BOOST_CMAKE_DRIVERS_INSTALL_DIR)
+ set(agnostic_infra_dir "share/cmake/boost")
+ else()
+ set(agnostic_infra_dir ${BOOST_CMAKE_DRIVERS_INSTALL_DIR})
+ endif()
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigAgnostic.cmake
+ DESTINATION ${agnostic_infra_dir}
+ RENAME BoostConfig.cmake
+ )
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersionAgnostic.cmake
+ DESTINATION ${agnostic_infra_dir}
+ RENAME BoostConfigVersion.cmake
+ )
+endif()
+
+
diff --git a/tools/build/CMake/CTestCustom.cmake.in b/tools/build/CMake/CTestCustom.cmake.in
new file mode 100644
index 0000000..c5ad493
--- /dev/null
+++ b/tools/build/CMake/CTestCustom.cmake.in
@@ -0,0 +1,5 @@
+message(FATAL_ERROR "Please customize CTestCustom.cmake, found in your build directory")
+
+set(SITE "Set To Your Hostname")
+set(CMAKE_VERBOSE_MAKEFILE TRUE)
+
diff --git a/tools/build/CMake/CompileTest/CMakeLists.txt b/tools/build/CMake/CompileTest/CMakeLists.txt
new file mode 100644
index 0000000..d5a5908
--- /dev/null
+++ b/tools/build/CMake/CompileTest/CMakeLists.txt
@@ -0,0 +1,12 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+cmake_minimum_required(VERSION 2.6)
+project(CompileTest)
+add_library(compile-test STATIC ${SOURCE})
+include_directories(${INCLUDES})
+set_source_files_properties(${SOURCE}
+ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
\ No newline at end of file
diff --git a/tools/build/CMake/FindICU.cmake b/tools/build/CMake/FindICU.cmake
new file mode 100644
index 0000000..9dff9f3
--- /dev/null
+++ b/tools/build/CMake/FindICU.cmake
@@ -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)
diff --git a/tools/build/CMake/LinkTest/CMakeLists.txt b/tools/build/CMake/LinkTest/CMakeLists.txt
new file mode 100644
index 0000000..4532709
--- /dev/null
+++ b/tools/build/CMake/LinkTest/CMakeLists.txt
@@ -0,0 +1,26 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+cmake_minimum_required(VERSION 2.6)
+
+file(GLOB BOOST_EXPORTS "${BOOST_EXPORTS_DIR}/*.cmake")
+
+foreach(import
+ ${DEPENDS})
+ include(${BOOST_EXPORTS_DIR}/${import}.cmake)
+endforeach()
+
+project(LinkTest)
+include_directories (${INCLUDES})
+add_executable(link-test ${SOURCE})
+set_source_files_properties(${SOURCE}
+ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
+
+message("DEPENDS=====${DEPENDS}")
+
+target_link_libraries(link-test
+ ${LINK_LIBS}
+ ${DEPENDS})
diff --git a/tools/build/CMake/catalog.xml.in b/tools/build/CMake/catalog.xml.in
new file mode 100644
index 0000000..75bc4f1
--- /dev/null
+++ b/tools/build/CMake/catalog.xml.in
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE catalog
+ PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
+ "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+ <rewriteURI uriStartString="http://www.boost.org/tools/boostbook/dtd/" rewritePrefix="file://@BOOSTBOOK_DTD_DIR@/"/>
+ <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current/" rewritePrefix="file://@DOCBOOK_XSL_DIR@/"/>
+ <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.2/" rewritePrefix="file://@DOCBOOK_DTD_DIR@/"/>
+</catalog>
diff --git a/tools/build/CMake/docs/Makefile.in b/tools/build/CMake/docs/Makefile.in
new file mode 100644
index 0000000..e51563a
--- /dev/null
+++ b/tools/build/CMake/docs/Makefile.in
@@ -0,0 +1,101 @@
+#
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf build/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html
+ @echo
+ @echo "Build finished. The HTML pages are in build/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) build/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in build/dirhtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) build/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) build/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in build/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) build/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in build/qthelp, like this:"
+ @echo "# qcollectiongenerator build/qthelp/boost-cmake.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile build/qthelp/boost-cmake.qhc"
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in build/latex."
+ @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+ "run these through (pdf)latex."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes
+ @echo
+ @echo "The overview file is in build/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) build/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in build/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) build/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in build/doctest/output.txt."
+
+deploy:
+ make html
+ rsync --delete -va build/html/ @BOOST_CMAKE_URL@/doc/
+
+ make latex
+ make -C build/latex all-pdf
+ scp build/latex/boost-@BOOST_CMAKE_VERSION@.pdf @BOOST_CMAKE_URL@
+
+deploy-current-docs:
+ make html
+ rsync --delete -va build/html/ @BOOST_CMAKE_HOST@:@BOOST_CMAKE_DOCROOT@/current-docs/
diff --git a/tools/build/CMake/docs/build/html/.buildinfo b/tools/build/CMake/docs/build/html/.buildinfo
new file mode 100644
index 0000000..f482eff
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 8f03172e7d0da74db617946b267b7981
+tags: fbb0d17656682115ca4d033fb2f83ba1
diff --git a/tools/build/CMake/docs/build/html/_images/MacInstaller.png b/tools/build/CMake/docs/build/html/_images/MacInstaller.png
new file mode 100644
index 0000000..4beb2ec
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_images/MacInstaller.png differ
diff --git a/tools/build/CMake/docs/build/html/_images/WindowsInstaller.png b/tools/build/CMake/docs/build/html/_images/WindowsInstaller.png
new file mode 100644
index 0000000..fb0ea55
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_images/WindowsInstaller.png differ
diff --git a/tools/build/CMake/docs/build/html/_sources/add_boost_library.txt b/tools/build/CMake/docs/build/html/_sources/add_boost_library.txt
new file mode 100644
index 0000000..6b391a1
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/add_boost_library.txt
@@ -0,0 +1,57 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _add_boost_library_project:
+
+Adding a Library Project
+========================
+
+This page describes how to introduce a new Boost library project into
+the CMake-based build system. Any Boost library that provides a
+library binary (e.g., ``boost_signals.dll``) or has regression tests
+(hopefully, every Boost library!) will need to be part of the build
+system.
+
+To introduce a new library, which resides in the subdirectory
+``libs/libname``, follow these steps:
+
+1. Create a new file ``libs/libname/CMakeLists.txt`` with your
+ favorite text editor. This file will contain an invocation of the
+ :ref:`boost_library_project_macro`, which
+ identifies each Boost library to the build system. The invocation
+ of the ``boost_library_project`` will look like this::
+
+ boost_library_project(
+ Libname
+ SRCDIRS src
+ TESTDIRS test
+ EXAMPLEDIRS test
+ )
+
+ where ``Libname`` is the properly-capitalization library name,
+ e.g., ``Signals`` or ``Smart_ptr``. The ``SRCDIRS src`` line should
+ only be present if your Boost library actually needs to compile a
+ library binary; header-only libraries can skip this step. The
+ ``TESTDIRS test`` line indicates that the subdirectory ``test``
+ contains regression tests for your library. Every Boost library
+ should have these.
+
+2. Re-run CMake (see :ref:`quickstart`) to reconfigure the source
+ tree, causing CMake to find the new Boost library. CMake can be
+ re-run either from the command line (by invoking ``cmake
+ /path/to/boost`` or ``ccmake /path/to/boost``) or, on Windows,
+ using the CMake GUI. Once you have reconfigured and generated new
+ makefiles or project files, CMake knows about your library.
+
+3. If your library has compiled sources (i.e., it is not a header-only
+ library), follow the instructions on :ref:`add_compiled_library` to
+ get CMake building and installing your library.
+
+4. If your library has regression tests (it *does* regression tests,
+ right?), follow the instructions on :ref:`adding_regression_tests`
+ to get CMake to build and run regression tests for your library.
diff --git a/tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt b/tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt
new file mode 100644
index 0000000..0eb8c9d
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt
@@ -0,0 +1,239 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _add_compiled_library:
+
+Adding a Compiled Library to CMake
+==================================
+
+This page describes how to add a new, compiled library to the
+CMake-based build system. If your library is a "header-only" library,
+and does not require separate compilation of object files into a
+library binary, you can safely skip this step. Before adding compiled
+libraries to CMake, make sure you have already followed the directions
+for :ref:`boost_library_project_macro`, so that the CMake system recognizes your
+Boost library.
+
+We will assume that your library resides in the subdirectory
+``libs/libname``, and that we want to create the compiled library
+``boost_libname``. We will also assume that the sources for this
+library reside in the subdirectory ``libs/libname/src``. The source
+directory should be listed via ``SRCDIRS`` in the use of the
+:ref:`boost_library_project_macro` macro, as described in the previous
+section. Follow these steps to add this new
+library into Boost's build system. If your library has multiple source
+directories listed after ``SRCDIRS``, follow these steps for each one.
+
+1. Create a new file ``libs/libname/src/CMakeLists.txt`` with your
+ favorite text editor. This file will contain build rules for your
+ compiled library. In this file, we will create one or more
+ invocations of the :ref:`boost_add_library_macro` macro, which adds a
+ compiled Boost library to the CMake system. This macro provides the
+ name of the library, the source files from which the library will
+ be built, and any specific compiler and linker options needed to
+ help build the library. Let's start by adding a simple library with
+ a few source files::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ )
+
+ This invocation will build several variants of the
+ ``boost_libname`` library from the source files ``mysrc1.cpp`` and
+ ``mysrc2.cpp``. For example, it will build both static and shared
+ library, single- and multi-threaded, debug and release, etc. This
+ invocation also handles the installation of these libraries.
+
+2. For simple libraries, that's it! Rebuilding via CMake (e.g.,
+ running ``make`` or reloading and rebuilding the Boost project in
+ your IDE) will build the new library, including several different
+ variants for different compilation options. Your Boost library will
+ also be included when the user installs Boost or builds a binary
+ package of Boost. Within the CMake configuration, you will also see
+ an option ``BUILD_LIBNAME``, which allows the user to decide
+ whether or not to build this Boost library.
+
+3. Many libraries will need specific compilation options when
+ building, need to link against other libraries (Boost or
+ otherwise), or rely on certain features of the compilation process
+ to proceed. Follow the instructions in the remaining part of this
+ page to address these library-specific needs.
+
+
+Compilation Flags
+-----------------
+
+Many libraries require certain compilation flags when we are building
+the library binaries themselves (rather than when the library headers
+are included by the user). For example, we want to define the macro
+``BUILDING_BOOST_LIBNAME`` when building the library. We can do so by
+passing the ``COMPILE_FLAGS`` option to ``boost_add_library``::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ )
+
+Now when CMake builds the library, it will pass the flag
+``-DBUILDING_BOOST_LIBNAME=1`` to the compiler.
+
+On Windows, shared libraries are built very differently from static
+libraries. In particular, when building a shared library, one needs to
+be sure to export the right symbols from the DLL using
+``dllexport``. When users use the shared library, these symbols will be
+imported (via ``dllimport``). The typical way to handle this is to
+define a macro (say, ``BOOST_LIBNAME_DYN_LINK``) when building the
+shared library. This macro instructs the library headers to
+``dllexport`` everything that needs to be exported. We can do this with
+variant-specific compile flags, e.g., ::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ )
+
+When building a shared library, the ``SHARED_COMPILE_FLAGS`` options
+will be combined with the ``COMPILE_FLAGS`` options. When building a
+static library, the ``SHARED_COMPILE_FLAGS`` options will be
+ignored. There are other options that can be specified per-feature,
+such as ``LINK_FLAGS`` and ``LINK_LIBS``; refer to the
+:ref:`boost_add_library_macro` reference for more
+information.
+
+Linking to Other Boost Libraries
+--------------------------------
+
+Some Boost libraries depends on other Boost libraries. For example,
+perhaps our library uses the Boost.Filesystem library under the
+hood. We can use the ``DEPENDS`` feature of the
+:ref:`boost_add_library_macro` to state which libraries our library
+depends on. In this example, we'll link against ``boost_filesystem``::
+
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ )
+
+Now, each variant of the ``boost_libname`` library will link against
+the appropriate ``boost_filesystem`` library variant. Whenever
+``boost_filesystem`` changes, our library will be relinked
+appropriately.
+
+Linking External Libraries/Optional Sources
+-------------------------------------------
+
+Sometimes, Boost libraries need to link against other libraries
+supplied by the system. The primary challenge in linking against these
+libraries is *finding* those libraries, and their associated headers,
+on the system. If the library is found, we usually want to pass some
+extra compilation flags to our library and add in additional
+sources. Otherwise, we just skip these extra sources.
+
+CMake already contains modules that search for many common system
+libraries and tools; search the
+[http://www.cmake.org/HTML/Documentation.html CMake Documentation] for
+existing modules that do what you need. For example, say we want to
+link against the system's ``PNG`` (portable network graphics) library.
+We can use the supplied ``FindPNG`` module by adding the following
+early in our ``CMakeLists.txt`` file: ::
+
+ include(FindPNG)
+
+Documentation for CMake modules is typically found in the module file
+itself. Look into the ``Modules`` subdirectory of your CMake
+installation, either in ``Program Files\CMake`` (on Windows) or
+``/usr/share/cmake-version`` (on Unix variants) to find the module of
+the same name. The module will typically set a variable that indicates
+whether the library was found. For the ``FindPNG`` module, this variable
+is called ``PNG_FOUND``. We can use this variable to optionally add
+sources to a variable ``EXTRA_SOURCES``::
+
+ include(FindPNG)
+ set(EXTRA_SOURCES)
+ if (PNG_FOUND)
+ list(APPEND EXTRA_SOURCES png.cpp)
+ endif (PNG_FOUND)
+
+
+CMake modules also typically define macros specifying the include
+directories needed for the library, any compile-time definitions
+required to use the library, and linking information for the library
+binary. For the ``FindPNG`` module, these variables are called
+``PNG_INCLUDE_DIR``, ``PNG_DEFINITIONS`` and ``PNG_LIBRARY``, respectively.
+
+The include directory should be added via the CMake
+``include_directories`` macro, e.g., ::
+
+ include_directories(${PNG_INCLUDE_DIR})
+
+The ``PNG_DEFINITIONS`` value should be added to the ``COMPILE_FLAGS``
+and the ``PNG_LIBRARIES`` value to the ``LINK_LIBS`` option to the
+:ref:`boost_add_library_macro`. Using these features together, we can
+search for the ``PNG`` library on the system and optionally include
+PNG support into our library::
+
+ include(FindPNG)
+ set(EXTRA_SOURCES)
+ if (PNG_FOUND)
+ include_directories(${PNG_PNG_INCLUDE_DIR})
+ list(APPEND EXTRA_SOURCES png.cpp)
+ endif (PNG_FOUND)
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ ${EXTRA_SOURCES}
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1 ${PNG_DEFINITIONS}"
+ LINK_LIBS "${PNG_LIBRARIES}"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ )
+
+If CMake does not provide a module to search for the library you need,
+don't worry! You can write your own module relatively easily,
+following the examples from the CMake ``Modules`` directory or some of
+the Boost-specific examples, such as
+http://svn.boost.org/svn/boost/branches/release/tools/build/CMake/FindICU.cmake
+For a real-life example of finding system libraries and using that
+information to add optional, extra capabilities to a Boost library,
+check out the build rules for the Boost.IOStreams library at
+http://svn.boost.org/svn/boost/branches/release/libs/iostreams/src/CMakeLists.txt
+
+.. index:: Variants
+
+Build Variants
+--------------
+
+The Boost build system defines many different :ref:`VARIANTS`, which
+describe specific properties of certain builds. For example, the
+``SHARED`` feature indicates that we are building a shared library,
+while the ``MULTI_THREADED`` feature indicates that we are building a
+multi-threaded library. A specific set of features is called a
+``````variant``````, e.g., ``RELEASE`` and ``MULTI_THREADED`` and
+``SHARED``. By default, the CMake-based build system builds several
+different variants of each Boost library.
+
+Since some features conflict with certain libraries (a threading
+library cannot be ``SINGLE_THREADED``!), one can pass additional flags
+to :ref:`boost_add_library_macro` stating which features should the library
+cannot be built with. For example, say that our library cannot be
+built as a multi-threaded library, because it uses thread-unsafe
+routines from the underlying C library. To disable multi-threaded
+variants of the library, pass the option ``NOT_MULTI_THREADED``::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ NOT_MULTI_THREADED
+ )
+
diff --git a/tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt b/tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt
new file mode 100644
index 0000000..9d2618f
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt
@@ -0,0 +1,115 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: regression tests; adding
+.. _adding_regression_tests:
+
+Adding Regression Tests
+=======================
+
+This page describes how to add regression tests for a Boost library in
+the CMake-based build system. Before adding regression tests, make
+sure you have already followed the directions for
+:ref:`boost_library_project_macro` , so that the CMake system
+recognizes your Boost library project, and (if necessary)
+:ref:`add_compiled_library`. We also assume that you have already
+configured your build tree for regression testing of your library, by
+adding your library project's name to the :ref:`BUILD_TESTS` option
+described in the section :ref:`testing`.
+
+In this page, we will assume that your library resides in the
+subdirectory ``libs/libname``, and that tests for this library are
+stored in ``libs/libname/test``. The test directory should be listed
+via :ref:`TESTDIRS` in the call of
+:ref:`boost_library_project_macro`. Follow these steps to add this new
+library into Boost's build system. If your library has multiple
+testing directories listed after :ref:`TESTDIRS`, follow these steps for
+each one.
+
+#. Create a new file ``libs/libname/test/CMakeLists.txt`` file with
+ your favorite text editor. This file will contain instructions for
+ building and running each of the regression tests for your library.
+
+#. If your regression test depends on any other part of boost then
+ you will need to inform the build system of such with the
+ following line::
+
+ boost_additional_test_dependencies(libname BOOST_DEPENDS test fusion)
+
+ where 'libname' is the name of your library that you are testing.
+
+#. For each test that only needs to be compiled (but not executed),
+ add a ``compile`` or ``compile_fail`` test using the
+ :ref:`boost_test_compile` or :ref:`boost_test_compile_fail`
+ macros, respectively. The most basic usage of these macros
+ provides only the test name, e.g., ::
+
+ boost_test_compile(compile_test)
+ boost_test_compile_fail(compile_fail_test)
+
+ This code will create two regression tests. The first,
+ ``compile_test``, will try to compile the source file
+ ``compile_test.cpp`` in the current source directory. If the
+ compile is successful, the regression test passes. If the compile
+ fails, the regression test fails. The second regression test works
+ the opposite way: it will try to compile
+ ``compile_fail_test.cpp``: if the compilation is successful, the
+ regression test fails. When you run the regression tests (e.g., by
+ calling ``ctest`` from the build directory), the regression tests
+ will execute and produce output like the following::
+
+ Running tests...
+ Start processing tests
+ Test project /Users/dgregor/Projects/boost-darwin
+ 1/ 2 Testing libname::compile_test Passed
+ 2/ 2 Testing libname::compile_fail_test ***Failed - supposed to fail
+
+ 100% tests passed, 0 tests failed out of 2
+
+3. For any tests that need to be built and executed, use the
+ :ref:`boost_test_run` or :ref:`boost_test_run_fail` macros. Both
+ tests will build, link and execute a regression test. The
+ :ref:`boost_test_run` macro expects that executable to return an
+ exit code of zero, while the :ref:`boost_test_run_fail` macro
+ expects that executable to return a non-zero exit code. For
+ example, we might build a simple test ``simple_test`` from the
+ source file ``simple_test.cpp``::
+
+ boost_test_run(simple_test)
+
+ Often, we'll want to link against our own Boost library, which we
+ do using the ``DEPENDS`` argument to ``boost_test_run``::
+
+ boost_test_run(big_test big_test1.cpp big_test2.cpp
+ DEPENDS boost_libname-static
+ )
+
+ Here, we have created a test ``big_test``, built from the source
+ files ``big_test1.cpp`` and ``big_test2.cpp``, which will link
+ against the static library for ``boost_libname``. We could create
+ a similar test that links against the shared library for
+ ``boost_libname``, passing along compilation flags specific to the
+ shared library::
+
+ boost_test_run(big_test_dll big_test1.cpp big_test2.cpp
+ DEPENDS boost_libname-shared
+ COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ )
+
+ Some tests require command-line arguments. For example, say we
+ want to pass ``-loop 1000`` to a randomized test. We can do so
+ using the ``ARGS`` argument to ``boost_test_run`` (or
+ ``boost_test_run_fail``)::
+
+ boost_test_run(random_test ARGS "-loop" "1000" DEPENDS boost_libname-static)
+
+ Once you have finished describing your regression tests to the
+ CMake system, you're done! Your library will now build, test, and
+ install with CMake and this behavior should be portable across
+ many different platforms.
+
diff --git a/tools/build/CMake/docs/build/html/_sources/build_configuration.txt b/tools/build/CMake/docs/build/html/_sources/build_configuration.txt
new file mode 100644
index 0000000..680e3dd
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/build_configuration.txt
@@ -0,0 +1,297 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _configure_and_build:
+
+Configuring the buildspace
+==========================
+
+Configuration tools
+-------------------
+
+Included in the standard cmake distribution are the Windows `CMake`
+gui and the unix `ccmake` curses interface, which allow one to
+configure various aspects of the cmake build. On Microsoft Windows
+run the CMake configuration program from the Start menu.
+
+Having done the initial configuration step as in :ref:`quickstart`,
+on unix run::
+
+ make edit_cache
+
+in the binary directory. On windows just run the cmake gui and choose
+the binary dir from the pulldown menu. You will be presented with a list of editable build options something
+like this::
+
+ BOOST_PLATFORM linux
+ BUILD_BCP ON
+ BUILD_BOOST_WSERIALIZATION ON
+ BUILD_EXAMPLES NONE
+ BUILD_INSPECT ON
+ BUILD_TESTS NONE
+ CMAKE_BUILD_TYPE Release
+ CMAKE_INSTALL_PREFIX /usr/local
+ DART_TESTING_TIMEOUT 15
+ DEBUG_COMPILE_FLAGS -g
+ DOCBOOK_AUTOCONFIG OFF
+ DOCBOOK_DTD_DIR DOCBOOK_DTD_DIR-NOTFOUND
+ DOCBOOK_XSL_DIR DOCBOOK_XSL_DIR-NOTFOUND
+ ENABLE_DEBUG ON
+ ENABLE_MULTI_THREADED ON
+ ENABLE_RELEASE ON
+ ENABLE_SHARED ON
+ ENABLE_SINGLE_THREADED OFF
+ ENABLE_STATIC ON
+ RELEASE_COMPILE_FLAGS -O3 -DNDEBUG
+ UNZIP /usr/bin/unzip
+ WINMANGLE_LIBNAMES OFF
+ XSLTPROC /usr/bin/xsltproc
+ XSLTPROC_FLAGS --xinclude
+
+On windows, the configurables will be right in the middle of the gui;
+can't miss 'em. Note the ``[t]`` key to toggle 'advanced mode' which
+will show more options (on windows this is a selection box that says
+``Simple View`` by default, pull it down to see Advanced and Grouped
+views).
+
+Use the arrow keys to select particular options. Press :kbd:`c` (for
+(c)onfigure) to perform the preliminary configuration of the CMake
+build system when you are done. When the options you have selected
+have stabilized, CMake will give you the (g)enerate option. If you do
+not see this option, press :kbd:`c` again to reconfigure. Try the
+:kbd:`t` key to see more options. When you're done press :kbd:`g` to
+generate makefiles and exit.
+
+See :ref:`VARIANTS` for information about the feature-specific options
+(ie ``ENABLE_whatever`` listed above.)
+
+.. _cmakecache.txt:
+
+CMakeCache.txt
+==============
+
+The same information is stored in a file `CMakeCache.txt` located in
+the build directory. For this reason, after you've done the initial
+configuration of a build directory you can invoke `ccmake` like this::
+
+ ccmake <path-to-build>
+
+or have the makefiles do it for you::
+
+ make edit_cache
+
+The CMakeCache.txt file is hand-editable, though this is usually not
+as convenient as the cmake-supplied configuration tools mentioned
+above. An excerpt of this file::
+
+ //
+ // Enable/Disable color output during build.
+ //
+ CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+ //
+ // Mangle lib names for windows, e.g., boost_filesystem-gcc41-1_34
+ //
+ WINMANGLE_LIBNAMES:BOOL=ON
+
+
+On unix, (?windows too?) the generated makefiles will detect if this
+file has been edited and will automatically rerun the makefile
+generation phase. If you should need to trigger this regeneration
+manually you may execute ::
+
+ make rebuild_cache
+
+.. rubric:: Deleting the cache
+
+You may find yourself wanting to start from scratch, for instance if
+you want to switch from using Visual Studio to using NMake. To do
+this, **delete the cache file**. On windows, there is a *Delete
+Cache* option in the CMake gui's *File* menu. On unix you can simply
+``rm CMakeCache.txt``.
+
+.. index:: CMAKE_BINARY_DIR
+.. _CMAKE_BINARY_DIR:
+
+CMAKE_BINARY_DIR
+----------------
+
+This variable is set by cmake and corresponds to the toplevel of your
+``build/`` directory.
+
+
+.. _useful_options:
+
+A few useful options
+--------------------
+
+CMAKE_OSX_ARCHITECTURES
+^^^^^^^^^^^^^^^^^^^^^^^
+
+ *Mac OS X users*: to build universal binaries, set this to
+ ``ppc;i386``.
+
+.. index:: WINMANGLE_LIBNAMES
+.. _winmangle_libnames:
+
+WINMANGLE_LIBNAMES
+^^^^^^^^^^^^^^^^^^
+
+This option controls whether libraries will be built with mangled-in
+compiler name/version and boost version. For example, with
+``BUILD_VERSIONED`` set to ``OFF``, the signals library looks like
+this::
+
+ % ls lib/*signals*
+ lib/libboost_signals-mt-d.a lib/libboost_signals-mt.a
+ lib/libboost_signals-mt-d.so* lib/libboost_signals-mt.so*
+
+But with it on, (on a gcc 4.3 linux box)::
+
+ % ls lib/*signal*
+ lib/libboost_signals-gcc43-mt-1_40.a
+ lib/libboost_signals-gcc43-mt-d-1_40.a
+ lib/libboost_signals-gcc43-mt-1_40.so*
+ lib/libboost_signals-gcc43-mt-d-1_40.so*
+
+Historically this mangling has been convenient for windows users and a
+bane to unix users, thus *winmangle_libnames*.
+
+.. note:: The on-disk names of library :ref:`variants <variants>` are
+ always mangled with the active :ref:`features <features>`.
+ ``WINMANGLED_LIBNAMES`` affects mangling of compiler and boost
+ version only.
+
+.. index:: BUILD_PROJECTS
+.. _BUILD_PROJECTS:
+
+BUILD_PROJECTS
+^^^^^^^^^^^^^^
+
+This is a semicolon-separated list of projects to be built, or
+``"ALL"`` (the default) for all projects, or ``"NONE"``. Projects not
+appearing in this list (if list not ``"ALL"``) are ignored; no targets in
+this project will appear. Example::
+
+ BUILD_PROJECTS=thread;python
+
+See also the :ref:`boost_library_project_macro` macro.
+
+.. note::
+
+ If you specify a project with link time dependencies on other
+ projects, e.g. ``filesystem``, (which depends on ``system``) and
+ omit the dependencies, you will get an error from cmake something
+ like this::
+
+ CMake Error at tools/build/CMake/BoostCore.cmake:736 (get_property):
+ get_property could not find TARGET boost_system-mt-shared. Perhaps it has
+ not yet been created.
+ Call Stack (most recent call first):
+ tools/build/CMake/BoostCore.cmake:1170 (boost_library_variant)
+ libs/filesystem/src/CMakeLists.txt:7 (boost_add_library)
+
+
+.. index:: BUILD_EXAMPLES
+.. _BUILD_EXAMPLES:
+
+BUILD_EXAMPLES
+^^^^^^^^^^^^^^
+
+This is a semicolon-separated list of projects whose examples should
+be built, e.g.::
+
+ BUILD_EXAMPLES="iostreams;accumulators"
+
+.. warning:: If you pass this on the commandline in a unix shell,
+ don't forget to quote the list of arguments or escape the
+ semicolons...
+
+Per-library examples are specified with the :ref:`EXAMPLEDIRS`
+argument to the :ref:`boost_library_project_macro` macro.
+
+.. rubric:: Note:
+
+A project's examples will only be built if the project appears in
+**both** :ref:`BUILD_PROJECTS` and :ref:`BUILD_EXAMPLES`. I.e., the
+``BUILD_PROJECTS`` filter is applied first, and the ``BUILD_EXAMPLES``
+filter has no ability to reverse the result.
+
+.. index:: BUILD_TOOLS
+.. _BUILD_TOOLS:
+
+BUILD_TOOLS
+^^^^^^^^^^^
+
+Similar to BUILD_EXAMPLES and BUILD_PROJECTS above, this is a
+semicolon-separated list of tools (in subdirectory
+``$BOOST_ROOT/tools/``) that should be built, e.g.::
+
+ BUILD_TOOLS=quickbook;wave
+
+``"ALL"`` will build all tools, ``"NONE"`` will build none. Note that
+the values here are lowercase (only subdirectories of ``tools/``
+matching one of the strings in the list will be traversed by cmake).
+
+.. index:: verbosity; CMAKE_VERBOSE_MAKEFILE
+
+CMAKE_VERBOSE_MAKEFILE
+^^^^^^^^^^^^^^^^^^^^^^
+
+ Displays full build commands during build. Good for debugging.
+ This option will generate permanently verbose makefiles; it is
+ generally easier to invoke make with the option ``VERBOSE=1``
+ instead (this has the same effect, but is not persistent).
+
+.. index:: CMAKE_CXX_COMPILER
+
+.. _cmake_cxx_compiler:
+
+CMAKE_CXX_COMPILER
+^^^^^^^^^^^^^^^^^^
+
+ Sets the compiler. If you have a nonstandard compiler and no
+ default compiler, you may have to pass the value of this option on
+ the commandline, for example::
+
+ cmake ../src -DCMAKE_CXX_COMPILER=gcc-4.4
+
+ On windows you can set this in the gui, but you will probably prefer
+ to have cmake generate a set of nmake or project files by choosing
+ an appropriate generator.
+
+.. index:: BUILD_SOVERSIONED
+.. index:: soversion
+.. index:: soname
+.. _BUILD_SOVERSIONED:
+
+BUILD_SOVERSIONED
+^^^^^^^^^^^^^^^^^
+
+Enables the setting of SOVERSION in built libraries. If
+this is on::
+
+ % ls -l libboost_thread*.so*
+ lrwxrwxrwx 1 troy troy 30 Oct 29 18:37 libboost_thread-mt-d.so -> libboost_thread-mt-d.so.1.41.0*
+ -rwxr-xr-x 1 troy troy 571361 Oct 29 18:37 libboost_thread-mt-d.so.1.41.0*
+ lrwxrwxrwx 1 troy troy 28 Oct 29 18:37 libboost_thread-mt.so -> libboost_thread-mt.so.1.41.0*
+ -rwxr-xr-x 1 troy troy 114963 Oct 29 18:37 libboost_thread-mt.so.1.41.0*
+
+ % readelf -a libboost_thread-mt.so | grep SONAME
+ 0x000000000000000e (SONAME) Library soname: [libboost_thread-mt.so.1.41.0]
+
+and if off::
+
+ % ls -l lib/*signals*
+ -rwxr-xr-x 1 troy troy 835522 Oct 29 15:10 lib/libboost_signals-mt-d.so*
+ -rwxr-xr-x 1 troy troy 121886 Oct 29 15:10 lib/libboost_signals-mt.so*
+
+(Unix only, ``ON`` by default)
+
+This setting also determines whether libraries are *installed*
+with/without soversions. See also :ref:`INSTALL_VERSIONED`.
diff --git a/tools/build/CMake/docs/build/html/_sources/build_installer.txt b/tools/build/CMake/docs/build/html/_sources/build_installer.txt
new file mode 100644
index 0000000..38030ea
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/build_installer.txt
@@ -0,0 +1,57 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Building a Binary Installer
+===========================
+
+CMake can easily build binary installers for a variety of
+platforms. On Windows and Mac OS X, CMake builds graphical
+installation programs. For other Unix operating systems, CMake
+currently builds tarballs and self-installing shell scripts. This
+CMake functionality, provided by the
+`CPack <http://www.cmake.org/Wiki/CMake:Packaging_With_CPack>`_ program
+that is part of CMake, is used to create all of CMake's binary
+installers. We use CPack to build binary installers for Boost. To
+build a binary installer for Boost, follow these steps:
+
+1. Build Boost using CMake. (see :ref:`quickstart`)
+
+2. ('''Windows only''') Download and install the `Nullsoft Scriptable
+ Install System (NSIS) <http://nsis.sourceforge.net/Main_Page>`_,
+ which is used to create graphical installers on Windows. Unix users
+ do not need to install any extra tools.
+
+3. Using the same development tools for building Boost, build the
+ "package" target to create the binary installers.
+
+ * With Microsoft Visual Studio, build the target named ``PACKAGE``
+ * With makefiles, run ` make package``.
+
+The output of the packaging process will be one or more binary
+packages of the form Boost-*version*\ -*platform*\ \.*extension*\ . The
+type of package will differ from one platform to another:
+
+* On Windows: The primary output is an executable (``.exe``) that
+ provides a graphical installer.
+
+* On Mac OS X: The primary output is a disk image (``.dmg``) that
+ contains a graphical installer package.
+
+* On Unix: Packaging produces compressed tarballs (``.tar.gz``) and
+ a self-installing shell script (``.sh``)
+
+
+Windows installer:
+
+.. image:: WindowsInstaller.png
+
+
+Mac installer:
+
+.. image:: MacInstaller.png
+
diff --git a/tools/build/CMake/docs/build/html/_sources/build_variants.txt b/tools/build/CMake/docs/build/html/_sources/build_variants.txt
new file mode 100644
index 0000000..0ed4eca
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/build_variants.txt
@@ -0,0 +1,283 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: variants
+.. index:: features
+
+.. _VARIANTS:
+.. _features:
+
+Build Variants and Features
+===========================
+
+Different compilation and linking flags affect how source code and
+libraries are compiled. Boost's build system abstracts some of these
+properties into specific *features* of the build, which indicate (at
+a high level) what options are being used, e.g., multi-threaded,
+release-mode, shared libraries, etc. Each feature brings with it
+certain compilation options (which vary from one compiler to the next)
+that need to be used when building that variant. For example, on Unix
+systems, one often must link against the `pthread` library for
+multi-threaded programs and libraries, which requires the addition of
+the `-lpthread` flag to the link line. The ''features'' feature of the
+build system encapsulates this knowledge.
+
+A library built with a given set of **features** is called a library
+**variant**. For example, we could have a multi-threaded release variant
+of a shared library, which would be built with all of the options
+needed to support multi-threading, optimization, elimination of
+debugging symbols, and for building a shared library. Each variant of
+a library is given a unique name based on the features in that
+variant, so that one can readily identify the library, for example,
+`libboost_signals-gcc40-mt-d.so` is the multi-threaded, debug version
+of the shared library for Boost.Signals on a typical Linux system. The
+`Boost Getting Started guide
+<http://www.boost.org/more/getting_started/windows.html#library-naming>`_
+describes the library naming conventions used for the variants.
+
+The configuration and build of the library for each *feature* is
+(dis|en)abled with a boolean option ``ENABLE_``\ *feature*, which set
+in :ref:`cmakecache.txt`. The available features are:
+
+.. _name_mangling:
+
+Name Mangling
+-------------
+
+Libraries have their features mangled in to distinguish the variants
+from one another. CMake's symbolic target names correspond:
+
+============== =========== ======================
+Feature Target Name Library Name Component
+============== =========== ======================
+shared -shared (none)
+static -static (none)
+multithreaded -mt -mt
+release (none) (none)
+debug -debug -d
+pydebug -pydebug -yd
+============== =========== ======================
+
+The make target ``help`` will show the available options::
+
+ ``make help`` shows a list::
+
+ % make help | grep signals
+ ... boost_signals
+ ... boost_signals-mt-shared
+ ... boost_signals-mt-shared-debug
+ ... boost_signals-mt-static
+ ... boost_signals-mt-static-debug
+ ... boost_signals-shared
+ ... boost_signals-shared-debug
+ ... boost_signals-static
+ ... boost_signals-static-debug
+
+And you can see the correspondence to the libraries on disk::
+
+ % ls lib/libboost_signals*
+ lib/libboost_signals-d.a lib/libboost_signals-mt.a
+ lib/libboost_signals-d.so lib/libboost_signals-mt.so
+ lib/libboost_signals-mt-d.a lib/libboost_signals.a
+ lib/libboost_signals-mt-d.so lib/libboost_signals.so
+
+(Note: on most unix you will see more than this, as some of them
+contain version numbers and are symbolic links to one another).
+
+Configuring features
+--------------------
+
+You can globally (en|dis)able the build of these various features
+through the following cmake variables:
+
+.. index::
+ single: ENABLE_STATIC
+ pair: STATIC; feature
+
+.. _enable_static:
+
+ENABLE_STATIC
+^^^^^^^^^^^^^
+
+ The `STATIC` feature identifies static builds of libraries, i.e., a
+ `.lib` (library) file on Microsoft Windows or a `.a` (archive) file
+ on Unix systems.
+
+.. index::
+ single: ENABLE_SHARED
+ pair: SHARED; feature
+
+ENABLE_SHARED
+^^^^^^^^^^^^^
+
+ The `SHARED` feature identifies shared builds of libraries, i.e.,
+ a `.dll` (dynamically linked library) file on Microsoft Windows or
+ a `.so`(shared object) or `.dylib` (dynamic library) file on Unix
+ systems. In some cases, `SHARED` variants actually refer to
+ "modules", which are a special kind of shared library on some
+ systems (e.g., Mac OS X).
+
+.. index::
+ single: ENABLE_DEBUG
+ pair: DEBUG; feature
+
+ENABLE_DEBUG
+^^^^^^^^^^^^
+
+ The `DEBUG` feature identifies builds of libraries that retain
+ complete debugging information and prohibit optimization, making
+ these builds far easier to use for debugging programs.
+
+.. index::
+ single: ENABLE_RELEASE
+ pair: RELEASE; feature
+
+ENABLE_RELEASE
+^^^^^^^^^^^^^^
+
+ The `RELEASE` feature identifies builds of libraries that use full
+ optimization and eliminate extraneous information such as debug
+ symbols, resulting in builds of libraries that are typically much
+ smaller than (and execute faster than) their debug library
+ counterparts.
+
+
+.. index::
+ single: ENABLE_SINGLE_THREADED
+ pair: SINGLE_THREADED; feature
+
+ENABLE_SINGLE_THREADED
+^^^^^^^^^^^^^^^^^^^^^^
+
+ The `SINGLE_THREADED` feature identifies builds of libraries that
+ assume that the program using them is single-threaded. These
+ libraries typically avoid costly atomic operations or locks, and
+ make use of no multi-threaded features.
+
+
+.. index::
+ single: ENABLE_MULTI_THREADED
+ pair: MULTI_THREADED; feature
+
+ENABLE_MULTI_THREADED
+^^^^^^^^^^^^^^^^^^^^^
+
+ The `MULTI_THREADED` feature identifies builds of libraries that
+ assume that the program using them is multi-threaded. These
+ libraries may introduce additional code (relative to their
+ single-threaded variants) that improves the behavior of the
+ library in a multi-threade context, often at the cost of
+ single-thread performance.
+
+
+.. index::
+ single: ENABLE_STATIC_RUNTIME
+ pair: STATIC_RUNTIME; feature
+
+ENABLE_STATIC_RUNTIME
+^^^^^^^^^^^^^^^^^^^^^
+
+ The `STATIC_RUNTIME` feature identifies builds that link against
+ the C and C++ run-time libraries statically, which directly
+ includes the code from those run-time libraries into the Boost
+ library or executable.
+
+
+.. index::
+ single: ENABLE_DYNAMIC_RUNTIME
+ pair: DYNAMIC_RUNTIME; feature
+
+ENABLE_DYNAMIC_RUNTIME
+^^^^^^^^^^^^^^^^^^^^^^
+
+ The `DYNAMIC_RUNTIME` feature identifies builds that link against
+ the dynamic C and C++ run-time libraries.
+
+.. _per_feature_flags:
+
+Per-feature Compilation and Linker Options
+------------------------------------------
+
+For each feature above, the Boost build system defines three variables
+used to provide compilation flags, linking flags, and extra libraries
+to link against when using that feature. These flags are automatically
+added to the build commands for variants using that feature. The
+particular flags and libraries are described by the following global
+variables:
+
+feature_COMPILE_FLAGS
+^^^^^^^^^^^^^^^^^^^^^
+
+ A string containing extra flags that will be added to the compile
+ line, including macro definitions and compiler-specific flags
+ needed to enable this particular feature.
+
+feature_LINK_FLAGS
+^^^^^^^^^^^^^^^^^^
+
+ A string containing extra flags that will be added to the
+ beginning of the link line. Note that these flags should '''not'''
+ contain extra libraries that one needs to link against. Those
+ should go into `feature_LINK_LIBS`.
+
+feature_LINK_LIBS
+^^^^^^^^^^^^^^^^^
+
+ A CMake list containing the names of additional libraries that
+ will be linked into libraries and executables that require this
+ feature. The elements in this list should name the library (e.g.,
+ `pthread`) rather than providing the link command itself (e.g.,
+ `-lpthread`), so that linking will be more portable.
+
+Each of these variables can be expanded for any feature, e.g.,
+`MULTI_THREADED_LINK_LIBS` contains libraries that multi-threaded
+variants should link against.
+
+All of the flags provided for each feature are typically detected by
+the Boost CMake configuration module in
+``tools/build/CMake/BoostConfig.cmake``.
+
+.. note:: These are **global** per-feature flags, ie
+ RELEASE_COMPILE_FLAGS defines flags used for the compilation
+ of all ``.cpp`` files that go into release libraries. See
+ :ref:`boost_add_library_macro` for per-feature flags that apply only to
+ individual libraries.
+
+Default Variants
+----------------
+
+By default, Boost's build system will build every permutation of
+libraries in the feature space
+
+ (`STATIC` or `SHARED`) x (`DEBUG` or `RELEASE`) x
+ (`SINGLE_THREADED` or `MULTI_THREADED`)
+
+resulting in 8 different copies of each library, modulo certain cases
+where variants are disabled [#disabled_variants]_. On Windows, where
+the distinction between static and dynamic run-time libraries is very
+important, the default build also creates permutations with
+(`STATIC_RUNTIME` or `DYNAMIC_RUNTIME`). Certain non-sensical
+combinations of libraries will automatically be eliminated, e.g., it
+does not generally make sense to create a shared library that links
+against the static C and C++ run-time libraries. However, this still
+means that the default build creates between 8 and 12 different
+variants of each Boost library.
+
+Users who only need a few variants of each library can change which
+variants of Boost libraries are build by default using various
+configuration options. For each feature, CMake's configuration will
+contain an option `ENABLE_feature`. When the feature is ON, the build
+system will produce variants with that feature. When the feature is
+OFF, the build system will suppress variants with that feature. For
+example, toggling `ENABLE_DEBUG` to `OFF` will inhibit the creation of
+the debug variants, drastically improving overall build times.
+
+.. rubric:: Footnotes
+
+.. [#disabled_variants] For instance, the **SINGLE_THREADED** variant
+ of the *boost_thread* project is disabled.
diff --git a/tools/build/CMake/docs/build/html/_sources/diff.txt b/tools/build/CMake/docs/build/html/_sources/diff.txt
new file mode 100644
index 0000000..9b3fd8b
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/diff.txt
@@ -0,0 +1,17 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Differences between this release and upstream
+=============================================
+
+The only differences below should be in the build system... but there
+should be a *lot* of them. :)
+
+
+.. literalinclude:: git_diff.txt
+
diff --git a/tools/build/CMake/docs/build/html/_sources/exported_targets.txt b/tools/build/CMake/docs/build/html/_sources/exported_targets.txt
new file mode 100644
index 0000000..d3fdfda
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/exported_targets.txt
@@ -0,0 +1,257 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _find_package: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package
+.. _FindBoost.cmake: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:FindBoost
+
+.. _CMAKE_PREFIX_PATH: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_PREFIX_PATH
+
+.. _CMAKE_INSTALL_PREFIX: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_PREFIX
+
+.. index:: targets, exported
+.. index:: uninstalled tree, building against
+.. _exported_targets:
+
+
+Tricks for Building against Boost with CMake
+============================================
+
+Boost.CMake *exports* its targets, making developing independent
+projects against an installed boost, or simply against a build tree
+sitting on disk. There are a variety of ways to use these to ease
+configuration of boost in your external project.
+
+.. index:: Building against uninstalled boost
+.. _uninstalled:
+
+With an uninstalled build
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You only need to do three things:
+
+1. Add the appropriate include directory with
+ ``include_directories()``. This is the toplevel of the boost
+ source tree.
+
+2. ``include`` the generated ``Exports.cmake`` from the build tree
+ containing the exported targets. I is located in
+ ``${``:ref:`CMAKE_BINARY_DIR`\ ``}/lib/Exports.cmake``
+
+3. Tell cmake about your link dependencies with
+ ``target_link_libraries``. Note that you use the **names of the
+ cmake targets**, not the shorter names that the libraries have on
+ disk. ``make help`` shows a list::
+
+ % make help | grep signals
+ ... boost_signals
+ ... boost_signals-mt-shared
+ ... boost_signals-mt-shared-debug
+ ... boost_signals-mt-static
+ ... boost_signals-mt-static-debug
+
+ See also :ref:`name_mangling` for details on the naming
+ conventions.
+
+Since these are exported targets, CMake will add appropriate *rpaths*
+as necessary; fiddling with ``LD_LIBRARY_PATH`` should not be
+necessary.
+
+**If you get the target name wrong**, cmake will assume that you are
+talking about a library in the linker's default search path, not an
+imported target name and you will get an error when cmake tries to
+link against the nonexistent target. For instance, if I specify::
+
+ target_link_libraries(main boost_thread-mt-d)
+
+on linux my error will be something like::
+
+ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+ Linking CXX executable main
+ /usr/bin/ld: cannot find -lboost_thread-mt-d
+ collect2: ld returned 1 exit status
+
+The problem here is that the real name of the multithreaded, shared,
+debug library **target** is ``boost_thread-mt-shared-debug``. I know this is
+confusing; much of this is an attempt to be compatible with
+boost.build.
+
+If you are having trouble, have a look inside that file
+``Exports.cmake``. For each available target, you'll see::
+
+ # Create imported target boost_thread-mt-shared-debug
+ ADD_LIBRARY(boost_thread-mt-shared-debug SHARED IMPORTED)
+
+ # Import target "boost_thread-mt-shared-debug" for configuration "Release"
+ SET_PROPERTY(TARGET boost_thread-mt-shared-debug APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ SET_TARGET_PROPERTIES(boost_thread-mt-shared-debug PROPERTIES
+ IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE "pthread;rt"
+ IMPORTED_LOCATION_RELEASE "/home/troy/Projects/boost/cmake/cmaketest/build/boost/lib/libboost_thread-mt-d.so.1.41.0"
+ IMPORTED_SONAME_RELEASE "libboost_thread-mt-d.so.1.41.0"
+ )
+
+it is the name in the ``ADD_LIBRARY`` line that you pass to
+``target_link_libraries()``.
+
+
+
+Example
+-------
+
+There is an unpacked boost in ``/home/troy/boost-1.41.0/src`` and
+built boost in directory ``/home/troy/boost/1.41.0/build``. I have a
+program that builds from one file, ``main.cpp`` and uses boost
+threads. My ``CMakeLists.txt`` looks like this::
+
+ include_directories(
+ /home/troy/boost-1.41.0/src
+ /home/troy/boost-1.41.0/build/lib/Exports.cmake
+ )
+
+ add_executable(my_program main.cpp)
+
+ target_link_libraries(my_program boost_thread-mt-shared-debug)
+
+When I build, I see
+(wrapped, and some output replaced with ... for brevity)::
+
+ % make VERBOSE=1
+ ...
+ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+ /usr/bin/c++ -I/home/troy/boost-1.41.0/src -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/myproject/main.cpp
+ ...
+ linking CXX executable main
+ /usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /home/troy/boost-1.41.0/build/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/home/troy/boost-1.41.0/build/lib
+ ...
+ [100%] Built target main
+
+With an installed boost
+^^^^^^^^^^^^^^^^^^^^^^^
+
+The process by which cmake discovers an installed boost is a big
+topic, outside the scope of this document. Boost.CMake makes every
+effort to install things cleanly and behave in a backwards-compatible
+manner.
+
+.. index:: CMAKE_PREFIX_PATH
+.. index:: CMAKE_INSTALL_PREFIX
+.. index:: BOOST_INSTALL_CMAKE_DRIVERS
+
+The variable :ref:`BOOST_INSTALL_CMAKE_DRIVERS` controls whether
+Boost.CMake installs two files which help out in case multiple
+versions of boost are installed. If there is only one version
+present, the situation is simpler: typically this is simply a
+matter of either installing boost to a directory that on cmake's
+built-in CMAKE_PREFIX_PATH_, or adding the directory to
+CMAKE_PREFIX_PATH_ in your environment if it is not. You can see
+built-in search path by running ``cmake --system-information`` and
+looking for ``CMAKE_SYSTEM_PREFIX_PATH``.
+
+Try this first
+--------------
+
+Make a subdirectory for your project and create a file ``main.cpp``::
+
+ #include <iostream>
+ #include <boost/version.hpp>
+ #include <boost/thread/thread.hpp>
+
+ void helloworld()
+ {
+ std::cout << BOOST_VERSION << std::endl;
+ }
+
+ int main()
+ {
+ boost::thread thrd(&helloworld);
+ thrd.join();
+ }
+
+.. index:: NO_MODULE
+
+Create a ``CMakeLists.txt`` in the same directory containing the
+following::
+
+ find_package(Boost 1.41.0 COMPONENTS thread NO_MODULE)
+ ^^^^^^^^^--- NOTE THIS
+ include(${Boost_INCLUDE_DIR})
+ add_executable(main main.cpp)
+ target_link_libraries(main ${Boost_LIBRARIES})
+
+The ``NO_MODULE`` above is currently **required**, pending updates to
+FindBoost.cmake_ in a cmake release.
+
+Then run ``cmake .`` in that directory (note the dot). Then run make.
+If all is well you will see::
+
+ % make VERBOSE=1
+ ...
+ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+ /usr/bin/c++ -I/usr/local/boost-1.41.0/include -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/Projects/boost/cmake/proj/main.cpp
+ ...
+ Linking CXX executable main
+ /usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /usr/local/boost-1.41.0/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/usr/local/boost-1.41.0/lib
+ ...
+ [100%] Built target main
+
+If all is not well, set CMAKE_PREFIX_PATH_ in your environment or in
+your ``CMakeLists.txt``. Add the CMAKE_INSTALL_PREFIX_ that you used
+when you installed boost::
+
+ export CMAKE_PREFIX_PATH=/my/unusual/location
+
+and try again.
+
+Alternative: via Boost_DIR
+--------------------------
+
+If the above didn't work, you can help cmake find your boost
+installation by setting ``Boost_DIR`` (in your ``CMakeLists.txt`` to
+the :ref:`BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR` that was set when you
+compiled. ``Boost_DIR`` will override any other settings.
+
+Given a (versioned) boost installation in ``/net/someplace``,
+Your CMakeLists.txt would look like this::
+
+ include_directories(/net/someplace/include/boost-1.41.0)
+
+ # you can also set Boost_DIR in your environment
+ set(Boost_DIR /net/someplace/share/boost-1.41.0/cmake)
+
+ find_package(Boost NO_MODULE)
+
+ add_executable(main main.cpp)
+
+ target_link_libraries(main boost_thread-mt-shared-debug)
+
+
+Multiple versions of boost installed
+------------------------------------
+
+The only recommended way to do this is the following:
+
+* Install all versions of boost to the same CMAKE_INSTALL_PREFIX_. One
+ or more of them must have been installed with
+ :ref:`BOOST_INSTALL_CMAKE_DRIVERS` on. :ref:`INSTALL_VERSIONED`
+ should be `OFF` for one of them at most.
+
+* Add the setting for CMAKE_INSTALL_PREFIX_ to CMAKE_PREFIX_PATH_, if
+ it is nonstandard.
+
+* Pass ``NO_MODULE`` to find_package_ when you call it (as above).
+
+At this point passing a version argument to find_package_ (see also
+docs for FindBoost.cmake_) should result in correct behavior.
+
+.. rubric:: Footnotes
+
+.. [#libsuffix] If your distribution specifies a :ref:`LIB_SUFFIX`
+ (e.g. if it installs libraries to
+ ``${``:ref:`CMAKE_INSTALL_PREFIX`\ ``/lib64``, you
+ will find `Boost.cmake` there. If the installation is
+ 'versioned', the ``Boost.cmake`` file may be in a
+ versioned subdirectory of lib, e.g. ``lib/boost-1.41.0``.
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt b/tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt
new file mode 100644
index 0000000..db6927a
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt
@@ -0,0 +1,19 @@
+.. index:: bzip2, external dependency
+.. _bzip2:
+
+
+BZip2
+=====
+
+If ``WITH_BZIP2`` is ``ON``, BZip2 is detected via the standard cmake
+``find_package(BZip2)``. The following variables are set:
+
++----------------------+----------------------------------------+
+|``BZIP2_FOUND`` |Bzip2 was found |
++----------------------+----------------------------------------+
+|``BZIP2_INCLUDE_DIR`` |Path to BZip2 includes |
++----------------------+----------------------------------------+
+|``BZIP2_DEFINITIONS`` |Compile line flags for BZip2 |
++----------------------+----------------------------------------+
+|``BZIP2_LIBRARIES`` |Libraries to link to when using BZip2 |
++----------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt b/tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt
new file mode 100644
index 0000000..954d10c
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt
@@ -0,0 +1,10 @@
+.. index:: doxygen, external dependency
+.. _doxygen:
+
+
+Doxygen
+=======
+
+If ``WITH_DOXYGEN`` is ``ON``, doxygen is detected via the standard
+cmake ``find_package(Doxygen)``. See the cmake documentation for more
+information
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/expat.txt b/tools/build/CMake/docs/build/html/_sources/externals/expat.txt
new file mode 100644
index 0000000..55fa297
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/expat.txt
@@ -0,0 +1,10 @@
+.. index:: expat, external dependency
+.. _expat:
+
+
+Expat
+=====
+
+If ``WITH_EXPAT`` is ``ON``, expat is detected via the standard
+cmake ``find_package(Expat)``. See the cmake documentation for more
+information
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/icu.txt b/tools/build/CMake/docs/build/html/_sources/externals/icu.txt
new file mode 100644
index 0000000..4eb7ac5
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/icu.txt
@@ -0,0 +1,22 @@
+.. index:: ICU, external dependency
+.. _icu:
+
+
+ICU (International Components for Unicode)
+==========================================
+
+If ``WITH_ICU`` is ``ON``, ICU is detected via the standard cmake
+``find_package(ICU)``. The following variables are set:
+
++-----------------------+----------------------------------------+
+|``ICU_FOUND`` |ON if icu was found |
++-----------------------+----------------------------------------+
+|``ICU_I18N_FOUND`` |ON if the i18n part (whatever that is) |
+| |of ICU was found. |
++-----------------------+----------------------------------------+
+|``ICU_INCLUDE_DIRS`` |path to ICU headers |
++-----------------------+----------------------------------------+
+|``ICU_LIBRARIES`` |full paths to ICU libraries |
++-----------------------+----------------------------------------+
+|``ICU_I18N_LIBRARIES`` |full paths to the i18n libraries |
++-----------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/index.txt b/tools/build/CMake/docs/build/html/_sources/externals/index.txt
new file mode 100644
index 0000000..0b5dd3c
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/index.txt
@@ -0,0 +1,44 @@
+.. index:: External Dependencies; selectively disabling
+
+.. _external_dependencies:
+
+External Dependencies
+=====================
+
+Each external dependency has an associated option ``WITH_``\
+*dependency* that controls whether detection of the dependency will
+happen at all. These options default to ``ON``.
+
+Each external will set a variable *external*\ ``_FOUND`` if detection
+was successful. If this variable is empty (or ``FALSE``, 0, or
+``NO``) detection will be reattempted each time you configure.
+
+To **disable** the detection of any given external dependency and
+thereby any libraries or features that depend on it, set option
+``WITH_``\ *dependency* to ``NO`` (or ``OFF``, etc.)::
+
+ % cmake ../src -DWITH_PYTHON=OFF
+ -- The C compiler identification is GNU
+ -- The CXX compiler identification is GNU
+ ... more output ...
+ --
+ -- Python:
+ -- Disabled since WITH_PYTHON=OFF
+ --
+ ... more output ...
+ -- + python
+ -- +-- disabled since PYTHON_FOUND is false
+ --
+
+.. toctree::
+ :maxdepth: 3
+
+ bzip2
+ doxygen
+ expat
+ icu
+ mpi
+ python
+ xsltproc
+ valgrind
+ zlib
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/mpi.txt b/tools/build/CMake/docs/build/html/_sources/externals/mpi.txt
new file mode 100644
index 0000000..09c337e
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/mpi.txt
@@ -0,0 +1,10 @@
+.. index:: MPI, external dependency
+.. _MPI:
+
+
+MPI
+===
+
+If ``WITH_MPI`` is ``ON``, MPI is detected via the standard
+cmake ``find_package(MPI)``. See the cmake documentation for more
+information.
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/python.txt b/tools/build/CMake/docs/build/html/_sources/externals/python.txt
new file mode 100644
index 0000000..dcceff0
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/python.txt
@@ -0,0 +1,88 @@
+.. index:: Python
+.. _python_external:
+
+========
+ Python
+========
+
+By default, Boost.CMake will use the python detection built in to
+cmake. The relevant variables (command line or environment) are:
+
+.. index:: PYTHON_EXECUTABLE
+.. _python_executable:
+
+PYTHON_EXECUTABLE
+-----------------
+
+The path to the python executable, e.g. ``/usr/local/Python-3.1.1/bin/python3``
+
+.. index:: PYTHON_DEBUG_LIBRARIES
+.. _python_debug_libraries:
+
+PYTHON_DEBUG_LIBRARIES
+----------------------
+
+The path to the python debug library, typically only used by developers.
+
+.. index:: PYTHON_LIBRARIES
+.. _python_libraries:
+
+PYTHON_LIBRARIES
+----------------
+
+The path to the python library,
+e.g. ``/usr/local/Python-3.1.1/lib/libpython3.1.so``
+
+.. index:: PYTHON_INCLUDE_PATH
+.. index:: Python.h
+.. _python_include_path:
+
+PYTHON_INCLUDE_PATH
+-------------------
+
+The path to the include directory,
+e.g. ``/usr/local/Python-3.1.1/include/python3.1``. Note that cmake
+will check for the file ``Python.h`` in this directory and complain if
+it is not found.
+
+There are two ways to specify these, on the command line or via
+environment variables. Environment variables will override command
+line flags if present.
+
+.. rubric:: Command line
+
+::
+
+ % cmake ../src -DPYTHON_EXECUTABLE=/path/to/bin/python3 \
+ -DPYTHON_LIBRARIES=/path/to/libpython3.1.so \
+ -DPYTHON_INCLUDE_PATH=/path/to/include/python3.1
+
+.. rubric:: Exported environment variables
+
+::
+
+ % export PYTHON_EXECUTABLE=/path/to/bin/python
+ % export PYTHON_LIBRARIES=/path/to/libpython3.1.so
+ % export PYTHON_INCLUDE_PATH=/path/to/include/python3.1
+ % cmake ../src
+
+Either way, in the configuration output, you should see something
+like::
+
+ -- Testing PYTHON_EXECUTABLE from environment
+ -- Ok, using /path/to/bin/python3
+ -- Testing PYTHON_LIBRARIES from environment
+ -- Ok, using /path/to/lib/libpython3.1.so.
+ -- Skipping optional PYTHON_DEBUG_LIBRARIES: not set.
+ -- Testing PYTHON_INCLUDE_PATH from environment
+ -- Ok, using /path/to/include/python3.1
+ -- Python:
+ -- executable: /path/to/bin/python3
+ -- lib: /path/to/lib/libpython3.1.so
+ -- debug lib:
+ -- include path: /path/to/include/python3.1
+
+**NOTE**, once successfully detected, the python configuration will
+not be redetected. To modify, edit the relevant entries in your
+CMakeCache.txt, or delete it entirely to trigger redetection.
+
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt b/tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt
new file mode 100644
index 0000000..e283a30
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt
@@ -0,0 +1,27 @@
+.. index:: Valgrind, external dependency
+.. _Valgrind:
+
+
+Valgrind
+========
+
+Boost.cmake does a standard path search for ``valgrind``. If found,
+it sets the following variables
+
+
++----------------------------------------+----------------------------------------+
+|``VALGRIND_FOUND`` |Was valgrind found |
++----------------------------------------+----------------------------------------+
+|``VALGRIND_FLAGS`` |"--tool=memcheck" |
++----------------------------------------+----------------------------------------+
+|``VALGRIND_EXECUTABLE`` |path to the executable |
++----------------------------------------+----------------------------------------+
+
+.. index:: WITH_VALGRIND
+
+If the setting ``WITH_VALGRIND`` is ``ON``, (see
+:ref:`external_dependencies`) then tests will be run under valgrind.
+Tip: CTest's ``-V`` flag will show you the exact commands run and
+output of each test.
+
+
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt b/tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt
new file mode 100644
index 0000000..9fbc951
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt
@@ -0,0 +1,18 @@
+.. index:: Xsltproc, external dependency
+.. _Xsltproc:
+
+
+Xsltproc
+========
+
+Boost.cmake does a standard path search for ``xsltproc``. If found,
+it sets the following variables
+
+
++----------------------------------------+----------------------------------------+
+|``XSLTPROC_FOUND`` |Was xsltproc found |
++----------------------------------------+----------------------------------------+
+|``XSLTPROC_FLAGS`` |"--xinclude" |
++----------------------------------------+----------------------------------------+
+|``XSLTPROC_EXECUTABLE`` |path to the executable |
++----------------------------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/build/html/_sources/externals/zlib.txt b/tools/build/CMake/docs/build/html/_sources/externals/zlib.txt
new file mode 100644
index 0000000..3c4e86c
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/externals/zlib.txt
@@ -0,0 +1,17 @@
+.. index:: zlib, external dependency
+.. _zlib:
+
+
+Zlib
+=====
+
+If ``WITH_ZLIB`` is ``ON``, Zlib is detected via the standard cmake
+``find_package(Zlib)``. The following variables are set:
+
++----------------------+----------------------------------------+
+|``ZLIB_FOUND`` |Zlib was found |
++----------------------+----------------------------------------+
+|``ZLIB_INCLUDE_DIR`` |Path to Zlib includes |
++----------------------+----------------------------------------+
+|``ZLIB_LIBRARIES`` |Libraries to link to when using Zlib |
++----------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/build/html/_sources/faq.txt b/tools/build/CMake/docs/build/html/_sources/faq.txt
new file mode 100644
index 0000000..614bd19
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/faq.txt
@@ -0,0 +1,42 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _faq:
+
+FAQ
+===
+
+A collection of asked questions.
+
+
+How do I set ``/D _SECURE_SCL=0`` on the commandline for release builds?
+------------------------------------------------------------------------
+
+* Run the cmake gui, pick the source and build directories, click
+ *Configure*
+
+* Find the entry called ``RELEASE_COMPILE_FLAGS`` and modify to taste.
+ (See also :ref:`per_feature_flags`)
+
+* Click *Configure* again, settings will be regenerated with your
+ flags intact.
+
+* Click *Generate*
+
+* Run Visual Studio, navigate to the build directory, open
+ ``Boost.sln``, build, profit.
+
+Note: I couldn't find the magic checkbox to tell visual studio show me
+what commands it executes while building. I switched the cmake gui to
+'advanced mode' and change CMAKE_VERBOSE_MAKEFILES to TRUE. Is there a
+more 'visualstudioesque' way to do this?
+
+-t
+
+
+
diff --git a/tools/build/CMake/docs/build/html/_sources/find_package_boost.txt b/tools/build/CMake/docs/build/html/_sources/find_package_boost.txt
new file mode 100644
index 0000000..c53289c
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/find_package_boost.txt
@@ -0,0 +1,60 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: find_package(Boost)
+.. index:: FindBoost.cmake
+
+.. _find_package_boost:
+
+find_package(Boost)
+===================
+
+See :ref:`install_customization` for more information about variables
+used in this section.
+
+If you plan on using the ``FindBoost.cmake`` packaged with cmake
+versions 2.8.0 and earlier, (that is, third party packages that build
+with cmake need to find this boost installation via the cmake command
+``find_package(Boost...``), you will need to layout your boost
+installation in a way that is consistent with the way boost was
+installed by bjam during the many Dark Years. Michael Jackson of
+bluequartz.net reports success with the configuration below. He
+refers to boost.cmake variables :ref:`install_versioned`,
+:ref:`boost_include_install_dir`, and :ref:`boost_lib_install_dir`::
+
+ > Set INSTALL_VERSIONED=OFF
+ > set BOOST_INCLUDE_INSTALL_DIR=include/boost-1_41
+ > set BOOST_LIB_INSTALL_DIR=lib
+ >
+ > and then go. I also set an environment variable BOOST_ROOT to the
+ > CMAKE_INSTALL_PREFIX.
+ >
+ > In my CMake file I have the following;
+ >
+ > # ---------- Find Boost Headers/Libraries -----------------------
+ > SET (Boost_FIND_REQUIRED TRUE)
+ > SET (Boost_FIND_QUIETLY TRUE)
+ > set (Boost_USE_MULTITHREADED TRUE)
+ > set (Boost_USE_STATIC_LIBS TRUE)
+ > SET (Boost_ADDITIONAL_VERSIONS "1.41" "1.41.0")
+ >
+ > if ( NOT MXA_BOOST_HEADERS_ONLY)
+ > set (MXA_BOOST_COMPONENTS program_options unit_test_framework
+ > test_exec_monitor)
+ > endif()
+ > FIND_PACKAGE(Boost COMPONENTS ${MXA_BOOST_COMPONENTS} )
+ > INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
+ > LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
+ >
+ > This successfully works with the FindBoost.cmake that is included with CMake 2.6.4
+ >
+
+Currently in development there are other, perhaps easier, ways to
+detect your boost installations if you aren't dependent on this older
+FindBoost; see :ref:`exported_targets`.
+
diff --git a/tools/build/CMake/docs/build/html/_sources/git.txt b/tools/build/CMake/docs/build/html/_sources/git.txt
new file mode 100644
index 0000000..6658d28
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/git.txt
@@ -0,0 +1,190 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. highlight:: git_shell
+
+.. _hacking_cmake_with_git:
+
+Hacking Boost.CMake with Git
+============================
+
+Boost-cmake, in addition to using an alternative build system, uses
+alternate version control. This makes boost.cmake feasable: without
+distributed version control it would be very difficult to maintain a
+build system against upstream boost.
+
+This document will review some common version-control procedures for
+those who are unfamiliar with git. More documentation is available at
+`Hacking Boost via Git
+<http://gitorious.org/boost/git-docs/blobs/raw/master/build/html/index.html>`_.
+
+
+The first step is to get `Git <http://git-scm.com>`_. Any recent
+version will do. On windows, git downloads come with a bash shell, so
+the commandline interface is essentially identical. There is also
+`TortoiseGit <http://code.google.com/p/tortoisegit/>`_, which is
+evolving quickly and quite usable.
+
+I just want to try the HEAD of the <whatever> branch
+----------------------------------------------------
+
+Pick some directory to work in. Here I'll use ``/tmp``. My prompt is
+a percent sign. Clone the repository to a subdirectory called
+``src``. This will take a while the first time, after that things
+will be very fast.
+
+::
+
+ % git clone git://gitorious.org/boost/cmake.git src
+ Initialized empty Git repository in /tmp/src/.git/
+ remote: Counting objects: 425396, done.
+ remote: Compressing objects: 100% (129689/129689), done.
+ remote: Total 425396 (delta 298454), reused 419119 (delta 292368)
+ Receiving objects: 100% (425396/425396), 135.56 MiB | 1260 KiB/s, done.
+ Resolving deltas: 100% (298454/298454), done.
+ Checking out files: 100% (23865/23865), done.
+
+inside this directory you'll see the branch that is checked out::
+
+ % cd src
+ % git branch -l
+ * 1.41.0
+
+This means I'm on the ``1.41.0`` branch, and the files are checked
+out::
+
+ % ls
+ CMakeLists.txt boost/ bootstrap.sh* libs/ tools/
+ CTestConfig.cmake boost-build.jam build/ more/ wiki/
+ INSTALL boost.css doc/ people/
+ Jamroot boost.png index.htm rst.css
+ LICENSE_1_0.txt bootstrap.bat index.html status/
+
+Now you can go ahead and do your out-of-source build.
+
+I want to svn update
+--------------------
+
+When new changes arrive upstream, you'll want to ``git pull``::
+
+ % git pull
+ remote: Counting objects: 310, done.
+ remote: Compressing objects: 100% (45/45), done.
+ remote: Total 205 (delta 154), reused 203 (delta 152)
+ Receiving objects: 100% (205/205), 49.59 KiB, done.
+ Resolving deltas: 100% (154/154), completed with 81 local objects.
+ From git://gitorious.org/boost/cmake
+ 1818334..b945719 1.41.0 -> origin/1.41.0
+ Updating 1818334..b945719
+ Fast forward
+ CMakeLists.txt | 6 +-
+ CTestConfig.cmake | 5 +-
+ ...
+ 83 files changed, 1071 insertions(+), 537 deletions(-)
+
+.. _makeremote:
+
+But I want a different branch than that
+---------------------------------------
+
+``git branch -r`` will show your 'remote' branches::
+
+ % git branch -r
+ origin/1.40.0
+ origin/1.41.0
+ origin/HEAD -> origin/1.41.0
+ origin/master
+
+This shows that in *origin* (the repository you cloned from), there
+are *1.40.0*, *1.41.0*, and *master* branches. To switch to e.g. the
+*1.40.0* branch, you make a local branch that 'tracks' the upstream
+branch::
+
+ % git checkout -b 1.40.0 origin/1.40.0
+ Branch 1.40.0 set up to track remote branch 1.40.0 from origin.
+ Switched to a new branch '1.40.0'
+
+Now you will see this new local branch in your branch list::
+
+ % git branch -l
+ * 1.40.0 # the star means this one is checked out
+ 1.41.0
+
+And your status will show it as well::
+
+ % git status
+ # On branch 1.40.0
+ nothing to commit (working directory clean)
+
+now, any *git pull*\ -ing you do will come from the upstream *1.40.0*
+branch in to your local 1.40.0 branch.
+
+I have changes, how do I make a patch?
+--------------------------------------
+
+Just change the files and ``git diff``::
+
+ % git diff
+ diff --git a/CMakeLists.txt b/CMakeLists.txt
+ index d2bc809..d5e055e 100644
+ --- a/CMakeLists.txt
+ +++ b/CMakeLists.txt
+ @@ -27,6 +27,10 @@
+ cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
+ project(Boost)
+
+ +#
+ +# These are my changes
+ +#
+ +
+ ##########################################################################
+ # Version information #
+ ##########################################################################
+ @@ -323,6 +327,7 @@ endif()
+
+ mark_as_advanced(BOOST_EXPORTS_FILE BOOST_INSTALL_EXPORTS_FILE)
+
+ +# and some here too
+ # Add build rules for documentation
+ add_subdirectory(doc)
+
+and mail it in.
+
+Oops, I screwed up and want to revert
+-------------------------------------
+
+Use ``git reset``::
+
+ % git reset --hard HEAD
+ HEAD is now at e26008e Don't build tools by default. All they do is break.
+
+I want to switch branches
+-------------------------
+
+If you've already created a local branch, i.e. it appears in the
+output of ``git branch -l``::
+
+ % git branch -l
+ * 1.40.0
+ 1.41.0
+
+Then just check it out::
+
+ % git checkout 1.41.0
+ Switched to branch '1.41.0'
+
+ % git branch -l
+ 1.40.0
+ * 1.41.0
+
+ % git status
+ # On branch 1.41.0
+ nothing to commit (working directory clean)
+
+If not (i.e. it only appears in the output of ``git branch -r``),
+see :ref:`makeremote`.
diff --git a/tools/build/CMake/docs/build/html/_sources/index.txt b/tools/build/CMake/docs/build/html/_sources/index.txt
new file mode 100644
index 0000000..489a329
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/index.txt
@@ -0,0 +1,141 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Boost-CMake |release|
+=====================
+
+Boost.\ `CMake <http://www.cmake.org>`_ (or :ref:`alt.boost
+<alt_boost>`) is the boost distribution that all the cool kids are
+using. The effort started in earnest at `BoostCon '07
+<http://www.boostcon.com>`_; by the end of which it was possible to do
+a basic build of boost with cmake. In 2009, the project moved out to
+git version control. Today, ``Boost.CMake`` is stable, mature, and
+supported by the developers, a large base of expert users, and
+occasionally by the authors of CMake itself.
+
+.. index:: Mailing List, IRC
+
+**boost-cmake mailing list**
+
+ http://lists.boost.org/mailman/listinfo.cgi/boost-cmake
+
+**IRC**
+
+ ``#boost-cmake`` on the `freenode network <http://freenode.net>`_
+
+**CMake home page**
+
+ http://www.cmake.org
+
+**Source code**
+
+ Boost.CMake is distributed *separately* from upstream boost. Code
+ is in a `git <http://git-scm.com>`_ repository at
+ http://gitorious.org/boost/cmake.git. These documents correspond to
+ tag |release|. See also :ref:`hacking_cmake_with_git`.
+
+**Tarballs**
+
+ Tarballs and zipfiles are available at
+ http://sodium.resophonic.com/boost-cmake/ in subdirectory |release|.
+
+Users's guide
+=============
+
+.. toctree::
+ :maxdepth: 3
+
+ quickstart
+ build_configuration
+ build_variants
+ exported_targets
+ install_customization
+ find_package_boost
+ faq
+ externals/index
+ git
+ diff
+
+Developer's guide
+=================
+
+.. toctree::
+ :maxdepth: 3
+
+ individual_libraries
+ add_boost_library
+ add_compiled_library
+ testing
+ adding_regression_tests
+ build_installer
+ notes_by_version
+
+Reference
+=========
+
+.. toctree::
+ :maxdepth: 1
+
+ reference/boost_library_project
+ reference/boost_module
+ reference/boost_add_library
+ reference/boost_add_executable
+ reference/boost_python_module
+ reference/boost_additional_test_dependencies
+ reference/boost_test_compile
+ reference/boost_test_compile_fail
+ reference/boost_test_run
+ reference/boost_test_run_fail
+
+About this documentation
+========================
+
+This documentation was created with `Sphinx
+<http://sphinx.pocoo.org>`_.
+
+The source is in the restructuredtext files in subdirectory
+``tools/build/CMake/docs/source/``. Hack on them (see the
+`documentation for Sphinx <http://sphinx.pocoo.org/contents.html>`_).
+When you're ready to see the html::
+
+ make html
+
+Once you've written a ton of docs, push them someplace where I can see
+them (or use ``git diff`` to send a patch).
+
+Release checklist
+-----------------
+
+* Update ``BOOST_CMAKE_VERSION`` in toplevel ``CMakeLists.txt``
+* Update notes by version in ``tools/build/CMake/docs/notes_by_version.rst``
+* Reconfig cmake with ``BOOST_MAINTAINER`` set to ON
+* set UPSTREAM_TAG in root ``CMakeLists.txt``
+* make make-diff
+* Rebuild docs and commit
+* Tag commit with ``BOOST_CMAKE_VERSION``
+* ``make do-release``
+* push tag
+* update wiki
+
+.. index:: alt.boost
+ single: Anarchists; Lunatics, Terrorists and
+ single: Lunatics; Anarchists Terrorists and
+ single: Terrorists; Anarchists Lunatics and
+
+.. _alt_boost:
+
+Why "alt.boost"?
+----------------
+
+The 'alt' is a reference to the ``alt.*`` Usenet hierarchy. Here, as
+in Usenet, *alt* stands for `Anarchists, Lunatics and Terrorists
+<http://nylon.net/alt/index.htm>`_. This independent effort explores
+and applies alternate techniques/technologies in the areas of build,
+version control, testing, packaging, documentation and release
+management.
+
diff --git a/tools/build/CMake/docs/build/html/_sources/individual_libraries.txt b/tools/build/CMake/docs/build/html/_sources/individual_libraries.txt
new file mode 100644
index 0000000..54f0feb
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/individual_libraries.txt
@@ -0,0 +1,160 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Building individual libraries with cmake
+========================================
+
+In a configured cmake workspace, ``make help`` will display a list of available targets. Example::
+
+ % make help
+ The following are some of the valid targets for this Makefile:
+ ... all (the default if no target is provided)
+ ... clean
+ ... depend
+ ... edit_cache
+ ... install
+ ... install/local
+ ... install/strip
+ ... list_install_components
+ ... package
+ ... package_source
+ ... rebuild_cache
+ ... boost_date_time
+ ... boost_date_time-mt-shared
+ ... boost_date_time-mt-shared-debug
+ ... boost_date_time-mt-static
+ ... boost_date_time-mt-static-debug
+ ... boost_date_time-shared
+ ... boost_date_time-shared-debug
+ ... boost_date_time-static
+ ... boost_date_time-static-debug
+ ... boost_filesystem
+ ... boost_filesystem-mt-shared
+ ... boost_filesystem-mt-shared-debug
+ ... boost_filesystem-mt-static
+ ... boost_filesystem-mt-static-debug
+ ... boost_filesystem-shared
+ ... boost_filesystem-shared-debug
+ ... boost_filesystem-static
+ ... boost_filesystem-static-debug
+ [etc]
+
+
+You can build any target by passing it as an argument::
+
+
+ % make boost_signals-static
+ [ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/trackable.cpp.o
+ [ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/connection.cpp.o
+ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/named_slot_map.cpp.o
+ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/signal_base.cpp.o
+ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/slot.cpp.o
+ Linking CXX static library ../../../lib/libboost_signals-gcc41-1_35.a
+ [100%] Built target boost_signals-static
+
+Preprocessing
+-------------
+
+In build directories corresponding to a source library containing a
+``CMakeLists.txt`` containing a :ref:`boost_add_library_macro` invocation
+(e.g. ``build/libs/signals/src, build/libs/filesystem/src``), more
+detailed targets are available::
+
+ % cd libs/signals/src
+ % make help
+ The following are some of the valid targets for this Makefile:
+ [many omitted]
+ ... signal_base.o
+ ... signal_base.i
+ ... signal_base.s
+ ... slot.o
+ ... slot.i
+ ... slot.s
+
+
+making ``slot.i`` will run ``slot.cpp`` through the preprocessor::
+
+ % make slot.i
+ Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i
+
+If you are always interested in seeing the compiler flags you can
+enable ``CMAKE_VERBOSE_MAKEFILES`` via ``ccmake``, or for a one-off
+just pass ``VERBOSE=1`` on the command line::
+
+ % make VERBOSE=1 slot.i
+ make[1]: Entering directory `/home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build'
+ Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i
+ cd /home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build/libs/signals/src && /usr/bin/gcc-4.1
+ -DBOOST_ALL_NO_LIB=1 -DBOOST_SIGNALS_NO_LIB=1 -Dboost_signals_mt_shared_EXPORTS -fPIC
+ -I/home/troy/Projects/boost/branches/CMake/Boost_1_35_0 -O3 -DNDEBUG -DBOOST_SIGNALS_DYN_LINK=1
+ -pthread -D_REENTRANT -E /home/troy/Projects/boost/branches/CMake/Boost_1_35_0/libs/signals/src/slot.cpp > CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i
+
+Tests and examples
+------------------
+
+Tests and examples are typically grouped into subdirectories, e.g.::
+
+ libs/
+ iostreams/
+ test/
+ examples/
+
+CMake builds a parallel directory hierarchy in the build directory. If
+you are working on, say, the examples for iostreams, you can just
+``cd`` into the directory $BUILDDIR/libs/iostreams/examples and type
+``make``::
+
+ % cd libs/iostreams/example
+ % make
+ [ 0%] Built target boost_iostreams-mt-static
+ Scanning dependencies of target iostreams-examples-boost_back_inserter_example
+ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-boost_back_inserter_example.dir/boost_back_inserter_example.cpp.o
+ Linking CXX executable ../../../bin/iostreams-examples-boost_back_inserter_example
+ [ 0%] Built target iostreams-examples-boost_back_inserter_example
+ Scanning dependencies of target iostreams-examples-container_device_example
+ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_device_example.dir/container_device_example.cpp.o
+ Linking CXX executable ../../../bin/iostreams-examples-container_device_example
+ [ 0%] Built target iostreams-examples-container_device_example
+ Scanning dependencies of target iostreams-examples-container_sink_example
+ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_sink_example.dir/container_sink_example.cpp.o
+
+Building individual targets, ignoring prerequisites
+---------------------------------------------------
+
+If you find yourself working on a compiler error in a file that takes
+a long time to compile, waiting for make to check all of the
+prerequisites might become tedious. You can have make skip the
+prerequisite testing (you do this at your own risk), by appending
+``/fast`` to the target name. For instance, bcp depends on the
+``system``, ``filesystem`` ``regex`` and ``prg_exec_monitor``
+libraries::
+
+ % cd tools/bcp
+ % make bcp
+ [ 0%] Built target boost_system-mt-static
+ [ 0%] Built target boost_filesystem-mt-static
+ [ 50%] Built target boost_regex-mt-static
+ [ 75%] Built target boost_prg_exec_monitor-mt-static
+ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o
+
+if I make ``bcp/fast``, the dependencies are assumed to be built
+already::
+
+ % make bcp/fast
+ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o
+ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/bcp_imp.cpp.o
+ (etc)
+
+
+
+
+
+
+
+
+
diff --git a/tools/build/CMake/docs/build/html/_sources/install_customization.txt b/tools/build/CMake/docs/build/html/_sources/install_customization.txt
new file mode 100644
index 0000000..514be24
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/install_customization.txt
@@ -0,0 +1,204 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _install_customization:
+
+Customizing the install
+=======================
+
+Here you'll find ways to customize your installation. If you're
+trying to make the install play nice with cmake's ``find_package``,
+see :ref:`find_package_boost`.
+
+.. index:: CMAKE_INSTALL_PREFIX
+ single: installation
+
+.. _cmake_install_prefix:
+
+CMAKE_INSTALL_PREFIX
+--------------------
+
+This is a standard cmake option that sets the path to which boost
+will be installed.
+
+.. index:: DESTDIR
+
+CMake generates makefiles that play nice with ``DESTDIR``. e.g.
+if you configure like this::
+
+ cmake ../src -DCMAKE_INSTALL_PREFIX=/tmp/blah
+
+and install with ``DESTDIR=/foo make install``, you'll get files
+installed to ``/foo/tmp/blah``.
+
+.. index:: LIB_SUFFIX
+.. _lib_suffix:
+
+LIB_SUFFIX
+----------
+
+This defines the subdirectory of ``CMAKE_INSTALL_PREFIX`` to which
+libraries will be installed. It is empty by default. For example,
+if I'm on 64-bit fedora, I want the libs installed to
+``/usr/lib64``, I'd use::
+
+ cmake ../src -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64
+
+.. index:: INSTALL_VERSIONED
+.. _install_versioned:
+
+INSTALL_VERSIONED
+-----------------
+
+**ON** by default on unix, **OFF** on windows.
+
+This is a different mangling than :ref:`WINMANGLE_LIBNAMES`: this
+variable controls whether boost versions will be mangled into the
+paths into which boost is installed. This option **has effect only
+when CMake is run the first time**: they will be set as explained
+below the first time thereafter not modified, so that the paths are
+customizable by users. (ie If you have configured a build and change
+this option, it will have no effect, you must start "from scratch")
+
+.. rubric:: Example
+
+For boost version 1.41.0, with this option ON, the installation tree
+is::
+
+ $CMAKE_INSTALL_PREFIX/
+ include/
+ boost-1.41.0/
+ boost/
+ version.hpp
+ ...
+ lib/
+ boost-1.41.0/
+ libboost_signals-mt-d.so
+ ...
+
+and without it, ::
+
+ $CMAKE_INSTALL_PREFIX/
+ include/
+ boost/
+ version.hpp
+ ...
+ lib/
+ boost/
+ libboost_signals-mt-d.so
+ ...
+
+**Note:** ``lib/`` above will contain :ref:`LIB_SUFFIX` if set.
+
+See also :ref:`BUILD_SOVERSIONED`
+
+The relative lib and include pathnames can be controlled individually
+with the following two variables:
+
+.. index:: BOOST_LIB_INSTALL_DIR
+.. _boost_lib_install_dir:
+
+BOOST_LIB_INSTALL_DIR
+---------------------
+
+The directory to which libs will be installed under
+:ref:`CMAKE_INSTALL_PREFIX`.
+
+.. index:: BOOST_INCLUDE_INSTALL_DIR
+.. _boost_include_install_dir:
+
+BOOST_INCLUDE_INSTALL_DIR
+-------------------------
+
+The directory to which boost header files will be installed under
+:ref:`CMAKE_INSTALL_PREFIX`.
+
+.. index:: BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR
+.. _boost_cmake_infrastructure_install_dir:
+
+BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR
+--------------------------------------
+
+This is a directory to which the targets from this boost install will
+be exported, by default ``${CMAKE_INSTALL_PREFIX}/share/boost-``\
+|version|\ ``/cmake``: this significanly eases detection of boost
+installations by CMake. The name of the files are
+``BoostConfig.cmake`` and ``BoostConfigVersion.cmake`` [#findpackage]_.
+See :ref:`exported_targets` for
+more information about how users employ this file.
+
+If this is a full path, it will be used directly, otherwise it will be
+interpreted relative to ``${CMAKE_INSTALL_PREFIX}``.
+
+.. index:: BOOST_INSTALL_CMAKE_DRIVERS
+.. _boost_install_cmake_drivers:
+
+BOOST_INSTALL_CMAKE_DRIVERS
+---------------------------
+
+Specifies whether generic cmake driver files should be installed,
+see the next option to customize where. This variable is
+``ON`` by default.
+
+BOOST_CMAKE_DRIVERS_INSTALL_DIR
+-------------------------------
+
+There are two optional version-agnostic driver files that can be
+installed to a central location, by default
+``${CMAKE_INSTALL_PREFIX}/share/boost-``\ |version|\ ``/cmake``.
+
+named ``BoostConfig.cmake`` and ``BoostConfigVersion.cmake``. These
+two files coordinate with Boost-|version|.cmake to enable cmake
+developers who use both boost and cmake to find local boost
+installations via the standard cmake incantation::
+
+ find_package(Boost 1.41.0 COMPONENTS thread iostreams)
+
+These driver files should be the same from release to release.
+
+This variable allows modification of this location; If this is a full
+path, it will be used directly, otherwise it will be interpreted
+relative to ``${CMAKE_INSTALL_PREFIX}``.
+
+.. index:: BOOST_EXPORTS_FILE
+.. _BOOST_EXPORTS_FILE:
+
+BOOST_EXPORTS_FILE
+------------------
+
+This is the path *in the build tree* to the file that will contain
+CMake exported targets, by default it is::
+
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake
+
+See :ref:`exported_targets` for information on how to use this handy
+file when building against an **uninstalled** boost. *This variable
+has no effect on installation, and is only useful if building separate
+cmake projects against an uninstalled boost.*
+
+If this is a full path, it will be used directly, otherwise it will be
+interpreted relative to ``${CMAKE_BINARY_DIR}``.
+
+.. index:: BOOST_INSTALL_EXPORTS_FILE
+.. _BOOST_INSTALL_EXPORTS_FILE:
+
+BOOST_EXPORTS_INSTALL_DIR
+-------------------------
+
+This is the path to which exported targest will be installed. By
+default it is ``${BOOST_LIB_INSTALL_DIR}``. This must be a
+**relative** path.
+
+See :ref:`exported_targets` for information on how to use this handy
+file to build against an **installed** boost.
+
+
+
+.. rubric:: Footnotes
+
+.. [#findpackage] See also the cmake docs for ``find_package()``.
diff --git a/tools/build/CMake/docs/build/html/_sources/notes_by_version.txt b/tools/build/CMake/docs/build/html/_sources/notes_by_version.txt
new file mode 100644
index 0000000..19be5e0
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/notes_by_version.txt
@@ -0,0 +1,226 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Notes by Boost Version
+======================
+
+1.41.0.cmake1
+-------------------
+
+Again, innumerable tiny tweaks.
+
+1.41.0.beta1.cmake1
+-------------------
+
+This is the first cmake beta based on upstream ``Boost_1_41_0_beta1``.
+There are *way* too many enhancements to mention.
+
+1.41.0.cmakebeta4
+-----------------
+
+* CMake minimum 2.6.4 required (found bugs with 2.6.2)
+* Move MPI detection up
+* Clean up output
+
+1.41.0.cmakebeta3
+-----------------
+
+* :ref:`variants` names switched to ``ENABLE_<feature>`` to distinguish
+ from ``BUILD_*`` options.
+
+* Many docs improvements
+
+* Special targets for the boost-cmake maintainer
+
+* :ref:`BUILD_PROJECTS` ``(= NONE|ALL|proj1;proj2;...;projN)``
+ variable for building only certain projects.
+
+* :ref:`BUILD_EXAMPLES` ``(= NONE|ALL|proj1;proj2;...;projN)``
+ variable for building examples only of certain projects.
+
+* :ref:`LIB_SUFFIX` for installing libs to nonstandard lib directory
+ name, e.g. for LIB_SUFFIX=64, libs installed to ``$PREFIX/lib64``
+
+* Testing improvements: cmake now runs 2408 tests, 99% of which pass.
+ This isn't the full set, upstream is a moving target. The few
+ remaining failures (assuming upstream is bug-free) are assumed to be
+ problems in the testing setup, not the underlying libraries.
+
+* Python: python location customizable via command line or environment
+ variables, see :ref:`external_dependencies`.
+
+(1.41.0.cmakebeta1 and 2 omitted)
+
+1.41.0 (upstream)
+-----------------
+
+This release (as released by upstream Boost) does **not** contain
+CMake support. See above for independenly released CMake versions.
+
+1.40.0.cmake4
+-------------
+
+Backport features from 1.41.0.cmakebeta3
+
+1.40.0.cmake3
+-------------
+
+Skipped
+
+1.40.0.cmake2
+-------------
+
+* Modularization disabled... this can waste your source directory
+ and was causing confusion.
+* Docs tagged with specific boost-cmake release version.
+
+1.40.0.cmake1
+-------------
+
+From the boost-cmake list::
+
+ > As of now, your Boost 1.40.0 branch builds and installs without error
+ > for me on Windows (Intel 11.1, Visual Studio 2009, Visual Studio 2010
+ > Beta 1), Linux (GCC 4.2, GCC 4.4, Intel 11.1), and Mac OS X 10.6 (GCC
+ > 4.2, Intel 11.1).
+
+This version also includes fixes for cmake version 2.8 (as of this
+writing, in beta).
+
+Special thanks in alphabetical order:
+
+* Claudio Bley
+* Justin Holewinski
+* Philip Lowman
+
+1.40.0.cmake0
+-------------
+
+This version works on windows with MSVC and linux with gcc.
+
+1.40.0
+------
+
+This version is **broken** in the svn distribution. See later
+releases with the ``.cmakeN`` suffix.
+
+1.38.0 and 1.39.0
+-----------------
+
+.. warning:: -DCMAKE_IS_EXPERIMENTAL=ORLY_YARLY
+
+ This guard variable is included in releases of Boost.CMake through
+ version 1.38. You just need to set this variable to some value (be
+ creative) when running cmake for the first time to disable the
+ guard.
+
+Boost.CMake was included as an experimental system for the first time.
+It is perfectly capable of doing the basic build and install of boost.
+You *must* pass the argument ::
+
+ -DCMAKE_IS_EXPERIMENTAL=ORLY
+
+to the initial run of cmake, or you will see an intimidating message
+explaining that Boost.CMake != Boost.Build. It looks like this::
+
+ -- ##########################################################################
+ --
+ -- Only Boost.Build is officially supported.
+ --
+ -- This is not Boost.Build.
+ --
+ -- This is an alternate, cmake-based build system that is currently under development.
+ -- To try it out, invoke CMake with the argument
+ -- -DCMAKE_IS_EXPERIMENTAL=YES_I_KNOW
+ -- Or use the gui to set the variable CMAKE_IS_EXPERIMENTAL to some value.
+ -- This will only be necessary the first time.
+ --
+ -- For more information on boost-cmake see the wiki:
+ -- https://svn.boost.org/trac/boost/wiki/CMake
+ --
+ -- Subscribe to the mailing list:
+ -- http://lists.boost.org/mailman/listinfo.cgi/boost-cmake
+ --
+ -- NOTE: Please ask questions about this build system on the boost-cmake list,
+ -- not on other boost lists.
+ --
+ -- And/or check the archives:
+ -- http://news.gmane.org/gmane.comp.lib.boost.cmake
+ --
+ -- ##########################################################################
+ CMake Error at CMakeLists.txt:61 (message):
+ Magic variable CMAKE_IS_EXPERIMENTAL unset.
+
+
+ -- Configuring incomplete, errors occurred!
+
+Again, f you see this, just set that guard variable to something, to
+demonstrate your tenacity and dedication. Then things will work fine.
+
+.. rubric:: Quick and dirty HOWTO
+
+::
+
+ % mkdir /tmp/boost
+ % cd /tmp/boost
+ % svn co https://svn.boost.org/svn/boost/tags/release/Boost_1_38_0 src
+ % mkdir build
+ % cd build
+ % cmake -DCMAKE_IS_EXPERIMENTAL=ORLY -DCMAKE_INSTALL_PREFIX=/path/to/installdir ../src
+
+At this point, you have two options: you either want to leave boost in
+place and use it there, or you want to install it to a particular
+location.
+
+**In-place**
+
+ If you're competent to specify header/library paths
+ yourself and want to build in place::
+
+ % make
+
+ and your libraries will be in /tmp/boost/build/lib, and the headers in
+ /tmp/boost/src, (where you'd expect them to be).
+
+**Installed to some location**
+
+ This will install boost to ``lib/`` and ``include/`` under the
+ ``CMAKE_INSTALL_PREFIX`` given above::
+
+ % make modularize # shuffles some headers around
+ % make install
+
+.. warning::
+
+ In versions 1.38 and 1.39, if you want to ``make install``, you
+ *must* ``make modularize`` first. This is an intermediate step
+ that we expect to go away in future versions.
+
+Also note that cmake supports ``DESTDIR`` for making .deb and .rpm
+packages; see the standard cmake documentation
+
+Known Issues
+^^^^^^^^^^^^
+
+* There isn't much support for building/running tests within boost in
+ these releases.
+* In version 1.39, the ``BOOST_VERSION_MINOR`` is wrong: it is set to
+ 1.38. You can set this manually by looking for
+ ``BOOST_VERSION_MINOR`` in the toplevel ``CMakeLists.txt``
+* The boost build names the ``boost_prg_exec_monitor`` and
+ ``boost_unit_test_framework`` libraries with an additional trailing
+ ``-s``. You will probably need to modify your build if you use
+ these libraries.
+
+
+1.35.0 - 1.37
+-------------
+
+There was a CMake branch that built these releases, but Boost.CMake
+was not included in the official distribution.
+
diff --git a/tools/build/CMake/docs/build/html/_sources/quickstart.txt b/tools/build/CMake/docs/build/html/_sources/quickstart.txt
new file mode 100644
index 0000000..0a52835
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/quickstart.txt
@@ -0,0 +1,248 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+
+.. _quickstart:
+
+Quickstart
+==========
+
+This page describes how to configure and build Boost with CMake. By
+following these instructions, you should be able to get CMake,
+configure a Boost build tree to your liking with CMake, and then
+build, install, and package Boost libraries.
+
+Download CMake
+--------------
+
+You can get it here: http://www.cmake.org/HTML/Download.html
+
+There are precompiled binaries for CMake on several different
+platforms. The installation of these pre-compiled binaries is mostly
+self-explanatory. If you need to build your own copy of CMake, please
+see the `CMake installation instructions
+<http://www.cmake.org/HTML/Install.html>`_.
+
+.. note::
+
+ In these instructions, we will do things such that the Boost source
+ tree (with CMake build files) is available in the directory
+ ``$BOOST/src`` and that the build will happen in ``$BOOST/build``::
+
+ $BOOST/
+ src/ # (source checked out to here)
+ build/ # (build output here)
+
+ Note that it is *not* actually necessary to set any environment
+ variable ``BOOST``, this is a convention used in this document.
+
+Checkout / download the code
+----------------------------
+
+Tarballs and zipfiles are avaiable at
+http://sodium.resophonic.com/boost-cmake in subdirectory |release|.
+
+Boost.CMake is distributed *separately* from upstream boost. Code is
+in a `git <http://git-scm.com>`_ repository at
+http://gitorious.org/boost/cmake.git. These documents correspond to
+tag |release|. You can clone the repository locally and then check out
+the tag::
+
+ git clone git://gitorious.org/boost/cmake.git src
+ cd src
+ git checkout <TAG>
+
+where ``<TAG>`` is |release|
+
+On Unix
+-------
+
+Create and change to the directory that will hold the binaries that
+CMake build::
+
+ mkdir $BOOST/build
+ cd $BOOST/build
+
+.. _unix_configure:
+
+Configure
+^^^^^^^^^
+
+Run the CMake configuration program, providing it with the Boost
+source directory::
+
+ cmake -DCMAKE_INSTALL_PREFIX=/somewhere $BOOST/src
+
+(:ref:`CMAKE_INSTALL_PREFIX` defaults to ``/usr/local`` on unix and
+``C:\\Program Files\Boost`` on windows). Replace ``/somewhere`` above
+with a path you like if the defaults aren't okay. You'll see output
+from ``cmake``. It looks somewhat like this::
+
+ -- Check for working C compiler: /usr/bin/gcc
+ -- Check for working C compiler: /usr/bin/gcc -- works
+ -- Check size of void*
+ -- Check size of void* - done
+ -- Check for working CXX compiler: /usr/bin/c++
+ -- Check for working CXX compiler: /usr/bin/c++ -- works
+ -- Scanning subdirectories:
+ -- + io
+ -- + any
+ -- + crc
+ -- + mpl
+
+ (etc, etc)
+
+ -- + program_options
+ -- + ptr_container
+ -- + type_traits
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: $BOOST/build
+
+The directory ``$BOOST/build`` should now contain a bunch of generated
+files, including a top level ``Makefile``, something like this::
+
+ % ls
+ CMakeCache.txt CPackConfig.cmake Makefile
+ cmake_install.cmake libs/ CMakeFiles/
+ CPackSourceConfig.cmake bin/ lib/
+
+Build and Install
+^^^^^^^^^^^^^^^^^
+
+Now build and install boost::
+
+ make install
+
+You'll see::
+
+ Scanning dependencies of target boost_date_time-mt-shared
+ [ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_month.cpp.o
+ [ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_weekday.cpp.o
+ [ 1%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/date_generators.cpp.o
+ Linking CXX shared library ../../../lib/libboost_date_time-mt.so
+ [ 1%] Built target boost_date_time-mt-shared
+
+ (etc etc)
+
+ [100%] Built bcp
+
+ (etc etc)
+
+ -- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.a
+ -- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.so
+ -- Removed runtime path from "/tmp/flanboost/lib/libboost_wave-mt-d.so"
+ -- Installing: /tmp/flanboost/bin/bcp
+ -- Installing: /tmp/flanboost/bin/inspect
+
+And you're done. Once the build completes (which make take a while, if
+you are building all of the Boost libraries), the Boost libraries will
+be in a predictable layout under the directory passed to
+:ref:`CMAKE_INSTALL_PREFIX` (default ``/usr/local``)
+
+Windows
+-------
+
+There are two different sets of directions: visual studio, which is
+quite specific, and nmake, which is much like the Unix version, above.
+
+.. index:: Visual Studio
+
+.. _vs_configure:
+
+Configuration for Visual Studio
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run CMake by selecting it from the Start menu.
+
+* Use the *Browse...* button next to *Where is the source code* to
+ point CMake at the Boost source code in ``$BOOST\src``.
+* Use the second *Browse...* button to next to *Where to build the
+ binaries* to select the directory where Boost will build binaries,
+ ``$BOOST\build``.
+* Click *Configure* a first time to configure Boost, which will search
+ for various libraries on your system and prepare the build. CMake
+ will ask you what kind of project files or make files to build. If
+ you're using Microsoft Visual Studio, select the appropriate version
+ to generate project files. Otherwise, you can use Borland's make
+ files. If you're using NMake, see the next section.
+* On an XP box with VS9 one sees roughly this in the output window at
+ the bottom::
+
+ Check for working C compiler: cl
+ Check for working C compiler: cl -- works
+ Detecting C compiler ABI info
+ Detecting C compiler ABI info - done
+ Check for working CXX compiler: cl
+ Check for working CXX compiler: cl -- works
+ Detecting CXX compiler ABI info
+ Detecting CXX compiler ABI info - done
+ Boost version 1.41.0
+ Found PythonInterp: C:/Python26/python.exe
+ Found PythonLibs: C:/Python26/libs/python26.lib
+ Boost compiler: msvc
+ Boost toolset: vc90
+ Boost platform: windows
+ Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
+ Build name: msvc-9.0-windows
+ + preprocessor
+ + concept_check
+ ...
+ + units
+ + wave
+ Configuring done
+
+* The messages about 'missing doxygen' and whatnot are not
+ showstoppers for now, so long as configuration is successful. You
+ will be given the opportunity to tune build options in the CMake GUI
+ (see :ref:`configure_and_build` for more detail). They will
+ initially appear red. Click *Configure* again when you are done
+ editing them. The one thing that you may wish to configure as part
+ of this 'quickstart' is ``CMAKE_INSTALL_PREFIX``.
+* Finally, click *Generate* to generate project files. ``Boost.sln``,
+ the VS solution file, will appear in the *where to build the
+ binaries* directory from the cmake gui.
+
+.. index:: NMake
+.. _NMake:
+
+Configuration for NMake
+^^^^^^^^^^^^^^^^^^^^^^^
+
+* Start a `Visual Studio Command Prompt` from the start menu. This
+ will spawn a command prompt window with certain env variables set.
+ CMake will detect these and automatically choose to generate NMake
+ files.
+
+* cd to $BOOST/build and execute::
+
+ cmake ..\src
+
+ You will see output very similar to that on unix, see
+ :ref:`unix_configure`.
+
+Build -- Visual Studio
+^^^^^^^^^^^^^^^^^^^^^^
+
+ Start up Visual Studio, load the solution or project ``Boost`` from
+ the Boost build directory you set in the CMake configuration
+ earlier. Then, just click *Build* to build all of Boost.
+
+Build -- NMake
+^^^^^^^^^^^^^^
+
+ Execute ``nmake`` from the command prompt in the build directory.
+
+Installation
+^^^^^^^^^^^^
+
+The installation of Boost's headers and compiled libraries uses the
+same tools as building the library. With Microsoft Visual Studio, just
+load the Boost solution or project and build the 'INSTALL' target to
+perform the installation. With NMake, ``nmake install``.
+
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt
new file mode 100644
index 0000000..85c517e
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt
@@ -0,0 +1,140 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_add_executable
+.. _boost_add_executable_macro:
+
+boost_add_executable
+--------------------
+
+Adds an executable to the build
+
+.. cmake:: boost_add_executable(exename source1 source2 ...)
+
+ :param source1 source2...: sourcefiles
+ :param COMPILE_FLAGS flag1 flag2 ...: (optional) compile flags
+ :param LINK_FLAGS flag1 flag2 ...: (optional) link flags
+ :param feature_LINK_LIBS lib1 lib2 ...: (optional) link libraries
+ :param DEPENDS dep1 dep2 ...: (optional) intraboost dependencies
+ :param OUTPUT_NAME name: (optional) output name
+ :param NO_INSTALL: (optional) don't 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:
+.. index:: COMPILE_FLAGS
+
+* **COMPILE_FLAGS** -- Provides additional compilation flags that will be
+ used when building the executable.
+
+.. _feature_COMPILE_FLAGS:
+.. index:: feature_COMPILE_FLAGS
+
+* **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:
+.. index:: LINK_FLAGS
+
+* **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:
+.. index:: feature_LINK_FLAGS
+
+* **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:
+.. index:: LINK_LIBS
+
+* **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:
+.. index:: feature_LINK_LIBS
+
+* **feature_LINK_LIBS** -- Provides additional libraries to link against
+ when linking an executable built with the given feature.
+
+.. _DEPENDS:
+.. index:: DEPENDS
+
+* **DEPENDS** -- States that this executable depends on and links
+ against a 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 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:
+.. index:: feature
+
+* **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:
+.. index:: NO_INSTALL
+
+* **NO_INSTALL** -- Don't install this executable with the rest of
+ Boost.
+
+.. _OUTPUT_NAME:
+.. index:: OUTPUT_NAME
+
+* **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.
+
+.. rubric:: Example
+
+::
+
+ boost_add_executable(wave cpp.cpp
+ DEPENDS boost_wave boost_program_options
+ boost_filesystem
+ boost_serialization
+ )
+
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Core module in
+``tools/build/CMake/BoostCore.cmake``
+
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt
new file mode 100644
index 0000000..eeb668b
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt
@@ -0,0 +1,200 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_add_library
+.. _boost_add_library_macro:
+
+boost_add_library
+-----------------
+
+This macro 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.
+
+.. cmake:: boost_add_library(libname source1 source2 ...)
+
+ :param source1 source2 ...: relative paths to source files
+ :type COMPILE_FLAGS: optional
+ :param COMPILE_FLAGS: flags to pass when compiling all variants
+ :type feature_COMPILE_FLAGS: optional
+ :param feature_COMPILE_FLAGS: compile flags when *feature* is on
+ :type LINK_FLAGS: optional
+ :param LINK_FLAGS: link flags for all variants
+ :type feature_LINK_FLAGS: optional
+ :param feature_LINK_FLAGS: link flags for *feature*
+ :type LINK_LIBS: optional
+ :param LINK_LIBS: lib1 lib2 ...
+ :type feature_LINK_LIBS: optional
+ :param feature_LINK_LIBS: lib1 lib2 ...
+ :type DEPENDS: optional
+ :param DEPENDS: libdepend1 libdepend2 ...
+ :param STATIC_TAG:
+ :type MODULE: boolean
+ :param MODULE:
+ :type NOT_feature: boolean
+ :param NOT_feature:
+ :type EXTRA_VARIANTS: optional
+ :param 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, see :ref:`variants`.
+
+The options that affect this macro's behavior are:
+
+.. index:: COMPILE_FLAGS
+
+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 libraries 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. *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.
+
+NO_feature
+^^^^^^^^^^
+
+ States that library variants containing a particular
+ feature should not be built. For example, passing
+ `NO_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.
+
+.. rubric:: Example
+
+The Boost.Thread library binary is built using the following
+invocation of the `boost_add_library` macro. The options passed to the
+macro indicate that CMake should define `BOOST_THREAD_BUILD_DLL` to 1
+when building shared libraries and `BOOST_THREAD_BUILD_LIB` to 1 when
+building static libraries. The `NO_SINGLE_THREADED` option inhibits
+creation of any single-threaded variants of the library (which
+obviously would not make sense for a threading library!). The flags
+needed to compile the multi-threaded variants are automatically
+added. ::
+
+ 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
+ )
+
+
+This example is from ``libs/thread/src/CMakeLists.txt``.
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Core module in
+``tools/build/CMake/BoostCore.cmake``.
+
+
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt
new file mode 100644
index 0000000..709977d
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt
@@ -0,0 +1,44 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+boost_additional_test_dependencies
+----------------------------------
+
+.. note:: This is only needed in the presence of 'modularization'
+ which is currently disabled.
+
+Add additional include directories based on the dependencies of the
+library being tested 'libname' and all of its dependencies.
+
+.. cmake:: boost_additional_test_dependencies(libname, ...
+
+ :param libname: name of library being tested
+ :param BOOST_DEPENDS: libdepend1 libdepend2 ...
+
+`libname`
+
+ the name of the boost library being tested. (signals)
+
+`BOOST_DEPENDS`
+
+ The list of the extra boost libraries that the test suite will
+ depend on. You do NOT have to list those libraries already listed
+ by the module.cmake file as these will be used.
+
+.. rubric:: Example
+
+The following invocation of the `boost_additional_test_dependencies`
+macro is taken from the signals library. ::
+
+ boost_additional_test_dependencies(signals BOOST_DEPENDS test optional)
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Testing module in
+tools/build/CMake/BoostTesting.cmake
+
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt
new file mode 100644
index 0000000..5487089
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt
@@ -0,0 +1,103 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_library_project
+.. _boost_library_project_macro:
+
+boost_library_project
+---------------------
+
+Define a boost library project.
+
+.. cmake:: boost_library_project(libname[, ...])
+
+ :param libname: name of library to add
+ :type SRCDIRS: optional
+ :param SRCDIRS: srcdir1 srcdir2 ...
+ :type TESTDIRS: optional
+ :param TESTDIRS: testdir1 testdir2 ..
+ :type EXAMPLEDIRS: optional
+ :param EXAMPLEDIRS: testdir1 testdir2 ..
+ :param DESCRIPTION: description
+ :param AUTHORS: author1 author2
+ :param MAINTAINERS: maint maint2
+ :type MODULAR: optional
+ :param MODULAR:
+
+where `libname` is the name of the library (e.g., Python,
+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.
+
+.. A library marked MODULAR has all of its header files in its own
+.. subdirectory include/boost rather than the "global" boost
+.. subdirectory. These libraries can be added or removed from the tree
+.. freely; they do not need to be a part of the main repository.
+
+`DESCRIPTION` provides a brief description of the library, which can
+be used to summarize the behavior of the library for a user. `AUTHORS`
+lists the authors of the library, while `MAINTAINERS` lists the active
+maintainers. If `MAINTAINERS` is left empty, it is assumed that the
+authors are still maintaining the library. Both authors and maintainers
+should have their name followed by their current e-mail address in
+angle brackets, with -at- instead of the at sign, e.g., ::
+
+ Douglas Gregor <doug.gregor -at- gmail.com>
+
+.. index:: TESTDIRS
+.. _TESTDIRS:
+
+TESTDIRS
+^^^^^^^^
+
+For libraries that have regression tests, and when testing is enabled
+either by `BUILD_TESTS` containing the (lowercase) name of this
+library or the string ``ALL``, the generated makefiles/project files
+will contain regression tests for this library.
+
+.. index:: EXAMPLEDIRS
+.. _EXAMPLEDIRS:
+
+EXAMPLEDIRS
+^^^^^^^^^^^
+
+This option specifies directories containing examples. Examples are
+just libraries/executables created with :ref:`boost_add_library_macro`
+and :ref:`boost_add_executable_macro`, except they are only built if
+the name of the current project is specified in :ref:`BUILD_EXAMPLES`.
+
+.. index:: MODULAR
+.. _MODULAR:
+
+MODULAR
+^^^^^^^
+
+Currently unused.
+
+.. rubric:: Example
+
+The Boost.Thread library uses the following invocation of the
+`boost_library_project` macro, since it has both a compiled library
+(built in the "src" subdirectory) and regression tests (listed in the
+"test" subdirectory)::
+
+
+ boost_library_project(
+ Thread
+ SRCDIRS src
+ TESTDIRS test
+ DESCRIPTION "Portable threading"
+ AUTHORS "Anthony Williams <anthony -at- justsoftwaresolutions.co.uk">
+ )
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Core module in
+``tools/build/CMake/BoostCore.cmake``
+
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt
new file mode 100644
index 0000000..f014735
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_module
+.. _boost_module:
+
+boost_module
+------------
+
+FIXME
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt
new file mode 100644
index 0000000..0422c26
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_python_module
+.. _boost_python_module:
+
+boost_python_module
+-------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt
new file mode 100644
index 0000000..0a1c0b2
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt
@@ -0,0 +1,14 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _boost_test_compile:
+
+boost_test_compile
+------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt
new file mode 100644
index 0000000..1e6f318
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt
@@ -0,0 +1,14 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _boost_test_compile_fail:
+
+boost_test_compile_fail
+-----------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt
new file mode 100644
index 0000000..8e7c2f8
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_test_run
+.. _boost_test_run:
+
+boost_test_run
+--------------
+
+FIXME
diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt
new file mode 100644
index 0000000..9cc5e55
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_test_run_fail
+.. _boost_test_run_fail:
+
+boost_test_run_fail
+-------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/build/html/_sources/testing.txt b/tools/build/CMake/docs/build/html/_sources/testing.txt
new file mode 100644
index 0000000..8f0db58
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_sources/testing.txt
@@ -0,0 +1,438 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _testing:
+
+Testing
+=======
+
+Boost's CMake-based build system provides regression testing via
+`CTest <http://www.cmake.org/Wiki/CMake_Testing_With_CTest>`_, which
+comes as part of CMake. This regression testing system can be used by
+Boost developers to test their libraries locally and also by testers
+and users to submit regression tests to a `CDash server
+<http://www.cdash.org/CDashPublic/index.php?project=Boost>`_, which
+collects and reports regression-testing results from different
+sites. This document assumes that the reader has already learned how
+to build and configure Boost using CMake.
+
+.. index:: BUILD_TESTS
+.. _BUILD_TESTS:
+
+BUILD_TESTS
+-----------
+
+The variable BUILD_TESTS is a comma-separated list of projects for
+which testing will be enabled, e.g.::
+
+ "accumulators;iostreams;variant"
+
+or the string ``"ALL"`` for all projects, or the string
+``"NONE"`` to disable testing.
+
+.. warning:: if you pass this list from a unix shell, don't forget to
+ enclose the whole thing in quotes or escape the
+ semicolons.
+
+If you re-run the CMake configuration for Boost with ``BUILD_TESTS``
+set to ``ALL``, you will notice that configuration takes significantly
+longer when we are building all of the regression tests. This is due
+to the very large number of toplevel targets (thousands) that are
+created. Until boost's testing scheme is reorganized to reduce this
+number, we anticipate that only testing nodes will want to test ALL,
+whereas developers will want to test the library under development and
+those that are dependent on it.
+
+.. index:: NMake
+.. index:: Visual Studio
+.. index:: tests, running all of them
+
+.. warning:: It is **not** recommended to set ``BUILD_TESTS`` to
+ ``"ALL"`` when using Visual Studio generators. A very
+ large number (thousands) of targets are generated and
+ this can bring VS to grinding halt. To run all tests,
+ choose the ``NMake`` generator, see :ref:`NMake`.
+
+Be sure to re-configure CMake once you are done tweaking these
+options, and generate makefiles or project files, as mentioned in
+:ref:`quickstart`.
+
+If you're using a command-line configuration (nmake files, unix
+makefiles) you can simplify this process by passing the value of
+``BUILD_TESTS`` on the command line, e.g. ::
+
+ cmake ../src -DBUILD_TESTS="mpi;graph_parallel"
+
+.. note:: In Visual Studio, you should be prompted by the gui to
+ reload the project. If you're unlucky, you will be prompted a
+ thousand times to reload each individual solution. For this
+ reason, our current best recommendataion is to close and reopen the
+ project if you rebuild ``Boost.sln``.
+
+
+Build
+-----
+
+Follow the same building process described in :ref:`quickstart`. For
+Unix users, don't forget the `-i` option to `make` (ignore errors),
+and also possibly `-j 2` (or more) to run the build process in
+parallel. Building all of the regression tests for the Boost libraries
+can take a long time. ::
+
+ make -j2 -i
+
+.. note:: If you change Boost source files in a way that affects your
+ tests, you will need to rebuild to update the libraries and
+ test executables before moving on to the next step.
+
+Test
+----
+
+Once regression tests have finished building,
+
+Unix and nmake
+^^^^^^^^^^^^^^
+
+at a command prompt, ``cd`` to the Boost binary directory. Then, run
+the command::
+
+ ctest
+
+to execute all of the regression tests. The `ctest` executable comes
+with cmake. On Unix platforms, this is the same place where `ccmake`
+resides. On Windows platforms, it will be in ``C:\Program
+Files\CMake X.Y\bin``. The ctest program should produce output like the
+following::
+
+ Start processing tests
+ Test project /Users/dgregor/Projects/boost-darwin
+ 1/ 22 Testing any-any_test Passed
+ 2/ 22 Testing any-any_to_ref_test Passed
+ 3/ 22 Testing function-lib_function_test Passed
+ 4/ 22 Testing function-function_n_test Passed
+ 5/ 22 Testing function-allocator_test Passed
+ 6/ 22 Testing function-stateless_test Passed
+ 7/ 22 Testing function-lambda_test Passed
+ 8/ 22 Testing function-function_test_fail1 ***Failed - supposed to fail
+ 9/ 22 Testing function-function_test_fail2 ***Failed - supposed to fail
+ 10/ 22 Testing function-function_30 Passed
+ 11/ 22 Testing function-function_arith_cxx98 Passed
+ 12/ 22 Testing function-function_arith_porta Passed
+ 13/ 22 Testing function-sum_avg_cxx98 Passed
+ 14/ 22 Testing function-sum_avg_portable Passed
+ 15/ 22 Testing function-mem_fun_cxx98 Passed
+ 16/ 22 Testing function-mem_fun_portable Passed
+ 17/ 22 Testing function-std_bind_cxx98 Passed
+ 18/ 22 Testing function-std_bind_portable Passed
+ 19/ 22 Testing function-function_ref_cxx98 Passed
+ 20/ 22 Testing function-function_ref_portabl Passed
+ 21/ 22 Testing function-contains_test Passed
+ 22/ 22 Testing function-contains2_test Passed
+
+ 100% tests passed, 0 tests failed out of 22
+
+Here, we have only enabled testing of the Boost.Any and Boost.Function
+libraries, by setting `BUILD_TESTS` to `any;function`.
+
+.. warning:: Again, This ``ctest`` step runs the tests without first
+ running a build. If you change a source file and run the
+ ``ctest`` step you will see that no build is invoked.
+
+To run just a subset of the tests, pass ``-R`` and a regular
+expression to ``ctest`` (see the output of ``ctest --help-full``). For
+example, to run all of the Python tests, use::
+
+ ctest -R python
+
+There is also a ``-E`` (exclude) option which does the inverse of ``-R``.
+``ctest --help`` shows the full list of options.
+
+.. index:: targets ; testing
+.. index:: testing ; targets
+
+Visual Studio
+^^^^^^^^^^^^^
+
+You will see a solution named ``RUN_TESTS``. Build this to run the
+tests. If you want to run them from the commandline, for some
+projects you will have to use the ``-C`` flag to ctest to specify the
+ctest configuration type (Debug or Release, typically).
+
+
+Targets
+-------
+
+The testing subsystem adds toplevel targets to the build. On unix you
+can see them in the output of ``make help``. For example some of the
+accumulators test targets look like this::
+
+ % make help | grep accum
+ ... accumulators-tests-count
+ ... accumulators-tests-covariance
+ ... accumulators-tests-droppable
+ ... accumulators-tests-error_of
+ ... accumulators-tests-extended_p_square
+ ... accumulators-tests-extended_p_square_quantile
+
+Note that they are prefixed with the name of the project, a dash, and
+'tests'. Under visual studio you will see these targets in the
+'solution explorer'.
+
+.. _the_dashboard:
+
+The Dashboard
+-------------
+
+Donated by kitware, it is here:
+
+http://www.cdash.org/CDashPublic/index.php?project=Boost
+
+Submitting Results
+------------------
+
+.. warning:: This needs updating for git
+
+The ``ctest`` command can be used by individual developers to test
+local changes to their libraries. The same program can also be used to
+build all of Boost, run its regression tests, and submit the results
+to a central server where others can view them. Currently, regression
+test results based on the CMake build system are displayed on the Dart
+server at http://www.cdash.org/CDashPublic/index.php?project=Boost.
+
+To submit "experimental" results to the Dart server, configure a Boost
+binary tree by following the configuration instructions in the section
+:ref:`quickstart`, and then enable regression testing via the
+`BOOST_TESTS=ALL` option, as described above. At this point, don't build
+anything! We'll let CTest do that work. You may want to customize some
+of the advanced CMake options, such as `SITE` (to give your site
+name), and `MAKECOMMAND` (which, for makefile targets, governs the
+top-level make call when building Boost). Finally, go into the Boost
+binary directory and execute::
+
+ ctest -D Experimental
+
+CTest will then reconfigure Boost, build all of the Boost libraries
+and regression tests, execute the regression tests, and submit the
+results to the Dart dashboard at
+http://www.cdash.org/CDashPublic/index.php?project=Boost. Results
+submitted to the dashboard are usually browsable momentarily within a
+minute or two.
+
+Automatic testing
+-----------------
+
+Continuous
+^^^^^^^^^^
+
+Here is a recommended setup.
+
+Create a directory ``ctest`` on your test drone containing
+subdirectories for the branches you'll be testing, in this case
+*release* and *trunk*. ::
+
+ boost/
+ ctest/
+ branches/
+ release/
+ continuous/
+ build/ <= run ctest here
+ src/ <= checkout to here
+ nightly/
+ build/ <= run ctest here
+ src/ <= checkout to here
+
+and check out source to the directories listed above. We'll do the
+release branch as an example::
+
+ % cd boost/ctest/branches/release
+ % svn co http://svn.boost.org/svn/boost/branches/release src
+ #
+ # lots of output
+ #
+ % mkdir continuous
+ % cd continuous
+
+now configure your build, enabling testing. In this case I'll also
+use an alternate compiler, from Intel::
+
+ % cmake ../src -DBUILD_TESTING=ON -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc
+ -- The C compiler identification is Intel
+ -- The CXX compiler identification is Intel
+ -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc
+ -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc -- works
+
+ (etc)
+
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: /home/troy/Projects/boost/ctest/release/continuous/build
+
+Now run ``ctest -D Continuous`` in a loop::
+
+ % while true
+ while> do
+ while> ctest -D Continuous
+ while> sleep 600 # take it easy on the repository
+ while> done
+ Site: zinc
+ Build name: intel-11.0-linux
+ Create new tag: 20090514-2207 - Continuous
+ Start processing tests
+ Updating the repository
+ Updating the repository: /home/troy/Projects/boost/ctest/release/nightly/src
+ Use SVN repository type
+ Old revision of repository is: 53002
+ New revision of repository is: 53005
+ Gathering version information (one . per revision):
+
+ (etc)
+
+If you add ``-V or -VV`` you'll get a little more feedback about what
+is going on. On unix it is handy to do this via the utility *screen*.
+
+.. todo:: Figure out how to do this on windows, encapsulate some of
+ this scripting. Just use the ctest builtin scripting
+ language.
+
+
+Nightly
+^^^^^^^
+
+Nightly testing should run triggered by a cron job or by Windows Task
+Scheduler or what-have-you. You will need,
+
+* a directory to work in
+* installed cmake/ctest/svn
+
+but not a checkout of boost. CTest will do the checkout, build, test
+and submit on its own.
+
+Create a directory to run in. As in the previous section, we'll use
+``boost/ctest/branches/release/nightly``, which I'll call ``$DIR``.
+The CTest script should look like the following (you can copy/paste
+this into ``$DIR/CTestNightly.cmake`` ::
+
+ execute_process(COMMAND /bin/pwd
+ OUTPUT_VARIABLE PWD
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ message(STATUS "Running nightly build in ${PWD}")
+
+ set(CTEST_SOURCE_DIRECTORY ${PWD}/src)
+ set(CTEST_BINARY_DIRECTORY ${PWD}/build)
+
+ # what cmake command to use for configuring this dashboard
+ set(CTEST_CMAKE_COMMAND "/usr/local/bin/cmake")
+ set(CTEST_CTEST_COMMAND "/usr/local/bin/ctest")
+ set(CTEST_CVS_COMMAND "svn")
+
+ set(CTEST_CVS_CHECKOUT "${CTEST_CVS_COMMAND} co https://svn.boost.org/svn/boost/branches/release ${CTEST_SOURCE_DIRECTORY}")
+
+ # which ctest command to use for running the dashboard
+ set(CTEST_COMMAND
+ "${CTEST_CTEST_COMMAND} -VV -D Experimental -A ${PWD}/notes.txt -O ctest.log"
+ )
+
+
+
+ ####################################################################
+ # The values in this section are optional you can either
+ # have them or leave them commented out
+ ####################################################################
+
+ # should ctest wipe the binary tree before running
+ set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
+
+ #
+ # this is the initial cache to use for the binary tree, be careful to escape
+ # any quotes inside of this string if you use it
+ #
+ # Yes you can pass cmake -DBUILD_WHATEVER=ON type options here.
+ #
+ set(CTEST_INITIAL_CACHE "
+
+ CMAKE_CXX_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icpc
+ CMAKE_C_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icc
+
+ SITE:STRING=zinc
+ MAKECOMMAND:STRING=make -i -j2
+ DART_TESTING_TIMEOUT:STRING=30
+ BUILD_TESTS:STRING=ALL
+ BUILD_EXAMPLES:STRING=ALL
+ CVSCOMMAND:FILEPATH=${CTEST_CVS_COMMAND}
+ ")
+
+You will need to customize several variables:
+
+* **CTEST_CMAKE_COMMAND** the path to your cmake binary
+* **CTEST_CTEST_COMMAND** the path to your ctest binary (should be in
+ the same place as cmake)
+* **CTEST_CVS_COMMAND** The path to subversion.
+* **CMAKE_CXX_COMPILER:STRING**, **CMAKE_C_COMPILER:STRING** Note the
+ syntax here, the trailing ``:STRING``. If you are using a
+ nonstandard compiler, set it here.
+* **MAKECOMMAND:STRING** The path to your make command. *NOTE* if you
+ set this, be sure that the ``-i`` (ignore-errors) flag is included.
+ If it isn't, the first compile/link error will stop the build and
+ testing will commence.
+* **SITE:STRING** This is what will appear as the 'hostname' in your
+ posted dashboards. Customize as you like.
+
+Now you'll create a "notes" file, call it ``notes.txt``. This will be
+visible from the dashboard. Add the output of, e.g::
+
+ gcc --version
+ uname -a
+
+and the contents of the ``CTestNightly.cmake`` itself. Example::
+
+ **************** CMAKE DASHBOARD NOTES *****************
+
+ Notes file for CMake Nightly Dashboard.
+
+ This dashboard is being generated on an eight core, 64 bit
+ Ubuntu 9.04 machine with an intel c++ compiler.
+
+
+ Questions about this Dashboard should be directed to troy@resophonic.com
+
+ Linux zinc 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 UTC 2009 x86_64 GNU/Linux
+
+ icpc (ICC) 11.0 20090318
+ Copyright (C) 1985-2009 Intel Corporation. All rights reserved.
+
+ --------------- Script file ---------------
+
+ (contents of CTestNightly.cmake)
+
+Now run (as a cronjob or at the command line)::
+
+ ctest -S CTestNightly.cmake
+
+if you want extra verbosity add a ``-VV`` flag. You'll see something like the following::
+
+ + /opt/local/bin/ctest -VV -S CMakeDashBoard.cmake
+ * Extra verbosity turned on
+ Reading Script: /Users/troy/ctest/boost/release/nightly/CMakeDashBoard.cmake
+ Run cmake command: /opt/i3/ports/bin/cmake "/Users/troy/ctest/boost/release/nightly/src"
+ -- The C compiler identification is GNU
+ -- The CXX compiler identification is GNU
+ -- Check for working C compiler: /usr/bin/gcc
+ (etc)
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: /Users/troy/ctest/boost/release/nightly/build
+ Run ctest command: /opt/i3/ports/bin/ctest -VV -D Nightly -A /Users/troy/ctest/boost/release/nightly/notes.txt -O ctest.log
+ UpdateCTestConfiguration from :/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
+ Parse Config file:/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
+ Site: silver
+ Build name: gcc-4.0.1-macos
+ (etc, etc)
+
+You'll see it configure again, run... and sooner or later you'll see
+your results on :ref:`the_dashboard`.
diff --git a/tools/build/CMake/docs/build/html/_static/alt.boost.png b/tools/build/CMake/docs/build/html/_static/alt.boost.png
new file mode 100644
index 0000000..1df0761
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/alt.boost.png differ
diff --git a/tools/build/CMake/docs/build/html/_static/basic.css b/tools/build/CMake/docs/build/html/_static/basic.css
new file mode 100644
index 0000000..68cae4f
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_static/basic.css
@@ -0,0 +1,405 @@
+/**
+ * Sphinx stylesheet -- basic theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+ clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 10px;
+ list-style: none;
+}
+
+div.related li {
+ display: inline;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+img {
+ border: 0;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li div.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ width: 90%;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ font-style: italic;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable dl, table.indextable dd {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+a.headerlink {
+ visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.field-list ul {
+ padding-left: 1em;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px 7px 0 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px 7px 0 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.docutils td, table.docutils th {
+ padding: 1px 8px 1px 0;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+table.footnote td, table.footnote th {
+ border: 0 !important;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+/* -- other body styles ----------------------------------------------------- */
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd p {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+dt:target, .highlight {
+ background-color: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.refcount {
+ color: #060;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+}
+
+td.linenos pre {
+ padding: 5px 0px;
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ margin-left: 0.5em;
+}
+
+table.highlighttable td {
+ padding: 0 0.5em 0 0.5em;
+}
+
+tt.descname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+tt.descclassname {
+ background-color: transparent;
+}
+
+tt.xref, a tt {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+ background-color: transparent;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+}
diff --git a/tools/build/CMake/docs/build/html/_static/boost.css b/tools/build/CMake/docs/build/html/_static/boost.css
new file mode 100644
index 0000000..63ce8bc
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_static/boost.css
@@ -0,0 +1,221 @@
+/**
+ * Sphinx stylesheet -- default theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: sans-serif;
+ font-size: 100%;
+ background-color: #ffffff;
+ color: #000;
+ margin: 0;
+ padding: 0;
+}
+
+div.documentwrapper {
+ background-color: #ffffff;
+ border-top: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+}
+
+div.body {
+ background-color: #ffffff;
+ color: #000000;
+ padding: 0 20px 30px 20px;
+ border-left: 1px solid #eeeeee;
+}
+
+div.footer {
+ color: #ffffff;
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: #ffffff;
+ text-decoration: underline;
+}
+
+div.related {
+ background-color: #ffffff;
+ line-height: 30px;
+ color: #ffffff;
+}
+
+div.related a {
+ color: #005a9c;
+}
+
+div.sphinxsidebar {
+ float: right;
+}
+
+div.sphinxsidebar h3 {
+ font-family: 'Trebuchet MS', sans-serif;
+ color: #666666;
+ font-size: 1.4em;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+ color: #005a9c;
+}
+
+div.sphinxsidebar h4 {
+ font-family: 'Trebuchet MS', sans-serif;
+ color: #ffffff;
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 0;
+}
+
+div.sphinxsidebar p {
+ color: #666666;
+}
+
+div.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+ color: #ffffff;
+}
+
+div.sphinxsidebar a {
+ color: #005a9c;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #cccccc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+a {
+ color: #355f7c;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ background-color: #f5f5f5;
+ border-top: 1px solid #dddddd;
+ padding: 3px 0px 3px 10px;
+ margin: 20px -20px 10px -20px;
+
+/*
+ font-family: 'Trebuchet MS', sans-serif;
+ background-color: #f2f2f2;
+ font-weight: normal;
+ color: #20435c;
+ border-bottom: 1px solid #ccc;
+ padding: 3px 0 3px 10px;
+*/
+}
+
+
+div.body h1 { margin-top: 0; font-size: 150%; }
+div.body h2 { font-size: 140%; }
+div.body h3 { font-size: 130%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+
+a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+pre {
+ font-size: 9pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ border: 1px solid #d8d8d8;
+}
+
+tt {
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
+}
+
+dt:target, .highlight {
+ background-color: #ffffff;
+ border-bottom: none;
+/* */
+}
+
+.k {
+ color: #0000aa;
+}
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/_static/contents.png b/tools/build/CMake/docs/build/html/_static/contents.png
new file mode 100644
index 0000000..7fb8215
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/contents.png differ
diff --git a/tools/build/CMake/docs/build/html/_static/doctools.js b/tools/build/CMake/docs/build/html/_static/doctools.js
new file mode 100644
index 0000000..9447678
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_static/doctools.js
@@ -0,0 +1,232 @@
+/// XXX: make it cross browser
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+ */
+if (!window.console || !console.firebug) {
+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
+ "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
+ window.console = {};
+ for (var i = 0; i < names.length; ++i)
+ window.console[names[i]] = function() {}
+}
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+ return decodeURIComponent(x).replace(/\+/g, ' ');
+}
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+ if (typeof s == 'undefined')
+ s = document.location.search;
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
+ var result = {};
+ for (var i = 0; i < parts.length; i++) {
+ var tmp = parts[i].split('=', 2);
+ var key = jQuery.urldecode(tmp[0]);
+ var value = jQuery.urldecode(tmp[1]);
+ if (key in result)
+ result[key].push(value);
+ else
+ result[key] = [value];
+ }
+ return result;
+}
+
+/**
+ * small function to check if an array contains
+ * a given item.
+ */
+jQuery.contains = function(arr, item) {
+ for (var i = 0; i < arr.length; i++) {
+ if (arr[i] == item)
+ return true;
+ }
+ return false;
+}
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+ function highlight(node) {
+ if (node.nodeType == 3) {
+ var val = node.nodeValue;
+ var pos = val.toLowerCase().indexOf(text);
+ if (pos >= 0 && !jQuery.className.has(node.parentNode, className)) {
+ var span = document.createElement("span");
+ span.className = className;
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+ document.createTextNode(val.substr(pos + text.length)),
+ node.nextSibling));
+ node.nodeValue = val.substr(0, pos);
+ }
+ }
+ else if (!jQuery(node).is("button, select, textarea")) {
+ jQuery.each(node.childNodes, function() {
+ highlight(this)
+ });
+ }
+ }
+ return this.each(function() {
+ highlight(this);
+ });
+}
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+ init : function() {
+ this.fixFirefoxAnchorBug();
+ this.highlightSearchWords();
+ this.initModIndex();
+ },
+
+ /**
+ * i18n support
+ */
+ TRANSLATIONS : {},
+ PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
+ LOCALE : 'unknown',
+
+ // gettext and ngettext don't access this so that the functions
+ // can savely bound to a different name (_ = Documentation.gettext)
+ gettext : function(string) {
+ var translated = Documentation.TRANSLATIONS[string];
+ if (typeof translated == 'undefined')
+ return string;
+ return (typeof translated == 'string') ? translated : translated[0];
+ },
+
+ ngettext : function(singular, plural, n) {
+ var translated = Documentation.TRANSLATIONS[singular];
+ if (typeof translated == 'undefined')
+ return (n == 1) ? singular : plural;
+ return translated[Documentation.PLURALEXPR(n)];
+ },
+
+ addTranslations : function(catalog) {
+ for (var key in catalog.messages)
+ this.TRANSLATIONS[key] = catalog.messages[key];
+ this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+ this.LOCALE = catalog.locale;
+ },
+
+ /**
+ * add context elements like header anchor links
+ */
+ addContextElements : function() {
+ $('div[id] > :header:first').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this headline')).
+ appendTo(this);
+ });
+ $('dt[id]').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this definition')).
+ appendTo(this);
+ });
+ },
+
+ /**
+ * workaround a firefox stupidity
+ */
+ fixFirefoxAnchorBug : function() {
+ if (document.location.hash && $.browser.mozilla)
+ window.setTimeout(function() {
+ document.location.href += '';
+ }, 10);
+ },
+
+ /**
+ * highlight the search words provided in the url in the text
+ */
+ highlightSearchWords : function() {
+ var params = $.getQueryParameters();
+ var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+ if (terms.length) {
+ var body = $('div.body');
+ window.setTimeout(function() {
+ $.each(terms, function() {
+ body.highlightText(this.toLowerCase(), 'highlight');
+ });
+ }, 10);
+ $('<li class="highlight-link"><a href="javascript:Documentation.' +
+ 'hideSearchWords()">' + _('Hide Search Matches') + '</a></li>')
+ .appendTo($('.sidebar .this-page-menu'));
+ }
+ },
+
+ /**
+ * init the modindex toggle buttons
+ */
+ initModIndex : function() {
+ var togglers = $('img.toggler').click(function() {
+ var src = $(this).attr('src');
+ var idnum = $(this).attr('id').substr(7);
+ console.log($('tr.cg-' + idnum).toggle());
+ if (src.substr(-9) == 'minus.png')
+ $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+ else
+ $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+ }).css('display', '');
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_MODINDEX) {
+ togglers.click();
+ }
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords : function() {
+ $('.sidebar .this-page-menu li.highlight-link').fadeOut(300);
+ $('span.highlight').removeClass('highlight');
+ },
+
+ /**
+ * make the url absolute
+ */
+ makeURL : function(relativeURL) {
+ return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+ },
+
+ /**
+ * get the current relative url
+ */
+ getCurrentURL : function() {
+ var path = document.location.pathname;
+ var parts = path.split(/\//);
+ $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+ if (this == '..')
+ parts.pop();
+ });
+ var url = parts.join('/');
+ return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+ }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+ Documentation.init();
+});
diff --git a/tools/build/CMake/docs/build/html/_static/file.png b/tools/build/CMake/docs/build/html/_static/file.png
new file mode 100644
index 0000000..d18082e
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/file.png differ
diff --git a/tools/build/CMake/docs/build/html/_static/jquery.js b/tools/build/CMake/docs/build/html/_static/jquery.js
new file mode 100644
index 0000000..82b98e1
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_static/jquery.js
@@ -0,0 +1,32 @@
+/*
+ * jQuery 1.2.6 - New Wave Javascript
+ *
+ * Copyright (c) 2008 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
+ * $Rev: 5685 $
+ */
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
+selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
+return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
+this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
+return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
+jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
+script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
+for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
+ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
+while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
+while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegEx
+for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){retur
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,asy
+xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
+jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update(
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/_static/minus.png b/tools/build/CMake/docs/build/html/_static/minus.png
new file mode 100644
index 0000000..da1c562
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/minus.png differ
diff --git a/tools/build/CMake/docs/build/html/_static/navigation.png b/tools/build/CMake/docs/build/html/_static/navigation.png
new file mode 100644
index 0000000..1081dc1
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/navigation.png differ
diff --git a/tools/build/CMake/docs/build/html/_static/plus.png b/tools/build/CMake/docs/build/html/_static/plus.png
new file mode 100644
index 0000000..b3cb374
Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/plus.png differ
diff --git a/tools/build/CMake/docs/build/html/_static/pygments.css b/tools/build/CMake/docs/build/html/_static/pygments.css
new file mode 100644
index 0000000..c4f80ad
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_static/pygments.css
@@ -0,0 +1,59 @@
+.c { color: #800000; } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #0000aa; } /* Keyword */
+.o { color: #707070 } /* Operator */
+.cm { color: #408090; font-style: italic } /* Comment.Multiline */
+.cp { color: #007020 } /* Comment.Preproc */
+.c1 { color: #408090; font-style: italic } /* Comment.Single */
+.cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #FF0000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #00A000 } /* Generic.Inserted */
+.go { color: #303030 } /* Generic.Output */
+.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0040D0 } /* Generic.Traceback */
+.kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.kp { color: #007020 } /* Keyword.Pseudo */
+.kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #602000 } /* Keyword.Type */
+.m { color: #208050 } /* Literal.Number */
+.s { color: #4070a0 } /* Literal.String */
+.na { color: #4070a0 } /* Name.Attribute */
+.nb { color: #007020 } /* Name.Builtin */
+.nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.no { color: #60add5 } /* Name.Constant */
+.nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.ne { color: #007020 } /* Name.Exception */
+.nf { color: #06287e } /* Name.Function */
+.nl { color: #002070; font-weight: bold } /* Name.Label */
+.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.nt { color: #062873; font-weight: bold } /* Name.Tag */
+.nv { color: #bb60d5 } /* Name.Variable */
+.ow { color: #007020; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mf { color: #208050 } /* Literal.Number.Float */
+.mh { color: #208050 } /* Literal.Number.Hex */
+.mi { color: #208050 } /* Literal.Number.Integer */
+.mo { color: #208050 } /* Literal.Number.Oct */
+.sb { color: #4070a0 } /* Literal.String.Backtick */
+.sc { color: #4070a0 } /* Literal.String.Char */
+.sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #4070a0 } /* Literal.String.Double */
+.se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #4070a0 } /* Literal.String.Heredoc */
+.si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.sx { color: #c65d09 } /* Literal.String.Other */
+.sr { color: #235388 } /* Literal.String.Regex */
+.s1 { color: #4070a0 } /* Literal.String.Single */
+.ss { color: #517918 } /* Literal.String.Symbol */
+.bp { color: #007020 } /* Name.Builtin.Pseudo */
+.vc { color: #bb60d5 } /* Name.Variable.Class */
+.vg { color: #bb60d5 } /* Name.Variable.Global */
+.vi { color: #bb60d5 } /* Name.Variable.Instance */
+.il { color: #208050 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/_static/searchtools.js b/tools/build/CMake/docs/build/html/_static/searchtools.js
new file mode 100644
index 0000000..e022625
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_static/searchtools.js
@@ -0,0 +1,467 @@
+/**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words, hlwords is the list of normal, unstemmed
+ * words. the first one is used to find the occurance, the
+ * latter for highlighting it.
+ */
+
+jQuery.makeSearchSummary = function(text, keywords, hlwords) {
+ var textLower = text.toLowerCase();
+ var start = 0;
+ $.each(keywords, function() {
+ var i = textLower.indexOf(this.toLowerCase());
+ if (i > -1)
+ start = i;
+ });
+ start = Math.max(start - 120, 0);
+ var excerpt = ((start > 0) ? '...' : '') +
+ $.trim(text.substr(start, 240)) +
+ ((start + 240 - text.length) ? '...' : '');
+ var rv = $('<div class="context"></div>').text(excerpt);
+ $.each(hlwords, function() {
+ rv = rv.highlightText(this, 'highlight');
+ });
+ return rv;
+}
+
+/**
+ * Porter Stemmer
+ */
+var PorterStemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
+ };
+
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
+ }
+}
+
+
+/**
+ * Search Module
+ */
+var Search = {
+
+ _index : null,
+ _queued_query : null,
+ _pulse_status : -1,
+
+ init : function() {
+ var params = $.getQueryParameters();
+ if (params.q) {
+ var query = params.q[0];
+ $('input[name="q"]')[0].value = query;
+ this.performSearch(query);
+ }
+ },
+
+ /**
+ * Sets the index
+ */
+ setIndex : function(index) {
+ var q;
+ this._index = index;
+ if ((q = this._queued_query) !== null) {
+ this._queued_query = null;
+ Search.query(q);
+ }
+ },
+
+ hasIndex : function() {
+ return this._index !== null;
+ },
+
+ deferQuery : function(query) {
+ this._queued_query = query;
+ },
+
+ stopPulse : function() {
+ this._pulse_status = 0;
+ },
+
+ startPulse : function() {
+ if (this._pulse_status >= 0)
+ return;
+ function pulse() {
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
+ var dotString = '';
+ for (var i = 0; i < Search._pulse_status; i++)
+ dotString += '.';
+ Search.dots.text(dotString);
+ if (Search._pulse_status > -1)
+ window.setTimeout(pulse, 500);
+ };
+ pulse();
+ },
+
+ /**
+ * perform a search for something
+ */
+ performSearch : function(query) {
+ // create the required interface elements
+ this.out = $('#search-results');
+ this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
+ this.dots = $('<span></span>').appendTo(this.title);
+ this.status = $('<p style="display: none"></p>').appendTo(this.out);
+ this.output = $('<ul class="search"/>').appendTo(this.out);
+
+ $('#search-progress').text(_('Preparing search...'));
+ this.startPulse();
+
+ // index already loaded, the browser was quick!
+ if (this.hasIndex())
+ this.query(query);
+ else
+ this.deferQuery(query);
+ },
+
+ query : function(query) {
+ // stem the searchterms and add them to the
+ // correct list
+ var stemmer = new PorterStemmer();
+ var searchterms = [];
+ var excluded = [];
+ var hlterms = [];
+ var tmp = query.split(/\s+/);
+ var object = (tmp.length == 1) ? tmp[0].toLowerCase() : null;
+ for (var i = 0; i < tmp.length; i++) {
+ // stem the word
+ var word = stemmer.stemWord(tmp[i]).toLowerCase();
+ // select the correct list
+ if (word[0] == '-') {
+ var toAppend = excluded;
+ word = word.substr(1);
+ }
+ else {
+ var toAppend = searchterms;
+ hlterms.push(tmp[i].toLowerCase());
+ }
+ // only add if not already in the list
+ if (!$.contains(toAppend, word))
+ toAppend.push(word);
+ };
+ var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
+
+ console.debug('SEARCH: searching for:');
+ console.info('required: ', searchterms);
+ console.info('excluded: ', excluded);
+
+ // prepare search
+ var filenames = this._index.filenames;
+ var titles = this._index.titles;
+ var terms = this._index.terms;
+ var descrefs = this._index.descrefs;
+ var modules = this._index.modules;
+ var desctypes = this._index.desctypes;
+ var fileMap = {};
+ var files = null;
+ var objectResults = [];
+ var regularResults = [];
+ $('#search-progress').empty();
+
+ // lookup as object
+ if (object != null) {
+ for (var module in modules) {
+ if (module.indexOf(object) > -1) {
+ fn = modules[module];
+ descr = _('module, in ') + titles[fn];
+ objectResults.push([filenames[fn], module, '#module-'+module, descr]);
+ }
+ }
+ for (var prefix in descrefs) {
+ for (var name in descrefs[prefix]) {
+ var fullname = (prefix ? prefix + '.' : '') + name;
+ if (fullname.toLowerCase().indexOf(object) > -1) {
+ match = descrefs[prefix][name];
+ descr = desctypes[match[1]] + _(', in ') + titles[match[0]];
+ objectResults.push([filenames[match[0]], fullname, '#'+fullname, descr]);
+ }
+ }
+ }
+ }
+
+ // sort results descending
+ objectResults.sort(function(a, b) {
+ return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
+ });
+
+
+ // perform the search on the required terms
+ for (var i = 0; i < searchterms.length; i++) {
+ var word = searchterms[i];
+ // no match but word was a required one
+ if ((files = terms[word]) == null)
+ break;
+ if (files.length == undefined) {
+ files = [files];
+ }
+ // create the mapping
+ for (var j = 0; j < files.length; j++) {
+ var file = files[j];
+ if (file in fileMap)
+ fileMap[file].push(word);
+ else
+ fileMap[file] = [word];
+ }
+ }
+
+ // now check if the files don't contain excluded terms
+ for (var file in fileMap) {
+ var valid = true;
+
+ // check if all requirements are matched
+ if (fileMap[file].length != searchterms.length)
+ continue;
+
+ // ensure that none of the excluded terms is in the
+ // search result.
+ for (var i = 0; i < excluded.length; i++) {
+ if (terms[excluded[i]] == file ||
+ $.contains(terms[excluded[i]] || [], file)) {
+ valid = false;
+ break;
+ }
+ }
+
+ // if we have still a valid result we can add it
+ // to the result list
+ if (valid)
+ regularResults.push([filenames[file], titles[file], '', null]);
+ }
+
+ // delete unused variables in order to not waste
+ // memory until list is retrieved completely
+ delete filenames, titles, terms;
+
+ // now sort the regular results descending by title
+ regularResults.sort(function(a, b) {
+ var left = a[1].toLowerCase();
+ var right = b[1].toLowerCase();
+ return (left > right) ? -1 : ((left < right) ? 1 : 0);
+ });
+
+ // combine both
+ var results = regularResults.concat(objectResults);
+
+ // print the results
+ var resultCount = results.length;
+ function displayNextItem() {
+ // results left, load the summary and display it
+ if (results.length) {
+ var item = results.pop();
+ var listItem = $('<li style="display:none"></li>');
+ listItem.append($('<a/>').attr(
+ 'href',
+ item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
+ highlightstring + item[2]).html(item[1]));
+ if (item[3]) {
+ listItem.append($('<span> (' + item[3] + ')</span>'));
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
+ $.get('_sources/' + item[0] + '.txt', function(data) {
+ listItem.append($.makeSearchSummary(data, searchterms, hlterms));
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ });
+ } else {
+ // no source available, just display title
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ }
+ }
+ // search finished, update title and status message
+ else {
+ Search.stopPulse();
+ Search.title.text(_('Search Results'));
+ if (!resultCount)
+ Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
+ else
+ Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
+ Search.status.fadeIn(500);
+ }
+ }
+ displayNextItem();
+ }
+}
+
+$(document).ready(function() {
+ Search.init();
+});
diff --git a/tools/build/CMake/docs/build/html/_static/sphinxdoc.css b/tools/build/CMake/docs/build/html/_static/sphinxdoc.css
new file mode 100644
index 0000000..3452aec
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/_static/sphinxdoc.css
@@ -0,0 +1,349 @@
+/**
+ * Sphinx stylesheet -- sphinxdoc theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *
+ * Originally created by Armin Ronacher for Werkzeug, adapted by Georg Brandl.
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+ 'Verdana', sans-serif;
+ font-size: 12px;
+/* letter-spacing: -0.01em;*/
+ line-height: 140%;
+ text-align: center;
+ background-color: #4a6484;
+/* background-color:#dddddd;*/
+ color: black;
+ padding: 0;
+ margin: 0;
+/* border: 1px solid #dddddd;*/
+/* margin: 15px;*/
+/* margin: 0px 5px 0px 80px;*/
+/* min-width: 740px;*/
+}
+
+div.documentwrapper {
+ float: none;
+}
+
+div.document {
+ background-color: white;
+ text-align: left;
+ background-image: url(contents.png);
+ background-repeat: repeat-x;
+}
+
+div.bodywrapper {
+ margin: 0 240px 0 0;
+ border-right: 1px solid #ccc;
+}
+
+div.body {
+ margin: 0;
+ padding: 0.5em 20px 20px 20px;
+}
+
+div.related {
+ font-size: 1em;
+ background-color: #4a6484;
+ color: white;
+}
+
+div.related ul {
+ height: 2em;
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ background-color: #4a6484;
+ color: white;
+}
+
+div.related ul li {
+ margin: 0;
+ padding: 0;
+ height: 2em;
+ float: left;
+}
+
+div.related ul li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+div.related ul li a {
+ margin: 0;
+ padding: 0 5px 0 5px;
+ line-height: 1.75em;
+ color: white;
+}
+
+div.related ul li a:hover {
+ text-decoration: underline;
+}
+
+div.sphinxsidebarwrapper {
+ padding: 0;
+}
+
+div.sphinxsidebar {
+ margin: 0;
+ padding: 0.5em 15px 15px 0;
+ width: 210px;
+ float: right;
+ font-size: 1em;
+ text-align: left;
+}
+
+div.sphinxsidebar h3, div.sphinxsidebar h4 {
+ margin: 1em 0 0.5em 0;
+ font-size: 1em;
+ padding: 0.1em 0 0.1em 0.5em;
+ color: white;
+ border: 1px solid #a0a4aa;
+ background-color: #4a6484;
+}
+
+div.sphinxsidebar h3 a {
+ color: white;
+}
+
+div.sphinxsidebar ul {
+ padding-left: 1.5em;
+ margin-top: 7px;
+ padding: 0;
+ line-height: 130%;
+}
+
+div.sphinxsidebar ul ul {
+ margin-left: 20px;
+}
+
+div.footer {
+ background-color: #4a6484;
+ color: #eeeeee;
+ padding: 3px 8px 3px 0;
+ clear: both;
+ font-size: 0.8em;
+ text-align: right;
+}
+
+div.footer a {
+ color: #999999;
+ text-decoration: underline;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+p {
+ margin: 0.8em 0 0.5em 0;
+}
+
+a {
+ color: #3f5570;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+a:visited {
+ color: #935b78;
+}
+
+div.body a {
+ text-decoration: underline;
+}
+
+h1 {
+ margin: 0;
+ padding: 0.7em 0 0.3em 0;
+ font-size: 1.5em;
+}
+
+h2 {
+ margin: 1.3em 0 0.2em 0;
+ font-size: 1.35em;
+ padding: 0;
+}
+
+h3 {
+ margin: 1em 0 -0.3em 0;
+ font-size: 1.2em;
+}
+
+div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
+ color: black!important;
+}
+
+h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
+ display: none;
+ margin: 0 0 0 0.3em;
+ padding: 0 0.2em 0 0.2em;
+ color: #aaa!important;
+}
+
+h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor,
+h5:hover a.anchor, h6:hover a.anchor {
+ display: inline;
+}
+
+h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover,
+h5 a.anchor:hover, h6 a.anchor:hover {
+ color: #777;
+ background-color: #eee;
+}
+
+a.headerlink {
+ color: #c60f0f!important;
+ font-size: 1em;
+ margin-left: 6px;
+ padding: 0 4px 0 4px;
+ text-decoration: none!important;
+}
+
+a.headerlink:hover {
+ background-color: #ccc;
+ color: white!important;
+}
+
+cite, code, tt {
+ font-family: 'Consolas', 'Deja Vu Sans Mono',
+ 'Bitstream Vera Sans Mono', monospace;
+ font-size: 0.95em;
+ letter-spacing: 0.01em;
+}
+
+
+tt {
+ color: #222;
+ font-size: 12px;
+}
+
+tt.descname, tt.descclassname, tt.xref {
+ border: 0;
+}
+
+hr {
+ border: 1px solid #abc;
+ margin: 2em;
+}
+
+a tt {
+ border: 0;
+ color: #CA7900;
+}
+
+a tt:hover {
+ color: #2491CF;
+}
+
+pre {
+ font-family: 'Consolas', 'Deja Vu Sans Mono',
+ 'Bitstream Vera Sans Mono', monospace;
+ font-size: 12px;
+ letter-spacing: 0.015;
+ padding: 0.8em;
+/* border: 1px solid #e0e0e0;*/
+ background-color: #eeeeef;
+ border-left: 2px solid red;
+}
+
+pre a {
+ color: inherit;
+ text-decoration: underline;
+}
+
+td.linenos pre {
+ padding: 0.5em 0;
+}
+
+div.quotebar {
+ background-color: #f8f8f8;
+ max-width: 250px;
+ float: right;
+ padding: 2px 7px;
+ border: 1px solid #ccc;
+}
+
+div.topic {
+ background-color: #f8f8f8;
+}
+
+table {
+ border-collapse: collapse;
+ margin: 0 -0.5em 0 -0.5em;
+}
+
+table td, table th {
+ padding: 0.2em 0.5em 0.2em 0.5em;
+}
+
+div.admonition, div.warning {
+ font-size: 0.9em;
+ margin: 1em 0 1em 0;
+ border: 1px solid #a0a4aa;
+ background-color: #f7f7f7;
+ padding: 0;
+}
+
+div.admonition p, div.warning p {
+ margin: 0.5em 1em 0.5em 1em;
+ padding: 0;
+}
+
+div.admonition pre, div.warning pre {
+ margin: 0.4em 1em 0.4em 1em;
+}
+
+div.admonition p.admonition-title,
+div.warning p.admonition-title {
+ margin: 0;
+ padding: 0.1em 0 0.1em 0.5em;
+ color: white;
+ border-bottom: 1px solid #a0a4aa;
+ font-weight: bold;
+ background-color: #4a6484;
+}
+
+div.admonition-todo p.first {
+ background-color: #e22;
+}
+
+div.warning {
+ border: 1px solid #940000;
+}
+
+div.warning p.admonition-title {
+ background-color: #CF0000;
+ border-bottom-color: #940000;
+}
+
+div.attention p.admonition-title {
+ background-color: #CFCF00;
+ border-color: #CFCF00;
+ color: #000000;
+}
+
+div.admonition ul, div.admonition ol,
+div.warning ul, div.warning ol {
+ margin: 0.1em 0.5em 0.5em 3em;
+ padding: 0;
+}
+
+div.versioninfo {
+ margin: 1em 0 0 0;
+ border: 1px solid #ccc;
+ background-color: #DDEAF0;
+ padding: 8px;
+ line-height: 1.3em;
+ font-size: 0.9em;
+}
+
+li .toctree-l1 > a {
+ text-decoration: plain;
+}
+
diff --git a/tools/build/CMake/docs/build/html/add_boost_library.html b/tools/build/CMake/docs/build/html/add_boost_library.html
new file mode 100644
index 0000000..c2f7602
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/add_boost_library.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Adding a Library Project &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Adding a Compiled Library to CMake" href="add_compiled_library.html" />
+ <link rel="prev" title="Building individual libraries with cmake" href="individual_libraries.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="add_compiled_library.html" title="Adding a Compiled Library to CMake"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="individual_libraries.html" title="Building individual libraries with cmake"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="individual_libraries.html"
+ title="previous chapter">Building individual libraries with cmake</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="add_compiled_library.html"
+ title="next chapter">Adding a Compiled Library to CMake</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/add_boost_library.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="adding-a-library-project">
+<span id="add-boost-library-project"></span><h1>Adding a Library Project<a class="headerlink" href="#adding-a-library-project" title="Permalink to this headline">¶</a></h1>
+<p>This page describes how to introduce a new Boost library project into
+the CMake-based build system. Any Boost library that provides a
+library binary (e.g., <tt class="docutils literal"><span class="pre">boost_signals.dll</span></tt>) or has regression tests
+(hopefully, every Boost library!) will need to be part of the build
+system.</p>
+<p>To introduce a new library, which resides in the subdirectory
+<tt class="docutils literal"><span class="pre">libs/libname</span></tt>, follow these steps:</p>
+<ol class="arabic">
+<li><p class="first">Create a new file <tt class="docutils literal"><span class="pre">libs/libname/CMakeLists.txt</span></tt> with your
+favorite text editor. This file will contain an invocation of the
+<a class="reference external" href="reference/boost_library_project.html#boost-library-project-macro"><em>boost_library_project</em></a>, which
+identifies each Boost library to the build system. The invocation
+of the <tt class="docutils literal"><span class="pre">boost_library_project</span></tt> will look like this:</p>
+<div class="highlight-python"><pre>boost_library_project(
+ Libname
+ SRCDIRS src
+ TESTDIRS test
+ EXAMPLEDIRS test
+ )</pre>
+</div>
+<p>where <tt class="docutils literal"><span class="pre">Libname</span></tt> is the properly-capitalization library name,
+e.g., <tt class="docutils literal"><span class="pre">Signals</span></tt> or <tt class="docutils literal"><span class="pre">Smart_ptr</span></tt>. The <tt class="docutils literal"><span class="pre">SRCDIRS</span> <span class="pre">src</span></tt> line should
+only be present if your Boost library actually needs to compile a
+library binary; header-only libraries can skip this step. The
+<tt class="docutils literal"><span class="pre">TESTDIRS</span> <span class="pre">test</span></tt> line indicates that the subdirectory <tt class="docutils literal"><span class="pre">test</span></tt>
+contains regression tests for your library. Every Boost library
+should have these.</p>
+</li>
+<li><p class="first">Re-run CMake (see <a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>) to reconfigure the source
+tree, causing CMake to find the new Boost library. CMake can be
+re-run either from the command line (by invoking <tt class="docutils literal"><span class="pre">cmake</span>
+<span class="pre">/path/to/boost</span></tt> or <tt class="docutils literal"><span class="pre">ccmake</span> <span class="pre">/path/to/boost</span></tt>) or, on Windows,
+using the CMake GUI. Once you have reconfigured and generated new
+makefiles or project files, CMake knows about your library.</p>
+</li>
+<li><p class="first">If your library has compiled sources (i.e., it is not a header-only
+library), follow the instructions on <a class="reference external" href="add_compiled_library.html#add-compiled-library"><em>Adding a Compiled Library to CMake</em></a> to
+get CMake building and installing your library.</p>
+</li>
+<li><p class="first">If your library has regression tests (it <em>does</em> regression tests,
+right?), follow the instructions on <a class="reference external" href="adding_regression_tests.html#adding-regression-tests"><em>Adding Regression Tests</em></a>
+to get CMake to build and run regression tests for your library.</p>
+</li>
+</ol>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="add_compiled_library.html" title="Adding a Compiled Library to CMake"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="individual_libraries.html" title="Building individual libraries with cmake"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/add_compiled_library.html b/tools/build/CMake/docs/build/html/add_compiled_library.html
new file mode 100644
index 0000000..dac2db2
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/add_compiled_library.html
@@ -0,0 +1,329 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Adding a Compiled Library to CMake &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Testing" href="testing.html" />
+ <link rel="prev" title="Adding a Library Project" href="add_boost_library.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="testing.html" title="Testing"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="add_boost_library.html" title="Adding a Library Project"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Adding a Compiled Library to CMake</a><ul>
+<li><a class="reference external" href="#compilation-flags">Compilation Flags</a></li>
+<li><a class="reference external" href="#linking-to-other-boost-libraries">Linking to Other Boost Libraries</a></li>
+<li><a class="reference external" href="#linking-external-libraries-optional-sources">Linking External Libraries/Optional Sources</a></li>
+<li><a class="reference external" href="#build-variants">Build Variants</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="add_boost_library.html"
+ title="previous chapter">Adding a Library Project</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="testing.html"
+ title="next chapter">Testing</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/add_compiled_library.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="adding-a-compiled-library-to-cmake">
+<span id="add-compiled-library"></span><h1>Adding a Compiled Library to CMake<a class="headerlink" href="#adding-a-compiled-library-to-cmake" title="Permalink to this headline">¶</a></h1>
+<p>This page describes how to add a new, compiled library to the
+CMake-based build system. If your library is a &#8220;header-only&#8221; library,
+and does not require separate compilation of object files into a
+library binary, you can safely skip this step. Before adding compiled
+libraries to CMake, make sure you have already followed the directions
+for <a class="reference external" href="reference/boost_library_project.html#boost-library-project-macro"><em>boost_library_project</em></a>, so that the CMake system recognizes your
+Boost library.</p>
+<p>We will assume that your library resides in the subdirectory
+<tt class="docutils literal"><span class="pre">libs/libname</span></tt>, and that we want to create the compiled library
+<tt class="docutils literal"><span class="pre">boost_libname</span></tt>. We will also assume that the sources for this
+library reside in the subdirectory <tt class="docutils literal"><span class="pre">libs/libname/src</span></tt>. The source
+directory should be listed via <tt class="docutils literal"><span class="pre">SRCDIRS</span></tt> in the use of the
+<a class="reference external" href="reference/boost_library_project.html#boost-library-project-macro"><em>boost_library_project</em></a> macro, as described in the previous
+section. Follow these steps to add this new
+library into Boost&#8217;s build system. If your library has multiple source
+directories listed after <tt class="docutils literal"><span class="pre">SRCDIRS</span></tt>, follow these steps for each one.</p>
+<ol class="arabic">
+<li><p class="first">Create a new file <tt class="docutils literal"><span class="pre">libs/libname/src/CMakeLists.txt</span></tt> with your
+favorite text editor. This file will contain build rules for your
+compiled library. In this file, we will create one or more
+invocations of the <a class="reference external" href="reference/boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a> macro, which adds a
+compiled Boost library to the CMake system. This macro provides the
+name of the library, the source files from which the library will
+be built, and any specific compiler and linker options needed to
+help build the library. Let&#8217;s start by adding a simple library with
+a few source files:</p>
+<div class="highlight-python"><pre>boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ )</pre>
+</div>
+<p>This invocation will build several variants of the
+<tt class="docutils literal"><span class="pre">boost_libname</span></tt> library from the source files <tt class="docutils literal"><span class="pre">mysrc1.cpp</span></tt> and
+<tt class="docutils literal"><span class="pre">mysrc2.cpp</span></tt>. For example, it will build both static and shared
+library, single- and multi-threaded, debug and release, etc. This
+invocation also handles the installation of these libraries.</p>
+</li>
+<li><p class="first">For simple libraries, that&#8217;s it! Rebuilding via CMake (e.g.,
+running <tt class="docutils literal"><span class="pre">make</span></tt> or reloading and rebuilding the Boost project in
+your IDE) will build the new library, including several different
+variants for different compilation options. Your Boost library will
+also be included when the user installs Boost or builds a binary
+package of Boost. Within the CMake configuration, you will also see
+an option <tt class="docutils literal"><span class="pre">BUILD_LIBNAME</span></tt>, which allows the user to decide
+whether or not to build this Boost library.</p>
+</li>
+<li><p class="first">Many libraries will need specific compilation options when
+building, need to link against other libraries (Boost or
+otherwise), or rely on certain features of the compilation process
+to proceed. Follow the instructions in the remaining part of this
+page to address these library-specific needs.</p>
+</li>
+</ol>
+<div class="section" id="compilation-flags">
+<h2>Compilation Flags<a class="headerlink" href="#compilation-flags" title="Permalink to this headline">¶</a></h2>
+<p>Many libraries require certain compilation flags when we are building
+the library binaries themselves (rather than when the library headers
+are included by the user). For example, we want to define the macro
+<tt class="docutils literal"><span class="pre">BUILDING_BOOST_LIBNAME</span></tt> when building the library. We can do so by
+passing the <tt class="docutils literal"><span class="pre">COMPILE_FLAGS</span></tt> option to <tt class="docutils literal"><span class="pre">boost_add_library</span></tt>:</p>
+<div class="highlight-python"><pre>boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ )</pre>
+</div>
+<p>Now when CMake builds the library, it will pass the flag
+<tt class="docutils literal"><span class="pre">-DBUILDING_BOOST_LIBNAME=1</span></tt> to the compiler.</p>
+<p>On Windows, shared libraries are built very differently from static
+libraries. In particular, when building a shared library, one needs to
+be sure to export the right symbols from the DLL using
+<tt class="docutils literal"><span class="pre">dllexport</span></tt>. When users use the shared library, these symbols will be
+imported (via <tt class="docutils literal"><span class="pre">dllimport</span></tt>). The typical way to handle this is to
+define a macro (say, <tt class="docutils literal"><span class="pre">BOOST_LIBNAME_DYN_LINK</span></tt>) when building the
+shared library. This macro instructs the library headers to
+<tt class="docutils literal"><span class="pre">dllexport</span></tt> everything that needs to be exported. We can do this with
+variant-specific compile flags, e.g.,</p>
+<div class="highlight-python"><pre>boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ )</pre>
+</div>
+<p>When building a shared library, the <tt class="docutils literal"><span class="pre">SHARED_COMPILE_FLAGS</span></tt> options
+will be combined with the <tt class="docutils literal"><span class="pre">COMPILE_FLAGS</span></tt> options. When building a
+static library, the <tt class="docutils literal"><span class="pre">SHARED_COMPILE_FLAGS</span></tt> options will be
+ignored. There are other options that can be specified per-feature,
+such as <tt class="docutils literal"><span class="pre">LINK_FLAGS</span></tt> and <tt class="docutils literal"><span class="pre">LINK_LIBS</span></tt>; refer to the
+<a class="reference external" href="reference/boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a> reference for more
+information.</p>
+</div>
+<div class="section" id="linking-to-other-boost-libraries">
+<h2>Linking to Other Boost Libraries<a class="headerlink" href="#linking-to-other-boost-libraries" title="Permalink to this headline">¶</a></h2>
+<p>Some Boost libraries depends on other Boost libraries. For example,
+perhaps our library uses the Boost.Filesystem library under the
+hood. We can use the <tt class="docutils literal"><span class="pre">DEPENDS</span></tt> feature of the
+<a class="reference external" href="reference/boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a> to state which libraries our library
+depends on. In this example, we&#8217;ll link against <tt class="docutils literal"><span class="pre">boost_filesystem</span></tt>:</p>
+<div class="highlight-python"><pre>boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ )</pre>
+</div>
+<p>Now, each variant of the <tt class="docutils literal"><span class="pre">boost_libname</span></tt> library will link against
+the appropriate <tt class="docutils literal"><span class="pre">boost_filesystem</span></tt> library variant. Whenever
+<tt class="docutils literal"><span class="pre">boost_filesystem</span></tt> changes, our library will be relinked
+appropriately.</p>
+</div>
+<div class="section" id="linking-external-libraries-optional-sources">
+<h2>Linking External Libraries/Optional Sources<a class="headerlink" href="#linking-external-libraries-optional-sources" title="Permalink to this headline">¶</a></h2>
+<p>Sometimes, Boost libraries need to link against other libraries
+supplied by the system. The primary challenge in linking against these
+libraries is <em>finding</em> those libraries, and their associated headers,
+on the system. If the library is found, we usually want to pass some
+extra compilation flags to our library and add in additional
+sources. Otherwise, we just skip these extra sources.</p>
+<p>CMake already contains modules that search for many common system
+libraries and tools; search the
+[<a class="reference external" href="http://www.cmake.org/HTML/Documentation.html">http://www.cmake.org/HTML/Documentation.html</a> CMake Documentation] for
+existing modules that do what you need. For example, say we want to
+link against the system&#8217;s <tt class="docutils literal"><span class="pre">PNG</span></tt> (portable network graphics) library.
+We can use the supplied <tt class="docutils literal"><span class="pre">FindPNG</span></tt> module by adding the following
+early in our <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt> file:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">include</span><span class="p">(</span><span class="n">FindPNG</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>Documentation for CMake modules is typically found in the module file
+itself. Look into the <tt class="docutils literal"><span class="pre">Modules</span></tt> subdirectory of your CMake
+installation, either in <tt class="docutils literal"><span class="pre">Program</span> <span class="pre">Files\CMake</span></tt> (on Windows) or
+<tt class="docutils literal"><span class="pre">/usr/share/cmake-version</span></tt> (on Unix variants) to find the module of
+the same name. The module will typically set a variable that indicates
+whether the library was found. For the <tt class="docutils literal"><span class="pre">FindPNG</span></tt> module, this variable
+is called <tt class="docutils literal"><span class="pre">PNG_FOUND</span></tt>. We can use this variable to optionally add
+sources to a variable <tt class="docutils literal"><span class="pre">EXTRA_SOURCES</span></tt>:</p>
+<div class="highlight-python"><pre>include(FindPNG)
+set(EXTRA_SOURCES)
+if (PNG_FOUND)
+ list(APPEND EXTRA_SOURCES png.cpp)
+endif (PNG_FOUND)</pre>
+</div>
+<p>CMake modules also typically define macros specifying the include
+directories needed for the library, any compile-time definitions
+required to use the library, and linking information for the library
+binary. For the <tt class="docutils literal"><span class="pre">FindPNG</span></tt> module, these variables are called
+<tt class="docutils literal"><span class="pre">PNG_INCLUDE_DIR</span></tt>, <tt class="docutils literal"><span class="pre">PNG_DEFINITIONS</span></tt> and <tt class="docutils literal"><span class="pre">PNG_LIBRARY</span></tt>, respectively.</p>
+<p>The include directory should be added via the CMake
+<tt class="docutils literal"><span class="pre">include_directories</span></tt> macro, e.g.,</p>
+<div class="highlight-python"><pre>include_directories(${PNG_INCLUDE_DIR})</pre>
+</div>
+<p>The <tt class="docutils literal"><span class="pre">PNG_DEFINITIONS</span></tt> value should be added to the <tt class="docutils literal"><span class="pre">COMPILE_FLAGS</span></tt>
+and the <tt class="docutils literal"><span class="pre">PNG_LIBRARIES</span></tt> value to the <tt class="docutils literal"><span class="pre">LINK_LIBS</span></tt> option to the
+<a class="reference external" href="reference/boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a>. Using these features together, we can
+search for the <tt class="docutils literal"><span class="pre">PNG</span></tt> library on the system and optionally include
+PNG support into our library:</p>
+<div class="highlight-python"><pre>include(FindPNG)
+set(EXTRA_SOURCES)
+if (PNG_FOUND)
+ include_directories(${PNG_PNG_INCLUDE_DIR})
+ list(APPEND EXTRA_SOURCES png.cpp)
+endif (PNG_FOUND)
+
+boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ ${EXTRA_SOURCES}
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1 ${PNG_DEFINITIONS}"
+ LINK_LIBS "${PNG_LIBRARIES}"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ )</pre>
+</div>
+<p>If CMake does not provide a module to search for the library you need,
+don&#8217;t worry! You can write your own module relatively easily,
+following the examples from the CMake <tt class="docutils literal"><span class="pre">Modules</span></tt> directory or some of
+the Boost-specific examples, such as
+<a class="reference external" href="http://svn.boost.org/svn/boost/branches/release/tools/build/CMake/FindICU.cmake">http://svn.boost.org/svn/boost/branches/release/tools/build/CMake/FindICU.cmake</a>
+For a real-life example of finding system libraries and using that
+information to add optional, extra capabilities to a Boost library,
+check out the build rules for the Boost.IOStreams library at
+<a class="reference external" href="http://svn.boost.org/svn/boost/branches/release/libs/iostreams/src/CMakeLists.txt">http://svn.boost.org/svn/boost/branches/release/libs/iostreams/src/CMakeLists.txt</a></p>
+</div>
+<div class="section" id="build-variants">
+<span id="index-0"></span><h2>Build Variants<a class="headerlink" href="#build-variants" title="Permalink to this headline">¶</a></h2>
+<p>The Boost build system defines many different <a class="reference external" href="build_variants.html#variants"><em>Build Variants and Features</em></a>, which
+describe specific properties of certain builds. For example, the
+<tt class="docutils literal"><span class="pre">SHARED</span></tt> feature indicates that we are building a shared library,
+while the <tt class="docutils literal"><span class="pre">MULTI_THREADED</span></tt> feature indicates that we are building a
+multi-threaded library. A specific set of features is called a
+<tt class="docutils literal"><span class="pre">````variant````</span></tt>, e.g., <tt class="docutils literal"><span class="pre">RELEASE</span></tt> and <tt class="docutils literal"><span class="pre">MULTI_THREADED</span></tt> and
+<tt class="docutils literal"><span class="pre">SHARED</span></tt>. By default, the CMake-based build system builds several
+different variants of each Boost library.</p>
+<p>Since some features conflict with certain libraries (a threading
+library cannot be <tt class="docutils literal"><span class="pre">SINGLE_THREADED</span></tt>!), one can pass additional flags
+to <a class="reference external" href="reference/boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a> stating which features should the library
+cannot be built with. For example, say that our library cannot be
+built as a multi-threaded library, because it uses thread-unsafe
+routines from the underlying C library. To disable multi-threaded
+variants of the library, pass the option <tt class="docutils literal"><span class="pre">NOT_MULTI_THREADED</span></tt>:</p>
+<div class="highlight-python"><pre>boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ NOT_MULTI_THREADED
+ )</pre>
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="testing.html" title="Testing"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="add_boost_library.html" title="Adding a Library Project"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/adding_regression_tests.html b/tools/build/CMake/docs/build/html/adding_regression_tests.html
new file mode 100644
index 0000000..eceeb4b
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/adding_regression_tests.html
@@ -0,0 +1,211 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Adding Regression Tests &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Building a Binary Installer" href="build_installer.html" />
+ <link rel="prev" title="Testing" href="testing.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="build_installer.html" title="Building a Binary Installer"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="testing.html" title="Testing"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="testing.html"
+ title="previous chapter">Testing</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="build_installer.html"
+ title="next chapter">Building a Binary Installer</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/adding_regression_tests.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="adding-regression-tests">
+<span id="index-1"></span><span id="id1"></span><h1>Adding Regression Tests<a class="headerlink" href="#adding-regression-tests" title="Permalink to this headline">¶</a></h1>
+<p>This page describes how to add regression tests for a Boost library in
+the CMake-based build system. Before adding regression tests, make
+sure you have already followed the directions for
+<a class="reference external" href="reference/boost_library_project.html#boost-library-project-macro"><em>boost_library_project</em></a> , so that the CMake system
+recognizes your Boost library project, and (if necessary)
+<a class="reference external" href="add_compiled_library.html#add-compiled-library"><em>Adding a Compiled Library to CMake</em></a>. We also assume that you have already
+configured your build tree for regression testing of your library, by
+adding your library project&#8217;s name to the <a class="reference external" href="testing.html#build-tests"><em>BUILD_TESTS</em></a> option
+described in the section <a class="reference external" href="testing.html#testing"><em>Testing</em></a>.</p>
+<p>In this page, we will assume that your library resides in the
+subdirectory <tt class="docutils literal"><span class="pre">libs/libname</span></tt>, and that tests for this library are
+stored in <tt class="docutils literal"><span class="pre">libs/libname/test</span></tt>. The test directory should be listed
+via <a class="reference external" href="reference/boost_library_project.html#testdirs"><em>TESTDIRS</em></a> in the call of
+<a class="reference external" href="reference/boost_library_project.html#boost-library-project-macro"><em>boost_library_project</em></a>. Follow these steps to add this new
+library into Boost&#8217;s build system. If your library has multiple
+testing directories listed after <a class="reference external" href="reference/boost_library_project.html#testdirs"><em>TESTDIRS</em></a>, follow these steps for
+each one.</p>
+<ol class="arabic">
+<li><p class="first">Create a new file <tt class="docutils literal"><span class="pre">libs/libname/test/CMakeLists.txt</span></tt> file with
+your favorite text editor. This file will contain instructions for
+building and running each of the regression tests for your library.</p>
+</li>
+<li><p class="first">If your regression test depends on any other part of boost then
+you will need to inform the build system of such with the
+following line:</p>
+<div class="highlight-python"><pre>boost_additional_test_dependencies(libname BOOST_DEPENDS test fusion)</pre>
+</div>
+<p>where &#8216;libname&#8217; is the name of your library that you are testing.</p>
+</li>
+<li><p class="first">For each test that only needs to be compiled (but not executed),
+add a <tt class="docutils literal"><span class="pre">compile</span></tt> or <tt class="docutils literal"><span class="pre">compile_fail</span></tt> test using the
+<a class="reference external" href="reference/boost_test_compile.html#boost-test-compile"><em>boost_test_compile</em></a> or <a class="reference external" href="reference/boost_test_compile_fail.html#boost-test-compile-fail"><em>boost_test_compile_fail</em></a>
+macros, respectively. The most basic usage of these macros
+provides only the test name, e.g.,</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">boost_test_compile</span><span class="p">(</span><span class="n">compile_test</span><span class="p">)</span>
+<span class="n">boost_test_compile_fail</span><span class="p">(</span><span class="n">compile_fail_test</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>This code will create two regression tests. The first,
+<tt class="docutils literal"><span class="pre">compile_test</span></tt>, will try to compile the source file
+<tt class="docutils literal"><span class="pre">compile_test.cpp</span></tt> in the current source directory. If the
+compile is successful, the regression test passes. If the compile
+fails, the regression test fails. The second regression test works
+the opposite way: it will try to compile
+<tt class="docutils literal"><span class="pre">compile_fail_test.cpp</span></tt>: if the compilation is successful, the
+regression test fails. When you run the regression tests (e.g., by
+calling <tt class="docutils literal"><span class="pre">ctest</span></tt> from the build directory), the regression tests
+will execute and produce output like the following:</p>
+<div class="highlight-python"><pre>Running tests...
+Start processing tests
+Test project /Users/dgregor/Projects/boost-darwin
+ 1/ 2 Testing libname::compile_test Passed
+ 2/ 2 Testing libname::compile_fail_test ***Failed - supposed to fail
+
+100% tests passed, 0 tests failed out of 2</pre>
+</div>
+</li>
+</ol>
+<ol class="arabic" start="3">
+<li><p class="first">For any tests that need to be built and executed, use the
+<a class="reference external" href="reference/boost_test_run.html#boost-test-run"><em>boost_test_run</em></a> or <a class="reference external" href="reference/boost_test_run_fail.html#boost-test-run-fail"><em>boost_test_run_fail</em></a> macros. Both
+tests will build, link and execute a regression test. The
+<a class="reference external" href="reference/boost_test_run.html#boost-test-run"><em>boost_test_run</em></a> macro expects that executable to return an
+exit code of zero, while the <a class="reference external" href="reference/boost_test_run_fail.html#boost-test-run-fail"><em>boost_test_run_fail</em></a> macro
+expects that executable to return a non-zero exit code. For
+example, we might build a simple test <tt class="docutils literal"><span class="pre">simple_test</span></tt> from the
+source file <tt class="docutils literal"><span class="pre">simple_test.cpp</span></tt>:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">boost_test_run</span><span class="p">(</span><span class="n">simple_test</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>Often, we&#8217;ll want to link against our own Boost library, which we
+do using the <tt class="docutils literal"><span class="pre">DEPENDS</span></tt> argument to <tt class="docutils literal"><span class="pre">boost_test_run</span></tt>:</p>
+<div class="highlight-python"><pre>boost_test_run(big_test big_test1.cpp big_test2.cpp
+ DEPENDS boost_libname-static
+ )</pre>
+</div>
+<p>Here, we have created a test <tt class="docutils literal"><span class="pre">big_test</span></tt>, built from the source
+files <tt class="docutils literal"><span class="pre">big_test1.cpp</span></tt> and <tt class="docutils literal"><span class="pre">big_test2.cpp</span></tt>, which will link
+against the static library for <tt class="docutils literal"><span class="pre">boost_libname</span></tt>. We could create
+a similar test that links against the shared library for
+<tt class="docutils literal"><span class="pre">boost_libname</span></tt>, passing along compilation flags specific to the
+shared library:</p>
+<div class="highlight-python"><pre>boost_test_run(big_test_dll big_test1.cpp big_test2.cpp
+ DEPENDS boost_libname-shared
+ COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ )</pre>
+</div>
+<p>Some tests require command-line arguments. For example, say we
+want to pass <tt class="docutils literal"><span class="pre">-loop</span> <span class="pre">1000</span></tt> to a randomized test. We can do so
+using the <tt class="docutils literal"><span class="pre">ARGS</span></tt> argument to <tt class="docutils literal"><span class="pre">boost_test_run</span></tt> (or
+<tt class="docutils literal"><span class="pre">boost_test_run_fail</span></tt>):</p>
+<div class="highlight-python"><pre>boost_test_run(random_test ARGS "-loop" "1000" DEPENDS boost_libname-static)</pre>
+</div>
+<p>Once you have finished describing your regression tests to the
+CMake system, you&#8217;re done! Your library will now build, test, and
+install with CMake and this behavior should be portable across
+many different platforms.</p>
+</li>
+</ol>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="build_installer.html" title="Building a Binary Installer"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="testing.html" title="Testing"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/build_configuration.html b/tools/build/CMake/docs/build/html/build_configuration.html
new file mode 100644
index 0000000..fa1c9be
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/build_configuration.html
@@ -0,0 +1,369 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Configuring the buildspace &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Build Variants and Features" href="build_variants.html" />
+ <link rel="prev" title="Quickstart" href="quickstart.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="build_variants.html" title="Build Variants and Features"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="quickstart.html" title="Quickstart"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Configuring the buildspace</a><ul>
+<li><a class="reference external" href="#configuration-tools">Configuration tools</a></li>
+</ul>
+</li>
+<li><a class="reference external" href="#cmakecache-txt">CMakeCache.txt</a><ul>
+<li><a class="reference external" href="#cmake-binary-dir">CMAKE_BINARY_DIR</a></li>
+<li><a class="reference external" href="#a-few-useful-options">A few useful options</a><ul>
+<li><a class="reference external" href="#cmake-osx-architectures">CMAKE_OSX_ARCHITECTURES</a></li>
+<li><a class="reference external" href="#winmangle-libnames">WINMANGLE_LIBNAMES</a></li>
+<li><a class="reference external" href="#build-projects">BUILD_PROJECTS</a></li>
+<li><a class="reference external" href="#build-examples">BUILD_EXAMPLES</a></li>
+<li><a class="reference external" href="#build-tools">BUILD_TOOLS</a></li>
+<li><a class="reference external" href="#cmake-verbose-makefile">CMAKE_VERBOSE_MAKEFILE</a></li>
+<li><a class="reference external" href="#cmake-cxx-compiler">CMAKE_CXX_COMPILER</a></li>
+<li><a class="reference external" href="#build-soversioned">BUILD_SOVERSIONED</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="quickstart.html"
+ title="previous chapter">Quickstart</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="build_variants.html"
+ title="next chapter">Build Variants and Features</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/build_configuration.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="configuring-the-buildspace">
+<span id="configure-and-build"></span><h1>Configuring the buildspace<a class="headerlink" href="#configuring-the-buildspace" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="configuration-tools">
+<h2>Configuration tools<a class="headerlink" href="#configuration-tools" title="Permalink to this headline">¶</a></h2>
+<p>Included in the standard cmake distribution are the Windows <cite>CMake</cite>
+gui and the unix <cite>ccmake</cite> curses interface, which allow one to
+configure various aspects of the cmake build. On Microsoft Windows
+run the CMake configuration program from the Start menu.</p>
+<p>Having done the initial configuration step as in <a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>,
+on unix run:</p>
+<div class="highlight-python"><pre>make edit_cache</pre>
+</div>
+<p>in the binary directory. On windows just run the cmake gui and choose
+the binary dir from the pulldown menu. You will be presented with a list of editable build options something
+like this:</p>
+<div class="highlight-python"><pre>BOOST_PLATFORM linux
+BUILD_BCP ON
+BUILD_BOOST_WSERIALIZATION ON
+BUILD_EXAMPLES NONE
+BUILD_INSPECT ON
+BUILD_TESTS NONE
+CMAKE_BUILD_TYPE Release
+CMAKE_INSTALL_PREFIX /usr/local
+DART_TESTING_TIMEOUT 15
+DEBUG_COMPILE_FLAGS -g
+DOCBOOK_AUTOCONFIG OFF
+DOCBOOK_DTD_DIR DOCBOOK_DTD_DIR-NOTFOUND
+DOCBOOK_XSL_DIR DOCBOOK_XSL_DIR-NOTFOUND
+ENABLE_DEBUG ON
+ENABLE_MULTI_THREADED ON
+ENABLE_RELEASE ON
+ENABLE_SHARED ON
+ENABLE_SINGLE_THREADED OFF
+ENABLE_STATIC ON
+RELEASE_COMPILE_FLAGS -O3 -DNDEBUG
+UNZIP /usr/bin/unzip
+WINMANGLE_LIBNAMES OFF
+XSLTPROC /usr/bin/xsltproc
+XSLTPROC_FLAGS --xinclude</pre>
+</div>
+<p>On windows, the configurables will be right in the middle of the gui;
+can&#8217;t miss &#8216;em. Note the <tt class="docutils literal"><span class="pre">[t]</span></tt> key to toggle &#8216;advanced mode&#8217; which
+will show more options (on windows this is a selection box that says
+<tt class="docutils literal"><span class="pre">Simple</span> <span class="pre">View</span></tt> by default, pull it down to see Advanced and Grouped
+views).</p>
+<p>Use the arrow keys to select particular options. Press <tt class="docutils literal"><span class="pre">c</span></tt> (for
+(c)onfigure) to perform the preliminary configuration of the CMake
+build system when you are done. When the options you have selected
+have stabilized, CMake will give you the (g)enerate option. If you do
+not see this option, press <tt class="docutils literal"><span class="pre">c</span></tt> again to reconfigure. Try the
+<tt class="docutils literal"><span class="pre">t</span></tt> key to see more options. When you&#8217;re done press <tt class="docutils literal"><span class="pre">g</span></tt> to
+generate makefiles and exit.</p>
+<p>See <a class="reference external" href="build_variants.html#variants"><em>Build Variants and Features</em></a> for information about the feature-specific options
+(ie <tt class="docutils literal"><span class="pre">ENABLE_whatever</span></tt> listed above.)</p>
+</div>
+</div>
+<div class="section" id="cmakecache-txt">
+<span id="id1"></span><h1>CMakeCache.txt<a class="headerlink" href="#cmakecache-txt" title="Permalink to this headline">¶</a></h1>
+<p>The same information is stored in a file <cite>CMakeCache.txt</cite> located in
+the build directory. For this reason, after you&#8217;ve done the initial
+configuration of a build directory you can invoke <cite>ccmake</cite> like this:</p>
+<div class="highlight-python"><pre>ccmake &lt;path-to-build&gt;</pre>
+</div>
+<p>or have the makefiles do it for you:</p>
+<div class="highlight-python"><pre>make edit_cache</pre>
+</div>
+<p>The CMakeCache.txt file is hand-editable, though this is usually not
+as convenient as the cmake-supplied configuration tools mentioned
+above. An excerpt of this file:</p>
+<div class="highlight-python"><pre>//
+// Enable/Disable color output during build.
+//
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//
+// Mangle lib names for windows, e.g., boost_filesystem-gcc41-1_34
+//
+WINMANGLE_LIBNAMES:BOOL=ON</pre>
+</div>
+<p>On unix, (?windows too?) the generated makefiles will detect if this
+file has been edited and will automatically rerun the makefile
+generation phase. If you should need to trigger this regeneration
+manually you may execute</p>
+<div class="highlight-python"><pre>make rebuild_cache</pre>
+</div>
+<p class="rubric">Deleting the cache</p>
+<p>You may find yourself wanting to start from scratch, for instance if
+you want to switch from using Visual Studio to using NMake. To do
+this, <strong>delete the cache file</strong>. On windows, there is a <em>Delete
+Cache</em> option in the CMake gui&#8217;s <em>File</em> menu. On unix you can simply
+<tt class="docutils literal"><span class="pre">rm</span> <span class="pre">CMakeCache.txt</span></tt>.</p>
+<div class="section" id="cmake-binary-dir">
+<span id="index-2"></span><span id="id2"></span><h2>CMAKE_BINARY_DIR<a class="headerlink" href="#cmake-binary-dir" title="Permalink to this headline">¶</a></h2>
+<p>This variable is set by cmake and corresponds to the toplevel of your
+<tt class="docutils literal"><span class="pre">build/</span></tt> directory.</p>
+</div>
+<div class="section" id="a-few-useful-options">
+<span id="useful-options"></span><h2>A few useful options<a class="headerlink" href="#a-few-useful-options" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="cmake-osx-architectures">
+<h3>CMAKE_OSX_ARCHITECTURES<a class="headerlink" href="#cmake-osx-architectures" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+<dl class="docutils">
+<dt><em>Mac OS X users</em>: to build universal binaries, set this to</dt>
+<dd><tt class="docutils literal"><span class="pre">ppc;i386</span></tt>.</dd>
+</dl>
+</blockquote>
+</div>
+<div class="section" id="winmangle-libnames">
+<span id="index-3"></span><span id="id3"></span><h3>WINMANGLE_LIBNAMES<a class="headerlink" href="#winmangle-libnames" title="Permalink to this headline">¶</a></h3>
+<p>This option controls whether libraries will be built with mangled-in
+compiler name/version and boost version. For example, with
+<tt class="docutils literal"><span class="pre">BUILD_VERSIONED</span></tt> set to <tt class="docutils literal"><span class="pre">OFF</span></tt>, the signals library looks like
+this:</p>
+<div class="highlight-python"><pre>% ls lib/*signals*
+lib/libboost_signals-mt-d.a lib/libboost_signals-mt.a
+lib/libboost_signals-mt-d.so* lib/libboost_signals-mt.so*</pre>
+</div>
+<p>But with it on, (on a gcc 4.3 linux box):</p>
+<div class="highlight-python"><pre>% ls lib/*signal*
+lib/libboost_signals-gcc43-mt-1_40.a
+lib/libboost_signals-gcc43-mt-d-1_40.a
+lib/libboost_signals-gcc43-mt-1_40.so*
+lib/libboost_signals-gcc43-mt-d-1_40.so*</pre>
+</div>
+<p>Historically this mangling has been convenient for windows users and a
+bane to unix users, thus <em>winmangle_libnames</em>.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The on-disk names of library <a class="reference external" href="build_variants.html#variants"><em>variants</em></a> are
+always mangled with the active <a class="reference external" href="build_variants.html#features"><em>features</em></a>.
+<tt class="docutils literal"><span class="pre">WINMANGLED_LIBNAMES</span></tt> affects mangling of compiler and boost
+version only.</p>
+</div>
+</div>
+<div class="section" id="build-projects">
+<span id="index-4"></span><span id="id4"></span><h3>BUILD_PROJECTS<a class="headerlink" href="#build-projects" title="Permalink to this headline">¶</a></h3>
+<p>This is a semicolon-separated list of projects to be built, or
+<tt class="docutils literal"><span class="pre">&quot;ALL&quot;</span></tt> (the default) for all projects, or <tt class="docutils literal"><span class="pre">&quot;NONE&quot;</span></tt>. Projects not
+appearing in this list (if list not <tt class="docutils literal"><span class="pre">&quot;ALL&quot;</span></tt>) are ignored; no targets in
+this project will appear. Example:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">BUILD_PROJECTS</span><span class="o">=</span><span class="n">thread</span><span class="p">;</span><span class="n">python</span>
+</pre></div>
+</div>
+<p>See also the <a class="reference external" href="reference/boost_library_project.html#boost-library-project-macro"><em>boost_library_project</em></a> macro.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p>If you specify a project with link time dependencies on other
+projects, e.g. <tt class="docutils literal"><span class="pre">filesystem</span></tt>, (which depends on <tt class="docutils literal"><span class="pre">system</span></tt>) and
+omit the dependencies, you will get an error from cmake something
+like this:</p>
+<div class="last highlight-python"><pre>CMake Error at tools/build/CMake/BoostCore.cmake:736 (get_property):
+ get_property could not find TARGET boost_system-mt-shared. Perhaps it has
+ not yet been created.
+Call Stack (most recent call first):
+ tools/build/CMake/BoostCore.cmake:1170 (boost_library_variant)
+ libs/filesystem/src/CMakeLists.txt:7 (boost_add_library)</pre>
+</div>
+</div>
+</div>
+<div class="section" id="build-examples">
+<span id="index-5"></span><span id="id5"></span><h3>BUILD_EXAMPLES<a class="headerlink" href="#build-examples" title="Permalink to this headline">¶</a></h3>
+<p>This is a semicolon-separated list of projects whose examples should
+be built, e.g.:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">BUILD_EXAMPLES</span><span class="o">=</span><span class="s">&quot;iostreams;accumulators&quot;</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">If you pass this on the commandline in a unix shell,
+don&#8217;t forget to quote the list of arguments or escape the
+semicolons...</p>
+</div>
+<p>Per-library examples are specified with the <a class="reference external" href="reference/boost_library_project.html#exampledirs"><em>EXAMPLEDIRS</em></a>
+argument to the <a class="reference external" href="reference/boost_library_project.html#boost-library-project-macro"><em>boost_library_project</em></a> macro.</p>
+<p class="rubric">Note:</p>
+<p>A project&#8217;s examples will only be built if the project appears in
+<strong>both</strong> <a class="reference internal" href="#build-projects"><em>BUILD_PROJECTS</em></a> and <a class="reference internal" href="#build-examples"><em>BUILD_EXAMPLES</em></a>. I.e., the
+<tt class="docutils literal"><span class="pre">BUILD_PROJECTS</span></tt> filter is applied first, and the <tt class="docutils literal"><span class="pre">BUILD_EXAMPLES</span></tt>
+filter has no ability to reverse the result.</p>
+</div>
+<div class="section" id="build-tools">
+<span id="index-6"></span><span id="id6"></span><h3>BUILD_TOOLS<a class="headerlink" href="#build-tools" title="Permalink to this headline">¶</a></h3>
+<p>Similar to BUILD_EXAMPLES and BUILD_PROJECTS above, this is a
+semicolon-separated list of tools (in subdirectory
+<tt class="docutils literal"><span class="pre">$BOOST_ROOT/tools/</span></tt>) that should be built, e.g.:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">BUILD_TOOLS</span><span class="o">=</span><span class="n">quickbook</span><span class="p">;</span><span class="n">wave</span>
+</pre></div>
+</div>
+<p><tt class="docutils literal"><span class="pre">&quot;ALL&quot;</span></tt> will build all tools, <tt class="docutils literal"><span class="pre">&quot;NONE&quot;</span></tt> will build none. Note that
+the values here are lowercase (only subdirectories of <tt class="docutils literal"><span class="pre">tools/</span></tt>
+matching one of the strings in the list will be traversed by cmake).</p>
+</div>
+<div class="section" id="cmake-verbose-makefile">
+<span id="index-7"></span><h3>CMAKE_VERBOSE_MAKEFILE<a class="headerlink" href="#cmake-verbose-makefile" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+Displays full build commands during build. Good for debugging.
+This option will generate permanently verbose makefiles; it is
+generally easier to invoke make with the option <tt class="docutils literal"><span class="pre">VERBOSE=1</span></tt>
+instead (this has the same effect, but is not persistent).</blockquote>
+</div>
+<div class="section" id="cmake-cxx-compiler">
+<span id="index-8"></span><span id="id7"></span><h3>CMAKE_CXX_COMPILER<a class="headerlink" href="#cmake-cxx-compiler" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+<p>Sets the compiler. If you have a nonstandard compiler and no
+default compiler, you may have to pass the value of this option on
+the commandline, for example:</p>
+<div class="highlight-python"><pre>cmake ../src -DCMAKE_CXX_COMPILER=gcc-4.4</pre>
+</div>
+<p>On windows you can set this in the gui, but you will probably prefer
+to have cmake generate a set of nmake or project files by choosing
+an appropriate generator.</p>
+</blockquote>
+<span class="target" id="index-9"></span><span class="target" id="index-10"></span></div>
+<div class="section" id="build-soversioned">
+<span id="index-11"></span><span id="id8"></span><h3>BUILD_SOVERSIONED<a class="headerlink" href="#build-soversioned" title="Permalink to this headline">¶</a></h3>
+<p>Enables the setting of SOVERSION in built libraries. If
+this is on:</p>
+<div class="highlight-python"><pre>% ls -l libboost_thread*.so*
+lrwxrwxrwx 1 troy troy 30 Oct 29 18:37 libboost_thread-mt-d.so -&gt; libboost_thread-mt-d.so.1.41.0*
+-rwxr-xr-x 1 troy troy 571361 Oct 29 18:37 libboost_thread-mt-d.so.1.41.0*
+lrwxrwxrwx 1 troy troy 28 Oct 29 18:37 libboost_thread-mt.so -&gt; libboost_thread-mt.so.1.41.0*
+-rwxr-xr-x 1 troy troy 114963 Oct 29 18:37 libboost_thread-mt.so.1.41.0*
+
+% readelf -a libboost_thread-mt.so | grep SONAME
+ 0x000000000000000e (SONAME) Library soname: [libboost_thread-mt.so.1.41.0]</pre>
+</div>
+<p>and if off:</p>
+<div class="highlight-python"><pre>% ls -l lib/*signals*
+-rwxr-xr-x 1 troy troy 835522 Oct 29 15:10 lib/libboost_signals-mt-d.so*
+-rwxr-xr-x 1 troy troy 121886 Oct 29 15:10 lib/libboost_signals-mt.so*</pre>
+</div>
+<p>(Unix only, <tt class="docutils literal"><span class="pre">ON</span></tt> by default)</p>
+<p>This setting also determines whether libraries are <em>installed</em>
+with/without soversions. See also <a class="reference external" href="install_customization.html#install-versioned"><em>INSTALL_VERSIONED</em></a>.</p>
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="build_variants.html" title="Build Variants and Features"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="quickstart.html" title="Quickstart"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/build_installer.html b/tools/build/CMake/docs/build/html/build_installer.html
new file mode 100644
index 0000000..a776923
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/build_installer.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Building a Binary Installer &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Notes by Boost Version" href="notes_by_version.html" />
+ <link rel="prev" title="Adding Regression Tests" href="adding_regression_tests.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="notes_by_version.html" title="Notes by Boost Version"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="adding_regression_tests.html" title="Adding Regression Tests"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="adding_regression_tests.html"
+ title="previous chapter">Adding Regression Tests</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="notes_by_version.html"
+ title="next chapter">Notes by Boost Version</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/build_installer.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="building-a-binary-installer">
+<h1>Building a Binary Installer<a class="headerlink" href="#building-a-binary-installer" title="Permalink to this headline">¶</a></h1>
+<p>CMake can easily build binary installers for a variety of
+platforms. On Windows and Mac OS X, CMake builds graphical
+installation programs. For other Unix operating systems, CMake
+currently builds tarballs and self-installing shell scripts. This
+CMake functionality, provided by the
+<a class="reference external" href="http://www.cmake.org/Wiki/CMake:Packaging_With_CPack">CPack</a> program
+that is part of CMake, is used to create all of CMake&#8217;s binary
+installers. We use CPack to build binary installers for Boost. To
+build a binary installer for Boost, follow these steps:</p>
+<ol class="arabic simple">
+<li>Build Boost using CMake. (see <a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>)</li>
+<li>(&#8216;&#8217;&#8216;Windows only&#8217;&#8216;&#8217;) Download and install the <a class="reference external" href="http://nsis.sourceforge.net/Main_Page">Nullsoft Scriptable
+Install System (NSIS)</a>,
+which is used to create graphical installers on Windows. Unix users
+do not need to install any extra tools.</li>
+<li>Using the same development tools for building Boost, build the
+&#8220;package&#8221; target to create the binary installers.<ul>
+<li>With Microsoft Visual Studio, build the target named <tt class="docutils literal"><span class="pre">PACKAGE</span></tt></li>
+<li>With makefiles, run ` make package``.</li>
+</ul>
+</li>
+</ol>
+<p>The output of the packaging process will be one or more binary
+packages of the form Boost-<em>version</em>-<em>platform</em>.*extension*. The
+type of package will differ from one platform to another:</p>
+<ul class="simple">
+<li>On Windows: The primary output is an executable (<tt class="docutils literal"><span class="pre">.exe</span></tt>) that
+provides a graphical installer.</li>
+<li>On Mac OS X: The primary output is a disk image (<tt class="docutils literal"><span class="pre">.dmg</span></tt>) that
+contains a graphical installer package.</li>
+<li>On Unix: Packaging produces compressed tarballs (<tt class="docutils literal"><span class="pre">.tar.gz</span></tt>) and
+a self-installing shell script (<tt class="docutils literal"><span class="pre">.sh</span></tt>)</li>
+</ul>
+<p>Windows installer:</p>
+<img alt="_images/WindowsInstaller.png" src="_images/WindowsInstaller.png" />
+<p>Mac installer:</p>
+<img alt="_images/MacInstaller.png" src="_images/MacInstaller.png" />
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="notes_by_version.html" title="Notes by Boost Version"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="adding_regression_tests.html" title="Adding Regression Tests"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/build_variants.html b/tools/build/CMake/docs/build/html/build_variants.html
new file mode 100644
index 0000000..c4f8aa9
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/build_variants.html
@@ -0,0 +1,381 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Build Variants and Features &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Tricks for Building against Boost with CMake" href="exported_targets.html" />
+ <link rel="prev" title="Configuring the buildspace" href="build_configuration.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="exported_targets.html" title="Tricks for Building against Boost with CMake"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="build_configuration.html" title="Configuring the buildspace"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Build Variants and Features</a><ul>
+<li><a class="reference external" href="#name-mangling">Name Mangling</a></li>
+<li><a class="reference external" href="#configuring-features">Configuring features</a><ul>
+<li><a class="reference external" href="#enable-static">ENABLE_STATIC</a></li>
+<li><a class="reference external" href="#enable-shared">ENABLE_SHARED</a></li>
+<li><a class="reference external" href="#enable-debug">ENABLE_DEBUG</a></li>
+<li><a class="reference external" href="#enable-release">ENABLE_RELEASE</a></li>
+<li><a class="reference external" href="#enable-single-threaded">ENABLE_SINGLE_THREADED</a></li>
+<li><a class="reference external" href="#enable-multi-threaded">ENABLE_MULTI_THREADED</a></li>
+<li><a class="reference external" href="#enable-static-runtime">ENABLE_STATIC_RUNTIME</a></li>
+<li><a class="reference external" href="#enable-dynamic-runtime">ENABLE_DYNAMIC_RUNTIME</a></li>
+</ul>
+</li>
+<li><a class="reference external" href="#per-feature-compilation-and-linker-options">Per-feature Compilation and Linker Options</a><ul>
+<li><a class="reference external" href="#feature-compile-flags">feature_COMPILE_FLAGS</a></li>
+<li><a class="reference external" href="#feature-link-flags">feature_LINK_FLAGS</a></li>
+<li><a class="reference external" href="#feature-link-libs">feature_LINK_LIBS</a></li>
+</ul>
+</li>
+<li><a class="reference external" href="#default-variants">Default Variants</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="build_configuration.html"
+ title="previous chapter">Configuring the buildspace</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="exported_targets.html"
+ title="next chapter">Tricks for Building against Boost with CMake</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/build_variants.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <span class="target" id="index-12"></span><div class="section" id="build-variants-and-features">
+<span id="features"></span><span id="variants"></span><span id="index-13"></span><h1>Build Variants and Features<a class="headerlink" href="#build-variants-and-features" title="Permalink to this headline">¶</a></h1>
+<p>Different compilation and linking flags affect how source code and
+libraries are compiled. Boost&#8217;s build system abstracts some of these
+properties into specific <em>features</em> of the build, which indicate (at
+a high level) what options are being used, e.g., multi-threaded,
+release-mode, shared libraries, etc. Each feature brings with it
+certain compilation options (which vary from one compiler to the next)
+that need to be used when building that variant. For example, on Unix
+systems, one often must link against the <cite>pthread</cite> library for
+multi-threaded programs and libraries, which requires the addition of
+the <cite>-lpthread</cite> flag to the link line. The &#8216;&#8217;features&#8217;&#8217; feature of the
+build system encapsulates this knowledge.</p>
+<p>A library built with a given set of <strong>features</strong> is called a library
+<strong>variant</strong>. For example, we could have a multi-threaded release variant
+of a shared library, which would be built with all of the options
+needed to support multi-threading, optimization, elimination of
+debugging symbols, and for building a shared library. Each variant of
+a library is given a unique name based on the features in that
+variant, so that one can readily identify the library, for example,
+<cite>libboost_signals-gcc40-mt-d.so</cite> is the multi-threaded, debug version
+of the shared library for Boost.Signals on a typical Linux system. The
+<a class="reference external" href="http://www.boost.org/more/getting_started/windows.html#library-naming">Boost Getting Started guide</a>
+describes the library naming conventions used for the variants.</p>
+<p>The configuration and build of the library for each <em>feature</em> is
+(dis|en)abled with a boolean option <tt class="docutils literal"><span class="pre">ENABLE_</span></tt><em>feature</em>, which set
+in <a class="reference external" href="build_configuration.html#cmakecache-txt"><em>CMakeCache.txt</em></a>. The available features are:</p>
+<div class="section" id="name-mangling">
+<span id="id1"></span><h2>Name Mangling<a class="headerlink" href="#name-mangling" title="Permalink to this headline">¶</a></h2>
+<p>Libraries have their features mangled in to distinguish the variants
+from one another. CMake&#8217;s symbolic target names correspond:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="30%" />
+<col width="23%" />
+<col width="47%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">Feature</th>
+<th class="head">Target Name</th>
+<th class="head">Library Name Component</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td>shared</td>
+<td>-shared</td>
+<td>(none)</td>
+</tr>
+<tr><td>static</td>
+<td>-static</td>
+<td>(none)</td>
+</tr>
+<tr><td>multithreaded</td>
+<td>-mt</td>
+<td>-mt</td>
+</tr>
+<tr><td>release</td>
+<td>(none)</td>
+<td>(none)</td>
+</tr>
+<tr><td>debug</td>
+<td>-debug</td>
+<td>-d</td>
+</tr>
+<tr><td>pydebug</td>
+<td>-pydebug</td>
+<td>-yd</td>
+</tr>
+</tbody>
+</table>
+<p>The make target <tt class="docutils literal"><span class="pre">help</span></tt> will show the available options:</p>
+<div class="highlight-python"><pre>``make help`` shows a list::
+
+% make help | grep signals
+... boost_signals
+... boost_signals-mt-shared
+... boost_signals-mt-shared-debug
+... boost_signals-mt-static
+... boost_signals-mt-static-debug
+... boost_signals-shared
+... boost_signals-shared-debug
+... boost_signals-static
+... boost_signals-static-debug</pre>
+</div>
+<p>And you can see the correspondence to the libraries on disk:</p>
+<div class="highlight-python"><pre>% ls lib/libboost_signals*
+lib/libboost_signals-d.a lib/libboost_signals-mt.a
+lib/libboost_signals-d.so lib/libboost_signals-mt.so
+lib/libboost_signals-mt-d.a lib/libboost_signals.a
+lib/libboost_signals-mt-d.so lib/libboost_signals.so</pre>
+</div>
+<p>(Note: on most unix you will see more than this, as some of them
+contain version numbers and are symbolic links to one another).</p>
+</div>
+<div class="section" id="configuring-features">
+<h2>Configuring features<a class="headerlink" href="#configuring-features" title="Permalink to this headline">¶</a></h2>
+<p>You can globally (en|dis)able the build of these various features
+through the following cmake variables:</p>
+<div class="section" id="enable-static">
+<span id="index-14"></span><span id="id2"></span><h3>ENABLE_STATIC<a class="headerlink" href="#enable-static" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>STATIC</cite> feature identifies static builds of libraries, i.e., a
+<cite>.lib</cite> (library) file on Microsoft Windows or a <cite>.a</cite> (archive) file
+on Unix systems.</blockquote>
+</div>
+<div class="section" id="enable-shared">
+<span id="index-15"></span><h3>ENABLE_SHARED<a class="headerlink" href="#enable-shared" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>SHARED</cite> feature identifies shared builds of libraries, i.e.,
+a <cite>.dll</cite> (dynamically linked library) file on Microsoft Windows or
+a <cite>.so`(shared object) or `.dylib</cite> (dynamic library) file on Unix
+systems. In some cases, <cite>SHARED</cite> variants actually refer to
+&#8220;modules&#8221;, which are a special kind of shared library on some
+systems (e.g., Mac OS X).</blockquote>
+</div>
+<div class="section" id="enable-debug">
+<span id="index-16"></span><h3>ENABLE_DEBUG<a class="headerlink" href="#enable-debug" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>DEBUG</cite> feature identifies builds of libraries that retain
+complete debugging information and prohibit optimization, making
+these builds far easier to use for debugging programs.</blockquote>
+</div>
+<div class="section" id="enable-release">
+<span id="index-17"></span><h3>ENABLE_RELEASE<a class="headerlink" href="#enable-release" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>RELEASE</cite> feature identifies builds of libraries that use full
+optimization and eliminate extraneous information such as debug
+symbols, resulting in builds of libraries that are typically much
+smaller than (and execute faster than) their debug library
+counterparts.</blockquote>
+</div>
+<div class="section" id="enable-single-threaded">
+<span id="index-18"></span><h3>ENABLE_SINGLE_THREADED<a class="headerlink" href="#enable-single-threaded" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>SINGLE_THREADED</cite> feature identifies builds of libraries that
+assume that the program using them is single-threaded. These
+libraries typically avoid costly atomic operations or locks, and
+make use of no multi-threaded features.</blockquote>
+</div>
+<div class="section" id="enable-multi-threaded">
+<span id="index-19"></span><h3>ENABLE_MULTI_THREADED<a class="headerlink" href="#enable-multi-threaded" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>MULTI_THREADED</cite> feature identifies builds of libraries that
+assume that the program using them is multi-threaded. These
+libraries may introduce additional code (relative to their
+single-threaded variants) that improves the behavior of the
+library in a multi-threade context, often at the cost of
+single-thread performance.</blockquote>
+</div>
+<div class="section" id="enable-static-runtime">
+<span id="index-20"></span><h3>ENABLE_STATIC_RUNTIME<a class="headerlink" href="#enable-static-runtime" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>STATIC_RUNTIME</cite> feature identifies builds that link against
+the C and C++ run-time libraries statically, which directly
+includes the code from those run-time libraries into the Boost
+library or executable.</blockquote>
+</div>
+<div class="section" id="enable-dynamic-runtime">
+<span id="index-21"></span><h3>ENABLE_DYNAMIC_RUNTIME<a class="headerlink" href="#enable-dynamic-runtime" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+The <cite>DYNAMIC_RUNTIME</cite> feature identifies builds that link against
+the dynamic C and C++ run-time libraries.</blockquote>
+</div>
+</div>
+<div class="section" id="per-feature-compilation-and-linker-options">
+<span id="per-feature-flags"></span><h2>Per-feature Compilation and Linker Options<a class="headerlink" href="#per-feature-compilation-and-linker-options" title="Permalink to this headline">¶</a></h2>
+<p>For each feature above, the Boost build system defines three variables
+used to provide compilation flags, linking flags, and extra libraries
+to link against when using that feature. These flags are automatically
+added to the build commands for variants using that feature. The
+particular flags and libraries are described by the following global
+variables:</p>
+<div class="section" id="feature-compile-flags">
+<h3>feature_COMPILE_FLAGS<a class="headerlink" href="#feature-compile-flags" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+A string containing extra flags that will be added to the compile
+line, including macro definitions and compiler-specific flags
+needed to enable this particular feature.</blockquote>
+</div>
+<div class="section" id="feature-link-flags">
+<h3>feature_LINK_FLAGS<a class="headerlink" href="#feature-link-flags" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+A string containing extra flags that will be added to the
+beginning of the link line. Note that these flags should &#8216;&#8217;&#8216;not&#8217;&#8216;&#8217;
+contain extra libraries that one needs to link against. Those
+should go into <cite>feature_LINK_LIBS</cite>.</blockquote>
+</div>
+<div class="section" id="feature-link-libs">
+<h3>feature_LINK_LIBS<a class="headerlink" href="#feature-link-libs" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+A CMake list containing the names of additional libraries that
+will be linked into libraries and executables that require this
+feature. The elements in this list should name the library (e.g.,
+<cite>pthread</cite>) rather than providing the link command itself (e.g.,
+<cite>-lpthread</cite>), so that linking will be more portable.</blockquote>
+<p>Each of these variables can be expanded for any feature, e.g.,
+<cite>MULTI_THREADED_LINK_LIBS</cite> contains libraries that multi-threaded
+variants should link against.</p>
+<p>All of the flags provided for each feature are typically detected by
+the Boost CMake configuration module in
+<tt class="docutils literal"><span class="pre">tools/build/CMake/BoostConfig.cmake</span></tt>.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">These are <strong>global</strong> per-feature flags, ie
+RELEASE_COMPILE_FLAGS defines flags used for the compilation
+of all <tt class="docutils literal"><span class="pre">.cpp</span></tt> files that go into release libraries. See
+<a class="reference external" href="reference/boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a> for per-feature flags that apply only to
+individual libraries.</p>
+</div>
+</div>
+</div>
+<div class="section" id="default-variants">
+<h2>Default Variants<a class="headerlink" href="#default-variants" title="Permalink to this headline">¶</a></h2>
+<p>By default, Boost&#8217;s build system will build every permutation of
+libraries in the feature space</p>
+<blockquote>
+(<cite>STATIC</cite> or <cite>SHARED</cite>) x (<cite>DEBUG</cite> or <cite>RELEASE</cite>) x
+(<cite>SINGLE_THREADED</cite> or <cite>MULTI_THREADED</cite>)</blockquote>
+<p>resulting in 8 different copies of each library, modulo certain cases
+where variants are disabled <a class="footnote-reference" href="#disabled-variants" id="id3">[1]</a>. On Windows, where
+the distinction between static and dynamic run-time libraries is very
+important, the default build also creates permutations with
+(<cite>STATIC_RUNTIME</cite> or <cite>DYNAMIC_RUNTIME</cite>). Certain non-sensical
+combinations of libraries will automatically be eliminated, e.g., it
+does not generally make sense to create a shared library that links
+against the static C and C++ run-time libraries. However, this still
+means that the default build creates between 8 and 12 different
+variants of each Boost library.</p>
+<p>Users who only need a few variants of each library can change which
+variants of Boost libraries are build by default using various
+configuration options. For each feature, CMake&#8217;s configuration will
+contain an option <cite>ENABLE_feature</cite>. When the feature is ON, the build
+system will produce variants with that feature. When the feature is
+OFF, the build system will suppress variants with that feature. For
+example, toggling <cite>ENABLE_DEBUG</cite> to <cite>OFF</cite> will inhibit the creation of
+the debug variants, drastically improving overall build times.</p>
+<p class="rubric">Footnotes</p>
+<table class="docutils footnote" frame="void" id="disabled-variants" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id3">[1]</a></td><td>For instance, the <strong>SINGLE_THREADED</strong> variant
+of the <em>boost_thread</em> project is disabled.</td></tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="exported_targets.html" title="Tricks for Building against Boost with CMake"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="build_configuration.html" title="Configuring the buildspace"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/diff.html b/tools/build/CMake/docs/build/html/diff.html
new file mode 100644
index 0000000..9c309ae
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/diff.html
@@ -0,0 +1,618 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Differences between this release and upstream &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Building individual libraries with cmake" href="individual_libraries.html" />
+ <link rel="prev" title="Hacking Boost.CMake with Git" href="git.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="individual_libraries.html" title="Building individual libraries with cmake"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="git.html" title="Hacking Boost.CMake with Git"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="git.html"
+ title="previous chapter">Hacking Boost.CMake with Git</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="individual_libraries.html"
+ title="next chapter">Building individual libraries with cmake</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/diff.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="differences-between-this-release-and-upstream">
+<h1>Differences between this release and upstream<a class="headerlink" href="#differences-between-this-release-and-upstream" title="Permalink to this headline">¶</a></h1>
+<p>The only differences below should be in the build system... but there
+should be a <em>lot</em> of them. :)</p>
+<div class="highlight-python"><pre>% git diff --stat=100,90 Boost_1_41_0
+ .gitignore | 8 +
+ CMakeLists.txt | 413 ++-
+ CTestConfig.cmake | 21 +
+ doc/CMakeLists.txt | 9 +
+ doc/src/CMakeLists.txt | 19 +
+ libs/CMakeLists.txt | 99 +
+ libs/accumulators/CMakeLists.txt | 21 +
+ libs/accumulators/doc/CMakeLists.txt | 8 +
+ libs/accumulators/example/CMakeLists.txt | 8 +
+ libs/accumulators/module.cmake | 1 +
+ libs/accumulators/test/CMakeLists.txt | 82 +
+ libs/algorithm/CMakeLists.txt | 22 +
+ libs/algorithm/minmax/test/CMakeLists.txt | 10 +
+ libs/algorithm/module.cmake | 4 +
+ libs/algorithm/string/test/CMakeLists.txt | 18 +
+ libs/any/CMakeLists.txt | 27 +
+ libs/any/module.cmake | 1 +
+ libs/any/test/CMakeLists.txt | 11 +
+ libs/array/CMakeLists.txt | 27 +
+ libs/array/module.cmake | 1 +
+ libs/array/test/CMakeLists.txt | 14 +
+ libs/asio/CMakeLists.txt | 28 +
+ libs/asio/module.cmake | 3 +
+ libs/asio/test/CMakeLists.txt | 127 +
+ libs/asio/test/ip/CMakeLists.txt | 32 +
+ libs/asio/test/local/CMakeLists.txt | 16 +
+ libs/asio/test/posix/CMakeLists.txt | 17 +
+ libs/asio/test/ssl/CMakeLists.txt | 78 +
+ libs/assign/CMakeLists.txt | 28 +
+ libs/assign/module.cmake | 1 +
+ libs/assign/test/CMakeLists.txt | 28 +
+ libs/bimap/CMakeLists.txt | 28 +
+ libs/bimap/module.cmake | 1 +
+ libs/bimap/test/CMakeLists.txt | 49 +
+ libs/bind/CMakeLists.txt | 28 +
+ libs/bind/module.cmake | 1 +
+ libs/bind/test/CMakeLists.txt | 47 +
+ libs/circular_buffer/CMakeLists.txt | 29 +
+ libs/circular_buffer/module.cmake | 1 +
+ libs/circular_buffer/test/CMakeLists.txt | 13 +
+ libs/compatibility/CMakeLists.txt | 27 +
+ libs/compatibility/module.cmake | 2 +
+ libs/concept_check/CMakeLists.txt | 29 +
+ libs/concept_check/module.cmake | 1 +
+ libs/concept_check/test/CMakeLists.txt | 14 +
+ libs/config/CMakeLists.txt | 28 +
+ libs/config/test/CMakeLists.txt | 37 +
+ libs/conversion/CMakeLists.txt | 28 +
+ libs/conversion/test/CMakeLists.txt | 20 +
+ libs/crc/CMakeLists.txt | 27 +
+ libs/crc/module.cmake | 1 +
+ libs/crc/test/CMakeLists.txt | 10 +
+ libs/date_time/CMakeLists.txt | 28 +
+ libs/date_time/module.cmake | 1 +
+ libs/date_time/src/CMakeLists.txt | 13 +
+ libs/date_time/test/CMakeLists.txt | 187 +
+ libs/detail/CMakeLists.txt | 27 +
+ libs/detail/module.cmake | 1 +
+ libs/disjoint_sets/CMakeLists.txt | 29 +
+ libs/disjoint_sets/module.cmake | 1 +
+ libs/disjoint_sets/test/CMakeLists.txt | 7 +
+ libs/dynamic_bitset/CMakeLists.txt | 30 +
+ libs/dynamic_bitset/module.cmake | 1 +
+ libs/dynamic_bitset/test/CMakeLists.txt | 13 +
+ libs/exception/CMakeLists.txt | 29 +
+ libs/exception/module.cmake | 1 +
+ libs/exception/test/CMakeLists.txt | 55 +
+ libs/filesystem/CMakeLists.txt | 28 +
+ libs/filesystem/module.cmake | 1 +
+ libs/filesystem/src/CMakeLists.txt | 14 +
+ libs/filesystem/test/CMakeLists.txt | 30 +
+ libs/flyweight/CMakeLists.txt | 18 +
+ libs/flyweight/module.cmake | 1 +
+ libs/flyweight/test/CMakeLists.txt | 53 +
+ libs/foreach/CMakeLists.txt | 27 +
+ libs/foreach/module.cmake | 1 +
+ libs/foreach/test/CMakeLists.txt | 40 +
+ libs/format/CMakeLists.txt | 28 +
+ libs/format/module.cmake | 1 +
+ libs/format/test/CMakeLists.txt | 13 +
+ libs/function/CMakeLists.txt | 28 +
+ libs/function/doc/CMakeLists.txt | 8 +
+ libs/function/module.cmake | 1 +
+ libs/function/test/CMakeLists.txt | 29 +
+ libs/function_types/CMakeLists.txt | 27 +
+ libs/function_types/module.cmake | 1 +
+ libs/function_types/test/CMakeLists.txt | 76 +
+ libs/functional/CMakeLists.txt | 28 +
+ libs/functional/hash/doc/CMakeLists.txt | 8 +
+ libs/functional/hash/examples/CMakeLists.txt | 15 +
+ libs/functional/hash/test/CMakeLists.txt | 58 +
+ libs/functional/module.cmake | 1 +
+ libs/functional/test/CMakeLists.txt | 7 +
+ libs/fusion/CMakeLists.txt | 29 +
+ libs/fusion/module.cmake | 1 +
+ libs/gil/CMakeLists.txt | 28 +
+ libs/gil/module.cmake | 1 +
+ libs/gil/test/CMakeLists.txt | 16 +
+ libs/graph/CMakeLists.txt | 24 +
+ libs/graph/module.cmake | 4 +
+ libs/graph/src/CMakeLists.txt | 38 +
+ libs/graph/test/CMakeLists.txt | 71 +
+ libs/graph_parallel/CMakeLists.txt | 25 +
+ libs/graph_parallel/doc/CMakeLists.txt | 70 +
+ libs/graph_parallel/example/CMakeLists.txt | 59 +
+ libs/graph_parallel/module.cmake | 1 +
+ libs/graph_parallel/src/CMakeLists.txt | 22 +
+ libs/graph_parallel/test/CMakeLists.txt | 121 +
+ libs/integer/CMakeLists.txt | 31 +
+ libs/integer/module.cmake | 1 +
+ libs/integer/test/CMakeLists.txt | 14 +
+ libs/interprocess/CMakeLists.txt | 27 +
+ libs/interprocess/module.cmake | 1 +
+ libs/interprocess/test/CMakeLists.txt | 14 +
+ libs/intrusive/CMakeLists.txt | 28 +
+ libs/intrusive/module.cmake | 1 +
+ libs/io/CMakeLists.txt | 28 +
+ libs/io/module.cmake | 1 +
+ libs/io/test/CMakeLists.txt | 12 +
+ libs/iostreams/CMakeLists.txt | 27 +
+ libs/iostreams/example/CMakeLists.txt | 10 +
+ libs/iostreams/module.cmake | 1 +
+ libs/iostreams/src/CMakeLists.txt | 36 +
+ libs/iostreams/test/CMakeLists.txt | 69 +
+ libs/iterator/CMakeLists.txt | 30 +
+ libs/iterator/module.cmake | 1 +
+ libs/iterator/test/CMakeLists.txt | 39 +
+ libs/lambda/CMakeLists.txt | 27 +
+ libs/lambda/module.cmake | 1 +
+ libs/lambda/test/CMakeLists.txt | 24 +
+ libs/logic/CMakeLists.txt | 27 +
+ libs/logic/module.cmake | 3 +
+ libs/logic/test/CMakeLists.txt | 12 +
+ libs/math/CMakeLists.txt | 28 +
+ libs/math/module.cmake | 1 +
+ libs/math/test/CMakeLists.txt | 33 +
+ libs/mpi/CMakeLists.txt | 31 +
+ libs/mpi/doc/CMakeLists.txt | 36 +
+ libs/mpi/module.cmake | 1 +
+ libs/mpi/src/CMakeLists.txt | 84 +
+ libs/mpi/test/CMakeLists.txt | 77 +
+ libs/mpl/CMakeLists.txt | 28 +
+ libs/mpl/module.cmake | 1 +
+ libs/mpl/test/CMakeLists.txt | 97 +
+ libs/multi_array/CMakeLists.txt | 28 +
+ libs/multi_array/module.cmake | 2 +
+ libs/multi_array/test/CMakeLists.txt | 47 +
+ libs/multi_index/CMakeLists.txt | 29 +
+ libs/multi_index/module.cmake | 1 +
+ libs/multi_index/test/CMakeLists.txt | 34 +
+ libs/numeric/CMakeLists.txt | 27 +
+ libs/numeric/conversion/test/CMakeLists.txt | 17 +
+ libs/numeric/interval/test/CMakeLists.txt | 34 +
+ libs/numeric/module.cmake | 1 +
+ libs/numeric/ublas/test/CMakeLists.txt | 86 +
+ libs/optional/CMakeLists.txt | 28 +
+ libs/optional/module.cmake | 1 +
+ libs/optional/test/CMakeLists.txt | 23 +
+ libs/parameter/CMakeLists.txt | 29 +
+ libs/parameter/module.cmake | 1 +
+ libs/parameter/test/CMakeLists.txt | 31 +
+ libs/pool/CMakeLists.txt | 27 +
+ libs/pool/module.cmake | 1 +
+ libs/pool/test/CMakeLists.txt | 9 +
+ libs/preprocessor/CMakeLists.txt | 28 +
+ libs/preprocessor/module.cmake | 4 +
+ libs/preprocessor/test/CMakeLists.txt | 23 +
+ libs/program_options/CMakeLists.txt | 28 +
+ libs/program_options/module.cmake | 1 +
+ libs/program_options/src/CMakeLists.txt | 11 +
+ libs/program_options/test/CMakeLists.txt | 39 +
+ libs/property_map/CMakeLists.txt | 28 +
+ libs/property_map/module.cmake | 1 +
+ libs/property_map/test/CMakeLists.txt | 11 +
+ libs/proto/CMakeLists.txt | 27 +
+ libs/proto/module.cmake | 2 +
+ libs/proto/test/CMakeLists.txt | 58 +
+ libs/ptr_container/CMakeLists.txt | 27 +
+ libs/ptr_container/module.cmake | 1 +
+ libs/ptr_container/test/CMakeLists.txt | 28 +
+ libs/python/CMakeLists.txt | 21 +
+ libs/python/module.cmake | 3 +
+ libs/python/src/CMakeLists.txt | 70 +
+ libs/python/test/CMakeLists.txt | 231 +
+ libs/random/CMakeLists.txt | 28 +
+ libs/random/module.cmake | 3 +
+ libs/random/test/CMakeLists.txt | 34 +
+ libs/range/CMakeLists.txt | 28 +
+ libs/range/doc/CMakeLists.txt | 7 +
+ libs/range/module.cmake | 1 +
+ libs/range/test/CMakeLists.txt | 25 +
+ libs/rational/CMakeLists.txt | 28 +
+ libs/rational/module.cmake | 1 +
+ libs/rational/test/CMakeLists.txt | 14 +
+ libs/regex/CMakeLists.txt | 51 +
+ libs/regex/example/CMakeLists.txt | 76 +
+ libs/regex/module.cmake | 1 +
+ libs/regex/src/CMakeLists.txt | 51 +
+ libs/regex/test/CMakeLists.txt | 93 +
+ libs/serialization/CMakeLists.txt | 28 +
+ libs/serialization/module.cmake | 3 +
+ libs/serialization/src/CMakeLists.txt | 56 +
+ libs/serialization/test/CMakeLists.txt | 184 +
+ libs/signals/CMakeLists.txt | 29 +
+ libs/signals/module.cmake | 3 +
+ libs/signals/src/CMakeLists.txt | 13 +
+ libs/signals/test/CMakeLists.txt | 15 +
+ libs/signals2/CMakeLists.txt | 19 +
+ libs/signals2/module.cmake | 1 +
+ libs/signals2/test/CMakeLists.txt | 26 +
+ libs/smart_ptr/CMakeLists.txt | 36 +
+ libs/smart_ptr/module.cmake | 1 +
+ libs/smart_ptr/test/CMakeLists.txt | 56 +
+ libs/spirit/CMakeLists.txt | 30 +
+ libs/spirit/module.cmake | 1 +
+ libs/spirit/test/CMakeLists.txt | 121 +
+ libs/statechart/CMakeLists.txt | 27 +
+ libs/statechart/example/CMakeLists.txt | 31 +
+ libs/statechart/module.cmake | 1 +
+ libs/statechart/test/CMakeLists.txt | 93 +
+ libs/static_assert/CMakeLists.txt | 28 +
+ libs/static_assert/module.cmake | 1 +
+ libs/static_assert/test/CMakeLists.txt | 19 +
+ libs/system/CMakeLists.txt | 27 +
+ libs/system/module.cmake | 1 +
+ libs/system/src/CMakeLists.txt | 13 +
+ libs/test/CMakeLists.txt | 27 +
+ libs/test/build/Jamfile.v2 | 2 +-
+ libs/test/module.cmake | 5 +
+ libs/test/src/CMakeLists.txt | 70 +
+ libs/test/test/CMakeLists.txt | 49 +
+ libs/thread/CMakeLists.txt | 29 +
+ libs/thread/example/CMakeLists.txt | 17 +
+ libs/thread/module.cmake | 1 +
+ libs/thread/src/CMakeLists.txt | 20 +
+ libs/thread/test/CMakeLists.txt | 39 +
+ libs/timer/CMakeLists.txt | 28 +
+ libs/timer/module.cmake | 1 +
+ libs/timer/test/CMakeLists.txt | 9 +
+ libs/tokenizer/CMakeLists.txt | 27 +
+ libs/tokenizer/module.cmake | 1 +
+ libs/tokenizer/test/CMakeLists.txt | 15 +
+ libs/tr1/CMakeLists.txt | 27 +
+ libs/tr1/module.cmake | 1 +
+ libs/tr1/test/CMakeLists.txt | 75 +
+ libs/tuple/CMakeLists.txt | 27 +
+ libs/tuple/module.cmake | 2 +
+ libs/tuple/test/CMakeLists.txt | 11 +
+ libs/type_traits/CMakeLists.txt | 40 +
+ libs/type_traits/module.cmake | 1 +
+ libs/type_traits/test/CMakeLists.txt | 13 +
+ libs/typeof/CMakeLists.txt | 27 +
+ libs/typeof/module.cmake | 1 +
+ libs/typeof/test/CMakeLists.txt | 30 +
+ libs/units/CMakeLists.txt | 28 +
+ libs/units/doc/CMakeLists.txt | 8 +
+ libs/units/module.cmake | 2 +
+ libs/units/test/CMakeLists.txt | 70 +
+ libs/unordered/CMakeLists.txt | 29 +
+ libs/unordered/module.cmake | 1 +
+ libs/unordered/test/CMakeLists.txt | 24 +
+ libs/unordered/test/exception/CMakeLists.txt | 25 +
+ libs/unordered/test/unordered/CMakeLists.txt | 43 +
+ libs/utility/CMakeLists.txt | 37 +
+ libs/utility/enable_if/test/CMakeLists.txt | 20 +
+ libs/utility/module.cmake | 1 +
+ libs/utility/swap/test/CMakeLists.txt | 41 +
+ libs/utility/test/CMakeLists.txt | 47 +
+ libs/variant/CMakeLists.txt | 28 +
+ libs/variant/module.cmake | 1 +
+ libs/variant/test/CMakeLists.txt | 15 +
+ libs/wave/CMakeLists.txt | 28 +
+ libs/wave/module.cmake | 1 +
+ libs/wave/src/CMakeLists.txt | 24 +
+ libs/wave/test/CMakeLists.txt | 8 +
+ libs/xpressive/CMakeLists.txt | 27 +
+ libs/xpressive/module.cmake | 1 +
+ libs/xpressive/test/CMakeLists.txt | 84 +
+ tools/CMakeLists.txt | 122 +
+ tools/bcp/CMakeLists.txt | 32 +
+ tools/build/CMake/Boost.bmp | Bin 0 -&gt; 71674 bytes
+ tools/build/CMake/Boost.png | Bin 0 -&gt; 6308 bytes
+ tools/build/CMake/BoostConfig.cmake | 249 +
+ tools/build/CMake/BoostCore.cmake | 1509 +++++
+ tools/build/CMake/BoostDocs.cmake | 526 ++
+ tools/build/CMake/BoostExternals.cmake | 55 +
+ tools/build/CMake/BoostTesting.cmake | 494 ++
+ tools/build/CMake/BoostUtils.cmake | 275 +
+ tools/build/CMake/CMakeLists.txt | 91 +
+ tools/build/CMake/CTestCustom.cmake.in | 5 +
+ tools/build/CMake/CompileTest/CMakeLists.txt | 12 +
+ tools/build/CMake/FindICU.cmake | 51 +
+ tools/build/CMake/LinkTest/CMakeLists.txt | 26 +
+ tools/build/CMake/catalog.xml.in | 9 +
+ tools/build/CMake/docs/.gitignore | 4 +
+ tools/build/CMake/docs/Makefile.in | 101 +
+ tools/build/CMake/docs/build/html/.buildinfo | 4 +
+ tools/build/CMake/docs/build/html/_images/MacInstaller.png | Bin 0 -&gt; 185943 bytes
+ tools/build/CMake/docs/build/html/_images/WindowsInstaller.png | Bin 0 -&gt; 88166 bytes
+ tools/build/CMake/docs/build/html/_sources/add_boost_library.txt | 49 +
+ tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt | 231 +
+ tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt | 107 +
+ tools/build/CMake/docs/build/html/_sources/build_configuration.txt | 289 +
+ tools/build/CMake/docs/build/html/_sources/build_installer.txt | 49 +
+ tools/build/CMake/docs/build/html/_sources/build_variants.txt | 275 +
+ tools/build/CMake/docs/build/html/_sources/diff.txt | 9 +
+ tools/build/CMake/docs/build/html/_sources/exported_targets.txt | 247 +
+ tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt | 19 +
+ tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt | 10 +
+ tools/build/CMake/docs/build/html/_sources/externals/expat.txt | 10 +
+ tools/build/CMake/docs/build/html/_sources/externals/icu.txt | 22 +
+ tools/build/CMake/docs/build/html/_sources/externals/index.txt | 44 +
+ tools/build/CMake/docs/build/html/_sources/externals/mpi.txt | 10 +
+ tools/build/CMake/docs/build/html/_sources/externals/python.txt | 88 +
+ tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt | 27 +
+ tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt | 18 +
+ tools/build/CMake/docs/build/html/_sources/externals/zlib.txt | 17 +
+ tools/build/CMake/docs/build/html/_sources/faq.txt | 39 +
+ tools/build/CMake/docs/build/html/_sources/git.txt | 182 +
+ tools/build/CMake/docs/build/html/_sources/index.txt | 137 +
+ tools/build/CMake/docs/build/html/_sources/individual_libraries.txt | 152 +
+ tools/build/CMake/docs/build/html/_sources/install_customization.txt | 197 +
+ tools/build/CMake/docs/build/html/_sources/notes_by_version.txt | 218 +
+ tools/build/CMake/docs/build/html/_sources/quickstart.txt | 244 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt | 132 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt | 192 +
+ .../CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt | 36 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt | 95 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt | 6 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt | 6 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/testing.txt | 428 ++
+ tools/build/CMake/docs/build/html/_static/alt.boost.png | Bin 0 -&gt; 8906 bytes
+ tools/build/CMake/docs/build/html/_static/basic.css | 405 ++
+ tools/build/CMake/docs/build/html/_static/boost.css | 221 +
+ tools/build/CMake/docs/build/html/_static/contents.png | Bin 0 -&gt; 202 bytes
+ tools/build/CMake/docs/build/html/_static/doctools.js | 232 +
+ tools/build/CMake/docs/build/html/_static/file.png | Bin 0 -&gt; 392 bytes
+ tools/build/CMake/docs/build/html/_static/jquery.js | 32 +
+ tools/build/CMake/docs/build/html/_static/minus.png | Bin 0 -&gt; 199 bytes
+ tools/build/CMake/docs/build/html/_static/navigation.png | Bin 0 -&gt; 218 bytes
+ tools/build/CMake/docs/build/html/_static/plus.png | Bin 0 -&gt; 199 bytes
+ tools/build/CMake/docs/build/html/_static/pygments.css | 59 +
+ tools/build/CMake/docs/build/html/_static/searchtools.js | 467 ++
+ tools/build/CMake/docs/build/html/_static/sphinxdoc.css | 349 +
+ tools/build/CMake/docs/build/html/add_boost_library.html | 146 +
+ tools/build/CMake/docs/build/html/add_compiled_library.html | 319 +
+ tools/build/CMake/docs/build/html/adding_regression_tests.html | 201 +
+ tools/build/CMake/docs/build/html/build_configuration.html | 359 +
+ tools/build/CMake/docs/build/html/build_installer.html | 139 +
+ tools/build/CMake/docs/build/html/build_variants.html | 371 +
+ tools/build/CMake/docs/build/html/diff.html | 1102 +++
+ tools/build/CMake/docs/build/html/exported_targets.html | 320 +
+ tools/build/CMake/docs/build/html/externals/bzip2.html | 127 +
+ tools/build/CMake/docs/build/html/externals/doxygen.html | 108 +
+ tools/build/CMake/docs/build/html/externals/expat.html | 108 +
+ tools/build/CMake/docs/build/html/externals/icu.html | 131 +
+ tools/build/CMake/docs/build/html/externals/index.html | 140 +
+ tools/build/CMake/docs/build/html/externals/mpi.html | 108 +
+ tools/build/CMake/docs/build/html/externals/python.html | 170 +
+ tools/build/CMake/docs/build/html/externals/valgrind.html | 128 +
+ tools/build/CMake/docs/build/html/externals/xsltproc.html | 124 +
+ tools/build/CMake/docs/build/html/externals/zlib.html | 124 +
+ tools/build/CMake/docs/build/html/faq.html | 130 +
+ tools/build/CMake/docs/build/html/genindex.html | 360 +
+ tools/build/CMake/docs/build/html/git.html | 278 +
+ tools/build/CMake/docs/build/html/index.html | 365 +
+ tools/build/CMake/docs/build/html/individual_libraries.html | 241 +
+ tools/build/CMake/docs/build/html/install_customization.html | 252 +
+ tools/build/CMake/docs/build/html/notes_by_version.html | 318 +
+ tools/build/CMake/docs/build/html/objects.inv | 6 +
+ tools/build/CMake/docs/build/html/quickstart.html | 338 +
+ tools/build/CMake/docs/build/html/reference/boost_add_executable.html | 210 +
+ tools/build/CMake/docs/build/html/reference/boost_add_library.html | 295 +
+ tools/build/CMake/docs/build/html/reference/boost_additional_test_dependencies.html | 142 +
+ tools/build/CMake/docs/build/html/reference/boost_library_project.html | 184 +
+ tools/build/CMake/docs/build/html/reference/boost_module.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_python_module.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_compile.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_compile_fail.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_run.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_run_fail.html | 93 +
+ tools/build/CMake/docs/build/html/search.html | 100 +
+ tools/build/CMake/docs/build/html/searchindex.js | 1 +
+ tools/build/CMake/docs/build/html/testing.html | 516 ++
+ tools/build/CMake/docs/source/.gitignore | 1 +
+ tools/build/CMake/docs/source/GitLexer.py | 49 +
+ tools/build/CMake/docs/source/MacInstaller.png | Bin 0 -&gt; 185943 bytes
+ tools/build/CMake/docs/source/WindowsInstaller.png | Bin 0 -&gt; 88166 bytes
+ tools/build/CMake/docs/source/_static/boost.css | 221 +
+ tools/build/CMake/docs/source/_static/pygments.css | 59 +
+ tools/build/CMake/docs/source/_static/sphinxdoc.css | 349 +
+ tools/build/CMake/docs/source/_templates/layout.html | 7 +
+ tools/build/CMake/docs/source/add_boost_library.rst | 49 +
+ tools/build/CMake/docs/source/add_compiled_library.rst | 231 +
+ tools/build/CMake/docs/source/adding_regression_tests.rst | 107 +
+ tools/build/CMake/docs/source/alt.boost.png | Bin 0 -&gt; 8906 bytes
+ tools/build/CMake/docs/source/boost-dark-trans.png | Bin 0 -&gt; 8312 bytes
+ tools/build/CMake/docs/source/boost-small.png | Bin 0 -&gt; 8899 bytes
+ tools/build/CMake/docs/source/boost.png | Bin 0 -&gt; 6308 bytes
+ tools/build/CMake/docs/source/boost/theme.conf | 9 +
+ tools/build/CMake/docs/source/boost/todo.py | 147 +
+ tools/build/CMake/docs/source/boost_cmake_version.py.in | 2 +
+ tools/build/CMake/docs/source/build_configuration.rst | 289 +
+ tools/build/CMake/docs/source/build_installer.rst | 49 +
+ tools/build/CMake/docs/source/build_variants.rst | 275 +
+ tools/build/CMake/docs/source/cmake.py | 36 +
+ tools/build/CMake/docs/source/conf.py | 214 +
+ tools/build/CMake/docs/source/diff.rst | 9 +
+ tools/build/CMake/docs/source/exported_targets.rst | 247 +
+ tools/build/CMake/docs/source/externals/bzip2.rst | 19 +
+ tools/build/CMake/docs/source/externals/doxygen.rst | 10 +
+ tools/build/CMake/docs/source/externals/expat.rst | 10 +
+ tools/build/CMake/docs/source/externals/icu.rst | 22 +
+ tools/build/CMake/docs/source/externals/index.rst | 44 +
+ tools/build/CMake/docs/source/externals/mpi.rst | 10 +
+ tools/build/CMake/docs/source/externals/python.rst | 88 +
+ tools/build/CMake/docs/source/externals/valgrind.rst | 27 +
+ tools/build/CMake/docs/source/externals/xsltproc.rst | 18 +
+ tools/build/CMake/docs/source/externals/zlib.rst | 17 +
+ tools/build/CMake/docs/source/faq.rst | 39 +
+ tools/build/CMake/docs/source/git.rst | 182 +
+ tools/build/CMake/docs/source/git_diff.txt | 1 +
+ tools/build/CMake/docs/source/index.rst | 138 +
+ tools/build/CMake/docs/source/individual_libraries.rst | 152 +
+ tools/build/CMake/docs/source/install_customization.rst | 197 +
+ tools/build/CMake/docs/source/modularize_library.rst.set_aside | 183 +
+ tools/build/CMake/docs/source/notes_by_version.rst | 218 +
+ tools/build/CMake/docs/source/quickstart.rst | 244 +
+ tools/build/CMake/docs/source/reference/boost_add_executable.rst | 132 +
+ tools/build/CMake/docs/source/reference/boost_add_library.rst | 192 +
+ tools/build/CMake/docs/source/reference/boost_additional_test_dependencies.rst | 36 +
+ tools/build/CMake/docs/source/reference/boost_library_project.rst | 95 +
+ tools/build/CMake/docs/source/reference/boost_module.rst | 7 +
+ tools/build/CMake/docs/source/reference/boost_python_module.rst | 7 +
+ tools/build/CMake/docs/source/reference/boost_test_compile.rst | 6 +
+ tools/build/CMake/docs/source/reference/boost_test_compile_fail.rst | 6 +
+ tools/build/CMake/docs/source/reference/boost_test_run.rst | 7 +
+ tools/build/CMake/docs/source/reference/boost_test_run_fail.rst | 7 +
+ tools/build/CMake/docs/source/testing.rst | 428 ++
+ tools/build/CMake/externals/BZip2.cmake | 11 +
+ tools/build/CMake/externals/Doxygen.cmake | 13 +
+ tools/build/CMake/externals/Expat.cmake | 13 +
+ tools/build/CMake/externals/ICU.cmake | 12 +
+ tools/build/CMake/externals/MPI.cmake | 11 +
+ tools/build/CMake/externals/Python.cmake | 161 +
+ tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp | 228 +
+ tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp | 403 ++
+ tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp | 391 ++
+ tools/build/CMake/externals/Valgrind.cmake | 18 +
+ tools/build/CMake/externals/Xsltproc.cmake | 18 +
+ tools/build/CMake/externals/ZLib.cmake | 13 +
+ tools/build/CMake/install_me/Boost-thisversion.cmake.in | 75 +
+ tools/build/CMake/install_me/BoostConfig.cmake.in | 80 +
+ tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in | 19 +
+ tools/build/CMake/install_me/BoostConfigVersion.cmake.in | 22 +
+ tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in | 69 +
+ tools/build/CMake/install_me/version.hpp.override.in | 35 +
+ tools/build/CMake/main.cpp | 7 +
+ tools/build/CMake/test/include/selftest_lib.ipp | 22 +
+ tools/build/CMake/test/include/selftest_main.ipp | 11 +
+ tools/build/CMake/test/include/selftest_report.hpp | 6 +
+ tools/build/CMake/test/libs/a/CMakeLists.txt | 27 +
+ tools/build/CMake/test/libs/a/module.cmake | 1 +
+ tools/build/CMake/test/libs/a/src/CMakeLists.txt | 38 +
+ tools/build/CMake/test/libs/a/src/lib.cpp | 22 +
+ tools/build/CMake/test/libs/a/src/main.cpp | 1 +
+ tools/build/CMake/test/libs/a/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/libs/b/CMakeLists.txt | 27 +
+ tools/build/CMake/test/libs/b/module.cmake | 1 +
+ tools/build/CMake/test/libs/b/src/CMakeLists.txt | 30 +
+ tools/build/CMake/test/libs/b/src/lib.cpp | 1 +
+ tools/build/CMake/test/libs/b/src/main.cpp | 1 +
+ tools/build/CMake/test/libs/b/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/libs/c/CMakeLists.txt | 27 +
+ tools/build/CMake/test/libs/c/src/CMakeLists.txt | 30 +
+ tools/build/CMake/test/libs/c/src/lib.cpp | 22 +
+ tools/build/CMake/test/libs/c/src/main.cpp | 12 +
+ tools/build/CMake/test/libs/c/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/tools/tool-a/CMakeLists.txt | 36 +
+ tools/build/CMake/test/tools/tool-a/main.cpp | 11 +
+ tools/build/CMake/test/tools/tool-a/module.cmake | 1 +
+ tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt | 36 +
+ tools/build/CMake/test/tools/tool-a/src/lib.cpp | 17 +
+ tools/build/CMake/test/tools/tool-a/src/main.cpp | 10 +
+ tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/tools/tool-b/CMakeLists.txt | 35 +
+ tools/build/CMake/test/tools/tool-b/main.cpp | 10 +
+ tools/build/CMake/test/tools/tool-b/module.cmake | 1 +
+ tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt | 28 +
+ tools/build/CMake/test/tools/tool-b/src/lib.cpp | 17 +
+ tools/build/CMake/test/tools/tool-b/src/main.cpp | 10 +
+ tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt | 21 +
+ tools/inspect/CMakeLists.txt | 20 +
+ tools/jam/src/.gitignore | 3 +
+ tools/quickbook/CMakeLists.txt | 33 +
+ tools/wave/CMakeLists.txt | 22 +
+ 500 files changed, 32214 insertions(+), 13 deletions(-)
+</pre>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="individual_libraries.html" title="Building individual libraries with cmake"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="git.html" title="Hacking Boost.CMake with Git"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/exported_targets.html b/tools/build/CMake/docs/build/html/exported_targets.html
new file mode 100644
index 0000000..451e0eb
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/exported_targets.html
@@ -0,0 +1,333 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Tricks for Building against Boost with CMake &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Customizing the install" href="install_customization.html" />
+ <link rel="prev" title="Build Variants and Features" href="build_variants.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="install_customization.html" title="Customizing the install"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="build_variants.html" title="Build Variants and Features"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Tricks for Building against Boost with CMake</a><ul>
+<li><a class="reference external" href="#with-an-uninstalled-build">With an uninstalled build</a><ul>
+<li><a class="reference external" href="#example">Example</a></li>
+</ul>
+</li>
+<li><a class="reference external" href="#with-an-installed-boost">With an installed boost</a><ul>
+<li><a class="reference external" href="#try-this-first">Try this first</a></li>
+<li><a class="reference external" href="#alternative-via-boost-dir">Alternative: via Boost_DIR</a></li>
+<li><a class="reference external" href="#multiple-versions-of-boost-installed">Multiple versions of boost installed</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="build_variants.html"
+ title="previous chapter">Build Variants and Features</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="install_customization.html"
+ title="next chapter">Customizing the install</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/exported_targets.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <span class="target" id="index-22"></span><div class="section" id="tricks-for-building-against-boost-with-cmake">
+<span id="exported-targets"></span><span id="index-23"></span><h1>Tricks for Building against Boost with CMake<a class="headerlink" href="#tricks-for-building-against-boost-with-cmake" title="Permalink to this headline">¶</a></h1>
+<p>Boost.CMake <em>exports</em> its targets, making developing independent
+projects against an installed boost, or simply against a build tree
+sitting on disk. There are a variety of ways to use these to ease
+configuration of boost in your external project.</p>
+<div class="section" id="with-an-uninstalled-build">
+<span id="uninstalled"></span><span id="index-24"></span><h2>With an uninstalled build<a class="headerlink" href="#with-an-uninstalled-build" title="Permalink to this headline">¶</a></h2>
+<p>You only need to do three things:</p>
+<ol class="arabic">
+<li><p class="first">Add the appropriate include directory with
+<tt class="docutils literal"><span class="pre">include_directories()</span></tt>. This is the toplevel of the boost
+source tree.</p>
+</li>
+<li><p class="first"><tt class="docutils literal"><span class="pre">include</span></tt> the generated <tt class="docutils literal"><span class="pre">Exports.cmake</span></tt> from the build tree
+containing the exported targets. I is located in
+<tt class="docutils literal"><span class="pre">${</span></tt><a class="reference external" href="build_configuration.html#cmake-binary-dir"><em>CMAKE_BINARY_DIR</em></a><tt class="docutils literal"><span class="pre">}/lib/Exports.cmake</span></tt></p>
+</li>
+<li><p class="first">Tell cmake about your link dependencies with
+<tt class="docutils literal"><span class="pre">target_link_libraries</span></tt>. Note that you use the <strong>names of the
+cmake targets</strong>, not the shorter names that the libraries have on
+disk. <tt class="docutils literal"><span class="pre">make</span> <span class="pre">help</span></tt> shows a list:</p>
+<div class="highlight-python"><pre>% make help | grep signals
+... boost_signals
+... boost_signals-mt-shared
+... boost_signals-mt-shared-debug
+... boost_signals-mt-static
+... boost_signals-mt-static-debug</pre>
+</div>
+<p>See also <a class="reference external" href="build_variants.html#name-mangling"><em>Name Mangling</em></a> for details on the naming
+conventions.</p>
+</li>
+</ol>
+<p>Since these are exported targets, CMake will add appropriate <em>rpaths</em>
+as necessary; fiddling with <tt class="docutils literal"><span class="pre">LD_LIBRARY_PATH</span></tt> should not be
+necessary.</p>
+<p><strong>If you get the target name wrong</strong>, cmake will assume that you are
+talking about a library in the linker&#8217;s default search path, not an
+imported target name and you will get an error when cmake tries to
+link against the nonexistent target. For instance, if I specify:</p>
+<div class="highlight-python"><pre>target_link_libraries(main boost_thread-mt-d)</pre>
+</div>
+<p>on linux my error will be something like:</p>
+<div class="highlight-python"><pre>[100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+Linking CXX executable main
+/usr/bin/ld: cannot find -lboost_thread-mt-d
+collect2: ld returned 1 exit status</pre>
+</div>
+<p>The problem here is that the real name of the multithreaded, shared,
+debug library <strong>target</strong> is <tt class="docutils literal"><span class="pre">boost_thread-mt-shared-debug</span></tt>. I know this is
+confusing; much of this is an attempt to be compatible with
+boost.build.</p>
+<p>If you are having trouble, have a look inside that file
+<tt class="docutils literal"><span class="pre">Exports.cmake</span></tt>. For each available target, you&#8217;ll see:</p>
+<div class="highlight-python"><pre># Create imported target boost_thread-mt-shared-debug
+ADD_LIBRARY(boost_thread-mt-shared-debug SHARED IMPORTED)
+
+# Import target "boost_thread-mt-shared-debug" for configuration "Release"
+SET_PROPERTY(TARGET boost_thread-mt-shared-debug APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+SET_TARGET_PROPERTIES(boost_thread-mt-shared-debug PROPERTIES
+ IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE "pthread;rt"
+ IMPORTED_LOCATION_RELEASE "/home/troy/Projects/boost/cmake/cmaketest/build/boost/lib/libboost_thread-mt-d.so.1.41.0"
+ IMPORTED_SONAME_RELEASE "libboost_thread-mt-d.so.1.41.0"
+ )</pre>
+</div>
+<p>it is the name in the <tt class="docutils literal"><span class="pre">ADD_LIBRARY</span></tt> line that you pass to
+<tt class="docutils literal"><span class="pre">target_link_libraries()</span></tt>.</p>
+<div class="section" id="example">
+<h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3>
+<p>There is an unpacked boost in <tt class="docutils literal"><span class="pre">/home/troy/boost-1.41.0/src</span></tt> and
+built boost in directory <tt class="docutils literal"><span class="pre">/home/troy/boost/1.41.0/build</span></tt>. I have a
+program that builds from one file, <tt class="docutils literal"><span class="pre">main.cpp</span></tt> and uses boost
+threads. My <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt> looks like this:</p>
+<div class="highlight-python"><pre>include_directories(
+ /home/troy/boost-1.41.0/src
+ /home/troy/boost-1.41.0/build/lib/Exports.cmake
+ )
+
+add_executable(my_program main.cpp)
+
+target_link_libraries(my_program boost_thread-mt-shared-debug)</pre>
+</div>
+<p>When I build, I see
+(wrapped, and some output replaced with ... for brevity):</p>
+<div class="highlight-python"><pre>% make VERBOSE=1
+...
+[100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+/usr/bin/c++ -I/home/troy/boost-1.41.0/src -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/myproject/main.cpp
+...
+linking CXX executable main
+/usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /home/troy/boost-1.41.0/build/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/home/troy/boost-1.41.0/build/lib
+...
+[100%] Built target main</pre>
+</div>
+</div>
+</div>
+<div class="section" id="with-an-installed-boost">
+<h2>With an installed boost<a class="headerlink" href="#with-an-installed-boost" title="Permalink to this headline">¶</a></h2>
+<p>The process by which cmake discovers an installed boost is a big
+topic, outside the scope of this document. Boost.CMake makes every
+effort to install things cleanly and behave in a backwards-compatible
+manner.</p>
+<span class="target" id="index-25"></span><span class="target" id="index-26"></span><p id="index-27">The variable <a class="reference external" href="install_customization.html#boost-install-cmake-drivers"><em>BOOST_INSTALL_CMAKE_DRIVERS</em></a> controls whether
+Boost.CMake installs two files which help out in case multiple
+versions of boost are installed. If there is only one version
+present, the situation is simpler: typically this is simply a
+matter of either installing boost to a directory that on cmake&#8217;s
+built-in <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_PREFIX_PATH">CMAKE_PREFIX_PATH</a>, or adding the directory to
+<a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_PREFIX_PATH">CMAKE_PREFIX_PATH</a> in your environment if it is not. You can see
+built-in search path by running <tt class="docutils literal"><span class="pre">cmake</span> <span class="pre">--system-information</span></tt> and
+looking for <tt class="docutils literal"><span class="pre">CMAKE_SYSTEM_PREFIX_PATH</span></tt>.</p>
+<div class="section" id="try-this-first">
+<h3>Try this first<a class="headerlink" href="#try-this-first" title="Permalink to this headline">¶</a></h3>
+<p>Make a subdirectory for your project and create a file <tt class="docutils literal"><span class="pre">main.cpp</span></tt>:</p>
+<div class="highlight-python"><pre>#include &lt;iostream&gt;
+#include &lt;boost/version.hpp&gt;
+#include &lt;boost/thread/thread.hpp&gt;
+
+void helloworld()
+{
+ std::cout &lt;&lt; BOOST_VERSION &lt;&lt; std::endl;
+}
+
+int main()
+{
+ boost::thread thrd(&amp;helloworld);
+ thrd.join();
+}</pre>
+</div>
+<p id="index-28">Create a <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt> in the same directory containing the
+following:</p>
+<div class="highlight-python"><pre>find_package(Boost 1.41.0 COMPONENTS thread NO_MODULE)
+ ^^^^^^^^^--- NOTE THIS
+include(${Boost_INCLUDE_DIR})
+add_executable(main main.cpp)
+target_link_libraries(main ${Boost_LIBRARIES})</pre>
+</div>
+<p>The <tt class="docutils literal"><span class="pre">NO_MODULE</span></tt> above is currently <strong>required</strong>, pending updates to
+<a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:FindBoost">FindBoost.cmake</a> in a cmake release.</p>
+<p>Then run <tt class="docutils literal"><span class="pre">cmake</span> <span class="pre">.</span></tt> in that directory (note the dot). Then run make.
+If all is well you will see:</p>
+<div class="highlight-python"><pre>% make VERBOSE=1
+...
+[100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+/usr/bin/c++ -I/usr/local/boost-1.41.0/include -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/Projects/boost/cmake/proj/main.cpp
+...
+Linking CXX executable main
+/usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /usr/local/boost-1.41.0/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/usr/local/boost-1.41.0/lib
+...
+[100%] Built target main</pre>
+</div>
+<p>If all is not well, set <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_PREFIX_PATH">CMAKE_PREFIX_PATH</a> in your environment or in
+your <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt>. Add the <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_PREFIX">CMAKE_INSTALL_PREFIX</a> that you used
+when you installed boost:</p>
+<div class="highlight-python"><pre>export CMAKE_PREFIX_PATH=/my/unusual/location</pre>
+</div>
+<p>and try again.</p>
+</div>
+<div class="section" id="alternative-via-boost-dir">
+<h3>Alternative: via Boost_DIR<a class="headerlink" href="#alternative-via-boost-dir" title="Permalink to this headline">¶</a></h3>
+<p>If the above didn&#8217;t work, you can help cmake find your boost
+installation by setting <tt class="docutils literal"><span class="pre">Boost_DIR</span></tt> (in your <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt> to
+the <a class="reference external" href="install_customization.html#boost-cmake-infrastructure-install-dir"><em>BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR</em></a> that was set when you
+compiled. <tt class="docutils literal"><span class="pre">Boost_DIR</span></tt> will override any other settings.</p>
+<p>Given a (versioned) boost installation in <tt class="docutils literal"><span class="pre">/net/someplace</span></tt>,
+Your CMakeLists.txt would look like this:</p>
+<div class="highlight-python"><pre>include_directories(/net/someplace/include/boost-1.41.0)
+
+# you can also set Boost_DIR in your environment
+set(Boost_DIR /net/someplace/share/boost-1.41.0/cmake)
+
+find_package(Boost NO_MODULE)
+
+add_executable(main main.cpp)
+
+target_link_libraries(main boost_thread-mt-shared-debug)</pre>
+</div>
+</div>
+<div class="section" id="multiple-versions-of-boost-installed">
+<h3>Multiple versions of boost installed<a class="headerlink" href="#multiple-versions-of-boost-installed" title="Permalink to this headline">¶</a></h3>
+<p>The only recommended way to do this is the following:</p>
+<ul class="simple">
+<li>Install all versions of boost to the same <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_PREFIX">CMAKE_INSTALL_PREFIX</a>. One
+or more of them must have been installed with
+<a class="reference external" href="install_customization.html#boost-install-cmake-drivers"><em>BOOST_INSTALL_CMAKE_DRIVERS</em></a> on. <a class="reference external" href="install_customization.html#install-versioned"><em>INSTALL_VERSIONED</em></a>
+should be <cite>OFF</cite> for one of them at most.</li>
+<li>Add the setting for <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_PREFIX">CMAKE_INSTALL_PREFIX</a> to <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_PREFIX_PATH">CMAKE_PREFIX_PATH</a>, if
+it is nonstandard.</li>
+<li>Pass <tt class="docutils literal"><span class="pre">NO_MODULE</span></tt> to <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package">find_package</a> when you call it (as above).</li>
+</ul>
+<p>At this point passing a version argument to <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package">find_package</a> (see also
+docs for <a class="reference external" href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:FindBoost">FindBoost.cmake</a>) should result in correct behavior.</p>
+<p class="rubric">Footnotes</p>
+<table class="docutils footnote" frame="void" id="libsuffix" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label">[1]</td><td>If your distribution specifies a <a class="reference external" href="install_customization.html#lib-suffix"><em>LIB_SUFFIX</em></a>
+(e.g. if it installs libraries to
+<tt class="docutils literal"><span class="pre">${</span></tt><a class="reference external" href="install_customization.html#cmake-install-prefix"><em>CMAKE_INSTALL_PREFIX</em></a><tt class="docutils literal"><span class="pre">/lib64</span></tt>, you
+will find <cite>Boost.cmake</cite> there. If the installation is
+&#8216;versioned&#8217;, the <tt class="docutils literal"><span class="pre">Boost.cmake</span></tt> file may be in a
+versioned subdirectory of lib, e.g. <tt class="docutils literal"><span class="pre">lib/boost-1.41.0</span></tt>.</td></tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="install_customization.html" title="Customizing the install"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="build_variants.html" title="Build Variants and Features"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/bzip2.html b/tools/build/CMake/docs/build/html/externals/bzip2.html
new file mode 100644
index 0000000..1b198d4
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/bzip2.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>BZip2 &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="Doxygen" href="doxygen.html" />
+ <link rel="prev" title="External Dependencies" href="index.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="doxygen.html" title="Doxygen"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="index.html" title="External Dependencies"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="index.html"
+ title="previous chapter">External Dependencies</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="doxygen.html"
+ title="next chapter">Doxygen</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/bzip2.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="bzip2">
+<span id="index-29"></span><span id="id1"></span><h1>BZip2<a class="headerlink" href="#bzip2" title="Permalink to this headline">¶</a></h1>
+<p>If <tt class="docutils literal"><span class="pre">WITH_BZIP2</span></tt> is <tt class="docutils literal"><span class="pre">ON</span></tt>, BZip2 is detected via the standard cmake
+<tt class="docutils literal"><span class="pre">find_package(BZip2)</span></tt>. The following variables are set:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<tbody valign="top">
+<tr><td><tt class="docutils literal"><span class="pre">BZIP2_FOUND</span></tt></td>
+<td>Bzip2 was found</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">BZIP2_INCLUDE_DIR</span></tt></td>
+<td>Path to BZip2 includes</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">BZIP2_DEFINITIONS</span></tt></td>
+<td>Compile line flags for BZip2</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">BZIP2_LIBRARIES</span></tt></td>
+<td>Libraries to link to when using BZip2</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="doxygen.html" title="Doxygen"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="index.html" title="External Dependencies"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/doxygen.html b/tools/build/CMake/docs/build/html/externals/doxygen.html
new file mode 100644
index 0000000..ec2be6e
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/doxygen.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Doxygen &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="Expat" href="expat.html" />
+ <link rel="prev" title="BZip2" href="bzip2.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="expat.html" title="Expat"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="bzip2.html" title="BZip2"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="bzip2.html"
+ title="previous chapter">BZip2</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="expat.html"
+ title="next chapter">Expat</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/doxygen.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="doxygen">
+<span id="index-30"></span><span id="id1"></span><h1>Doxygen<a class="headerlink" href="#doxygen" title="Permalink to this headline">¶</a></h1>
+<p>If <tt class="docutils literal"><span class="pre">WITH_DOXYGEN</span></tt> is <tt class="docutils literal"><span class="pre">ON</span></tt>, doxygen is detected via the standard
+cmake <tt class="docutils literal"><span class="pre">find_package(Doxygen)</span></tt>. See the cmake documentation for more
+information</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="expat.html" title="Expat"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="bzip2.html" title="BZip2"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/expat.html b/tools/build/CMake/docs/build/html/externals/expat.html
new file mode 100644
index 0000000..594d447
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/expat.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Expat &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="ICU (International Components for Unicode)" href="icu.html" />
+ <link rel="prev" title="Doxygen" href="doxygen.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="icu.html" title="ICU (International Components for Unicode)"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="doxygen.html" title="Doxygen"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="doxygen.html"
+ title="previous chapter">Doxygen</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="icu.html"
+ title="next chapter">ICU (International Components for Unicode)</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/expat.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="expat">
+<span id="index-31"></span><span id="id1"></span><h1>Expat<a class="headerlink" href="#expat" title="Permalink to this headline">¶</a></h1>
+<p>If <tt class="docutils literal"><span class="pre">WITH_EXPAT</span></tt> is <tt class="docutils literal"><span class="pre">ON</span></tt>, expat is detected via the standard
+cmake <tt class="docutils literal"><span class="pre">find_package(Expat)</span></tt>. See the cmake documentation for more
+information</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="icu.html" title="ICU (International Components for Unicode)"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="doxygen.html" title="Doxygen"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/icu.html b/tools/build/CMake/docs/build/html/externals/icu.html
new file mode 100644
index 0000000..48ebfad
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/icu.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>ICU (International Components for Unicode) &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="MPI" href="mpi.html" />
+ <link rel="prev" title="Expat" href="expat.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="mpi.html" title="MPI"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="expat.html" title="Expat"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="expat.html"
+ title="previous chapter">Expat</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="mpi.html"
+ title="next chapter">MPI</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/icu.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="icu-international-components-for-unicode">
+<span id="icu"></span><span id="index-32"></span><h1>ICU (International Components for Unicode)<a class="headerlink" href="#icu-international-components-for-unicode" title="Permalink to this headline">¶</a></h1>
+<p>If <tt class="docutils literal"><span class="pre">WITH_ICU</span></tt> is <tt class="docutils literal"><span class="pre">ON</span></tt>, ICU is detected via the standard cmake
+<tt class="docutils literal"><span class="pre">find_package(ICU)</span></tt>. The following variables are set:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="37%" />
+<col width="63%" />
+</colgroup>
+<tbody valign="top">
+<tr><td><tt class="docutils literal"><span class="pre">ICU_FOUND</span></tt></td>
+<td>ON if icu was found</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">ICU_I18N_FOUND</span></tt></td>
+<td>ON if the i18n part (whatever that is)
+of ICU was found.</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">ICU_INCLUDE_DIRS</span></tt></td>
+<td>path to ICU headers</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">ICU_LIBRARIES</span></tt></td>
+<td>full paths to ICU libraries</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">ICU_I18N_LIBRARIES</span></tt></td>
+<td>full paths to the i18n libraries</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="mpi.html" title="MPI"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="expat.html" title="Expat"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/index.html b/tools/build/CMake/docs/build/html/externals/index.html
new file mode 100644
index 0000000..19c8a7c
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/index.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>External Dependencies &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="BZip2" href="bzip2.html" />
+ <link rel="prev" title="FAQ" href="../faq.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="bzip2.html" title="BZip2"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="../faq.html" title="FAQ"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="../faq.html"
+ title="previous chapter">FAQ</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="bzip2.html"
+ title="next chapter">BZip2</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/index.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="external-dependencies">
+<span id="index-33"></span><span id="id1"></span><h1>External Dependencies<a class="headerlink" href="#external-dependencies" title="Permalink to this headline">¶</a></h1>
+<p>Each external dependency has an associated option <tt class="docutils literal"><span class="pre">WITH_</span></tt><em>dependency</em> that controls whether detection of the dependency will
+happen at all. These options default to <tt class="docutils literal"><span class="pre">ON</span></tt>.</p>
+<p>Each external will set a variable <em>external</em><tt class="docutils literal"><span class="pre">_FOUND</span></tt> if detection
+was successful. If this variable is empty (or <tt class="docutils literal"><span class="pre">FALSE</span></tt>, 0, or
+<tt class="docutils literal"><span class="pre">NO</span></tt>) detection will be reattempted each time you configure.</p>
+<p>To <strong>disable</strong> the detection of any given external dependency and
+thereby any libraries or features that depend on it, set option
+<tt class="docutils literal"><span class="pre">WITH_</span></tt><em>dependency</em> to <tt class="docutils literal"><span class="pre">NO</span></tt> (or <tt class="docutils literal"><span class="pre">OFF</span></tt>, etc.):</p>
+<div class="highlight-python"><pre>% cmake ../src -DWITH_PYTHON=OFF
+-- The C compiler identification is GNU
+-- The CXX compiler identification is GNU
+... more output ...
+--
+-- Python:
+-- Disabled since WITH_PYTHON=OFF
+--
+... more output ...
+-- + python
+-- +-- disabled since PYTHON_FOUND is false
+--</pre>
+</div>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="bzip2.html">BZip2</a></li>
+<li class="toctree-l1"><a class="reference external" href="doxygen.html">Doxygen</a></li>
+<li class="toctree-l1"><a class="reference external" href="expat.html">Expat</a></li>
+<li class="toctree-l1"><a class="reference external" href="icu.html">ICU (International Components for Unicode)</a></li>
+<li class="toctree-l1"><a class="reference external" href="mpi.html">MPI</a></li>
+<li class="toctree-l1"><a class="reference external" href="python.html">Python</a><ul>
+<li class="toctree-l2"><a class="reference external" href="python.html#python-executable">PYTHON_EXECUTABLE</a></li>
+<li class="toctree-l2"><a class="reference external" href="python.html#python-debug-libraries">PYTHON_DEBUG_LIBRARIES</a></li>
+<li class="toctree-l2"><a class="reference external" href="python.html#python-libraries">PYTHON_LIBRARIES</a></li>
+<li class="toctree-l2"><a class="reference external" href="python.html#python-include-path">PYTHON_INCLUDE_PATH</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="xsltproc.html">Xsltproc</a></li>
+<li class="toctree-l1"><a class="reference external" href="valgrind.html">Valgrind</a></li>
+<li class="toctree-l1"><a class="reference external" href="zlib.html">Zlib</a></li>
+</ul>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="bzip2.html" title="BZip2"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="../faq.html" title="FAQ"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/mpi.html b/tools/build/CMake/docs/build/html/externals/mpi.html
new file mode 100644
index 0000000..a4c73cc
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/mpi.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>MPI &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="Python" href="python.html" />
+ <link rel="prev" title="ICU (International Components for Unicode)" href="icu.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="python.html" title="Python"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="icu.html" title="ICU (International Components for Unicode)"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="icu.html"
+ title="previous chapter">ICU (International Components for Unicode)</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="python.html"
+ title="next chapter">Python</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/mpi.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="mpi">
+<span id="index-34"></span><span id="id1"></span><h1>MPI<a class="headerlink" href="#mpi" title="Permalink to this headline">¶</a></h1>
+<p>If <tt class="docutils literal"><span class="pre">WITH_MPI</span></tt> is <tt class="docutils literal"><span class="pre">ON</span></tt>, MPI is detected via the standard
+cmake <tt class="docutils literal"><span class="pre">find_package(MPI)</span></tt>. See the cmake documentation for more
+information.</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="python.html" title="Python"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="icu.html" title="ICU (International Components for Unicode)"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/python.html b/tools/build/CMake/docs/build/html/externals/python.html
new file mode 100644
index 0000000..09b4e33
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/python.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Python &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="Xsltproc" href="xsltproc.html" />
+ <link rel="prev" title="MPI" href="mpi.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="xsltproc.html" title="Xsltproc"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="mpi.html" title="MPI"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="../index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Python</a><ul>
+<li><a class="reference external" href="#python-executable">PYTHON_EXECUTABLE</a></li>
+<li><a class="reference external" href="#python-debug-libraries">PYTHON_DEBUG_LIBRARIES</a></li>
+<li><a class="reference external" href="#python-libraries">PYTHON_LIBRARIES</a></li>
+<li><a class="reference external" href="#python-include-path">PYTHON_INCLUDE_PATH</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="mpi.html"
+ title="previous chapter">MPI</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="xsltproc.html"
+ title="next chapter">Xsltproc</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/python.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="python">
+<span id="python-external"></span><span id="index-35"></span><h1>Python<a class="headerlink" href="#python" title="Permalink to this headline">¶</a></h1>
+<p>By default, Boost.CMake will use the python detection built in to
+cmake. The relevant variables (command line or environment) are:</p>
+<div class="section" id="python-executable">
+<span id="index-36"></span><span id="id1"></span><h2>PYTHON_EXECUTABLE<a class="headerlink" href="#python-executable" title="Permalink to this headline">¶</a></h2>
+<p>The path to the python executable, e.g. <tt class="docutils literal"><span class="pre">/usr/local/Python-3.1.1/bin/python3</span></tt></p>
+</div>
+<div class="section" id="python-debug-libraries">
+<span id="index-37"></span><span id="id2"></span><h2>PYTHON_DEBUG_LIBRARIES<a class="headerlink" href="#python-debug-libraries" title="Permalink to this headline">¶</a></h2>
+<p>The path to the python debug library, typically only used by developers.</p>
+</div>
+<div class="section" id="python-libraries">
+<span id="index-38"></span><span id="id3"></span><h2>PYTHON_LIBRARIES<a class="headerlink" href="#python-libraries" title="Permalink to this headline">¶</a></h2>
+<p>The path to the python library,
+e.g. <tt class="docutils literal"><span class="pre">/usr/local/Python-3.1.1/lib/libpython3.1.so</span></tt></p>
+<span class="target" id="index-39"></span></div>
+<div class="section" id="python-include-path">
+<span id="index-40"></span><span id="id4"></span><h2>PYTHON_INCLUDE_PATH<a class="headerlink" href="#python-include-path" title="Permalink to this headline">¶</a></h2>
+<p>The path to the include directory,
+e.g. <tt class="docutils literal"><span class="pre">/usr/local/Python-3.1.1/include/python3.1</span></tt>. Note that cmake
+will check for the file <tt class="docutils literal"><span class="pre">Python.h</span></tt> in this directory and complain if
+it is not found.</p>
+<p>There are two ways to specify these, on the command line or via
+environment variables. Environment variables will override command
+line flags if present.</p>
+<p class="rubric">Command line</p>
+<div class="highlight-python"><pre>% cmake ../src -DPYTHON_EXECUTABLE=/path/to/bin/python3 \
+ -DPYTHON_LIBRARIES=/path/to/libpython3.1.so \
+ -DPYTHON_INCLUDE_PATH=/path/to/include/python3.1</pre>
+</div>
+<p class="rubric">Exported environment variables</p>
+<div class="highlight-python"><pre>% export PYTHON_EXECUTABLE=/path/to/bin/python
+% export PYTHON_LIBRARIES=/path/to/libpython3.1.so
+% export PYTHON_INCLUDE_PATH=/path/to/include/python3.1
+% cmake ../src</pre>
+</div>
+<p>Either way, in the configuration output, you should see something
+like:</p>
+<div class="highlight-python"><pre>-- Testing PYTHON_EXECUTABLE from environment
+-- Ok, using /path/to/bin/python3
+-- Testing PYTHON_LIBRARIES from environment
+-- Ok, using /path/to/lib/libpython3.1.so.
+-- Skipping optional PYTHON_DEBUG_LIBRARIES: not set.
+-- Testing PYTHON_INCLUDE_PATH from environment
+-- Ok, using /path/to/include/python3.1
+-- Python:
+-- executable: /path/to/bin/python3
+-- lib: /path/to/lib/libpython3.1.so
+-- debug lib:
+-- include path: /path/to/include/python3.1</pre>
+</div>
+<p><strong>NOTE</strong>, once successfully detected, the python configuration will
+not be redetected. To modify, edit the relevant entries in your
+CMakeCache.txt, or delete it entirely to trigger redetection.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="xsltproc.html" title="Xsltproc"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="mpi.html" title="MPI"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/valgrind.html b/tools/build/CMake/docs/build/html/externals/valgrind.html
new file mode 100644
index 0000000..3609ef6
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/valgrind.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Valgrind &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="Zlib" href="zlib.html" />
+ <link rel="prev" title="Xsltproc" href="xsltproc.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="zlib.html" title="Zlib"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="xsltproc.html" title="Xsltproc"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="xsltproc.html"
+ title="previous chapter">Xsltproc</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="zlib.html"
+ title="next chapter">Zlib</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/valgrind.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="valgrind">
+<span id="index-41"></span><span id="id1"></span><h1>Valgrind<a class="headerlink" href="#valgrind" title="Permalink to this headline">¶</a></h1>
+<p>Boost.cmake does a standard path search for <tt class="docutils literal"><span class="pre">valgrind</span></tt>. If found,
+it sets the following variables</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody valign="top">
+<tr><td><tt class="docutils literal"><span class="pre">VALGRIND_FOUND</span></tt></td>
+<td>Was valgrind found</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">VALGRIND_FLAGS</span></tt></td>
+<td>&#8220;&#8211;tool=memcheck&#8221;</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">VALGRIND_EXECUTABLE</span></tt></td>
+<td>path to the executable</td>
+</tr>
+</tbody>
+</table>
+<p id="index-42">If the setting <tt class="docutils literal"><span class="pre">WITH_VALGRIND</span></tt> is <tt class="docutils literal"><span class="pre">ON</span></tt>, (see
+<a class="reference external" href="index.html#external-dependencies"><em>External Dependencies</em></a>) then tests will be run under valgrind.
+Tip: CTest&#8217;s <tt class="docutils literal"><span class="pre">-V</span></tt> flag will show you the exact commands run and
+output of each test.</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="zlib.html" title="Zlib"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="xsltproc.html" title="Xsltproc"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/xsltproc.html b/tools/build/CMake/docs/build/html/externals/xsltproc.html
new file mode 100644
index 0000000..faa87fc
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/xsltproc.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Xsltproc &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="Valgrind" href="valgrind.html" />
+ <link rel="prev" title="Python" href="python.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="valgrind.html" title="Valgrind"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="python.html" title="Python"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="python.html"
+ title="previous chapter">Python</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="valgrind.html"
+ title="next chapter">Valgrind</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/xsltproc.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="xsltproc">
+<span id="index-43"></span><span id="id1"></span><h1>Xsltproc<a class="headerlink" href="#xsltproc" title="Permalink to this headline">¶</a></h1>
+<p>Boost.cmake does a standard path search for <tt class="docutils literal"><span class="pre">xsltproc</span></tt>. If found,
+it sets the following variables</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody valign="top">
+<tr><td><tt class="docutils literal"><span class="pre">XSLTPROC_FOUND</span></tt></td>
+<td>Was xsltproc found</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">XSLTPROC_FLAGS</span></tt></td>
+<td>&#8220;&#8211;xinclude&#8221;</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">XSLTPROC_EXECUTABLE</span></tt></td>
+<td>path to the executable</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="valgrind.html" title="Valgrind"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="python.html" title="Python"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/externals/zlib.html b/tools/build/CMake/docs/build/html/externals/zlib.html
new file mode 100644
index 0000000..d03cd8b
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/externals/zlib.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Zlib &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="up" title="External Dependencies" href="index.html" />
+ <link rel="next" title="Hacking Boost.CMake with Git" href="../git.html" />
+ <link rel="prev" title="Valgrind" href="valgrind.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="../git.html" title="Hacking Boost.CMake with Git"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="valgrind.html" title="Valgrind"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" accesskey="U">External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="valgrind.html"
+ title="previous chapter">Valgrind</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="../git.html"
+ title="next chapter">Hacking Boost.CMake with Git</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/externals/zlib.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="zlib">
+<span id="index-44"></span><span id="id1"></span><h1>Zlib<a class="headerlink" href="#zlib" title="Permalink to this headline">¶</a></h1>
+<p>If <tt class="docutils literal"><span class="pre">WITH_ZLIB</span></tt> is <tt class="docutils literal"><span class="pre">ON</span></tt>, Zlib is detected via the standard cmake
+<tt class="docutils literal"><span class="pre">find_package(Zlib)</span></tt>. The following variables are set:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<tbody valign="top">
+<tr><td><tt class="docutils literal"><span class="pre">ZLIB_FOUND</span></tt></td>
+<td>Zlib was found</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">ZLIB_INCLUDE_DIR</span></tt></td>
+<td>Path to Zlib includes</td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">ZLIB_LIBRARIES</span></tt></td>
+<td>Libraries to link to when using Zlib</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="../git.html" title="Hacking Boost.CMake with Git"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="valgrind.html" title="Valgrind"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ <li><a href="index.html" >External Dependencies</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/faq.html b/tools/build/CMake/docs/build/html/faq.html
new file mode 100644
index 0000000..a6f5b19
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/faq.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>FAQ &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="External Dependencies" href="externals/index.html" />
+ <link rel="prev" title="find_package(Boost)" href="find_package_boost.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="externals/index.html" title="External Dependencies"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="find_package_boost.html" title="find_package(Boost)"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">FAQ</a><ul>
+<li><a class="reference external" href="#how-do-i-set-d-secure-scl-0-on-the-commandline-for-release-builds">How do I set <tt class="docutils literal"><span class="pre">/D</span> <span class="pre">_SECURE_SCL=0</span></tt> on the commandline for release builds?</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="find_package_boost.html"
+ title="previous chapter">find_package(Boost)</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="externals/index.html"
+ title="next chapter">External Dependencies</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/faq.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="faq">
+<span id="id1"></span><h1>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h1>
+<p>A collection of asked questions.</p>
+<div class="section" id="how-do-i-set-d-secure-scl-0-on-the-commandline-for-release-builds">
+<h2>How do I set <tt class="docutils literal"><span class="pre">/D</span> <span class="pre">_SECURE_SCL=0</span></tt> on the commandline for release builds?<a class="headerlink" href="#how-do-i-set-d-secure-scl-0-on-the-commandline-for-release-builds" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Run the cmake gui, pick the source and build directories, click
+<em>Configure</em></li>
+<li>Find the entry called <tt class="docutils literal"><span class="pre">RELEASE_COMPILE_FLAGS</span></tt> and modify to taste.
+(See also <a class="reference external" href="build_variants.html#per-feature-flags"><em>Per-feature Compilation and Linker Options</em></a>)</li>
+<li>Click <em>Configure</em> again, settings will be regenerated with your
+flags intact.</li>
+<li>Click <em>Generate</em></li>
+<li>Run Visual Studio, navigate to the build directory, open
+<tt class="docutils literal"><span class="pre">Boost.sln</span></tt>, build, profit.</li>
+</ul>
+<p>Note: I couldn&#8217;t find the magic checkbox to tell visual studio show me
+what commands it executes while building. I switched the cmake gui to
+&#8216;advanced mode&#8217; and change CMAKE_VERBOSE_MAKEFILES to TRUE. Is there a
+more &#8216;visualstudioesque&#8217; way to do this?</p>
+<p>-t</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="externals/index.html" title="External Dependencies"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="find_package_boost.html" title="find_package(Boost)"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/find_package_boost.html b/tools/build/CMake/docs/build/html/find_package_boost.html
new file mode 100644
index 0000000..1a4f597
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/find_package_boost.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>find_package(Boost) &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="FAQ" href="faq.html" />
+ <link rel="prev" title="Customizing the install" href="install_customization.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="faq.html" title="FAQ"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="install_customization.html" title="Customizing the install"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="install_customization.html"
+ title="previous chapter">Customizing the install</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="faq.html"
+ title="next chapter">FAQ</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/find_package_boost.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <span class="target" id="index-145"></span><div class="section" id="find-package-boost">
+<span id="index-146"></span><span id="id1"></span><h1>find_package(Boost)<a class="headerlink" href="#find-package-boost" title="Permalink to this headline">¶</a></h1>
+<p>See <a class="reference external" href="install_customization.html#install-customization"><em>Customizing the install</em></a> for more information about variables
+used in this section.</p>
+<p>If you plan on using the <tt class="docutils literal"><span class="pre">FindBoost.cmake</span></tt> packaged with cmake
+versions 2.8.0 and earlier, (that is, third party packages that build
+with cmake need to find this boost installation via the cmake command
+<tt class="docutils literal"><span class="pre">find_package(Boost...</span></tt>), you will need to layout your boost
+installation in a way that is consistent with the way boost was
+installed by bjam during the many Dark Years. Michael Jackson of
+bluequartz.net reports success with the configuration below. He
+refers to boost.cmake variables <a class="reference external" href="install_customization.html#install-versioned"><em>INSTALL_VERSIONED</em></a>,
+<a class="reference external" href="install_customization.html#boost-include-install-dir"><em>BOOST_INCLUDE_INSTALL_DIR</em></a>, and <a class="reference external" href="install_customization.html#boost-lib-install-dir"><em>BOOST_LIB_INSTALL_DIR</em></a>:</p>
+<div class="highlight-python"><pre>&gt; Set INSTALL_VERSIONED=OFF
+&gt; set BOOST_INCLUDE_INSTALL_DIR=include/boost-1_41
+&gt; set BOOST_LIB_INSTALL_DIR=lib
+&gt;
+&gt; and then go. I also set an environment variable BOOST_ROOT to the
+&gt; CMAKE_INSTALL_PREFIX.
+&gt;
+&gt; In my CMake file I have the following;
+&gt;
+&gt; # ---------- Find Boost Headers/Libraries -----------------------
+&gt; SET (Boost_FIND_REQUIRED TRUE)
+&gt; SET (Boost_FIND_QUIETLY TRUE)
+&gt; set (Boost_USE_MULTITHREADED TRUE)
+&gt; set (Boost_USE_STATIC_LIBS TRUE)
+&gt; SET (Boost_ADDITIONAL_VERSIONS "1.41" "1.41.0")
+&gt;
+&gt; if ( NOT MXA_BOOST_HEADERS_ONLY)
+&gt; set (MXA_BOOST_COMPONENTS program_options unit_test_framework
+&gt; test_exec_monitor)
+&gt; endif()
+&gt; FIND_PACKAGE(Boost COMPONENTS ${MXA_BOOST_COMPONENTS} )
+&gt; INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
+&gt; LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
+&gt;
+&gt; This successfully works with the FindBoost.cmake that is included with CMake 2.6.4
+&gt;</pre>
+</div>
+<p>Currently in development there are other, perhaps easier, ways to
+detect your boost installations if you aren&#8217;t dependent on this older
+FindBoost; see <a class="reference external" href="exported_targets.html#exported-targets"><em>Tricks for Building against Boost with CMake</em></a>.</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="faq.html" title="FAQ"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="install_customization.html" title="Customizing the install"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/genindex.html b/tools/build/CMake/docs/build/html/genindex.html
new file mode 100644
index 0000000..c734f9a
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/genindex.html
@@ -0,0 +1,372 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Index &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="" title="General Index"
+ accesskey="I">index</a></li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+
+
+
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+
+ <h1 id="index">Index</h1>
+
+ <a href="#A"><strong>A</strong></a> | <a href="#B"><strong>B</strong></a> | <a href="#C"><strong>C</strong></a> | <a href="#D"><strong>D</strong></a> | <a href="#E"><strong>E</strong></a> | <a href="#F"><strong>F</strong></a> | <a href="#I"><strong>I</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#N"><strong>N</strong></a> | <a href="#O"><strong>O</strong></a> | <a href="#P"><strong>P</strong></a> | <a href="#R"><strong>R</strong></a> | <a href="#S"><strong>S</strong></a> | <a href="#T"><strong>T</strong></a> | <a href="#U"><strong>U</strong></a> | <a href="#V"><strong>V</strong></a> | <a href="#W"><strong>W</strong></a> | <a href="#X"><strong>X</strong></a> | <a href="#Z"><strong>Z</strong></a>
+
+ <hr />
+
+
+<h2 id="A">A</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="index.html#index-132">alt.boost</a></dt>
+<dt>Anarchists</dt>
+ <dd><dl>
+ <dt><a href="index.html#index-132">Lunatics, Terrorists and</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="B">B</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference/boost_add_executable.html#index-59">boost_add_executable</a>, <a href="reference/boost_add_executable.html#boost_add_executable">[1]</a></dt>
+<dt><a href="reference/boost_add_library.html#index-70">boost_add_library</a>, <a href="reference/boost_add_library.html#boost_add_library">[1]</a></dt>
+<dt><a href="install_customization.html#index-139">BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR</a></dt>
+<dt><a href="install_customization.html#index-141">BOOST_EXPORTS_FILE</a></dt>
+<dt><a href="install_customization.html#index-138">BOOST_INCLUDE_INSTALL_DIR</a></dt>
+<dt><a href="install_customization.html#index-140">BOOST_INSTALL_CMAKE_DRIVERS</a>, <a href="exported_targets.html#index-27">[1]</a></dt>
+<dt><a href="install_customization.html#index-142">BOOST_INSTALL_EXPORTS_FILE</a></dt>
+<dt><a href="install_customization.html#index-137">BOOST_LIB_INSTALL_DIR</a></dt>
+<dt><a href="reference/boost_library_project.html#index-72">boost_library_project</a>, <a href="reference/boost_library_project.html#boost_library_project">[1]</a></dt>
+<dt><a href="reference/boost_module.html#index-76">boost_module</a></dt>
+<dt><a href="reference/boost_python_module.html#index-77">boost_python_module</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference/boost_test_run.html#index-78">boost_test_run</a></dt>
+<dt><a href="reference/boost_test_run_fail.html#index-79">boost_test_run_fail</a></dt>
+<dt><a href="build_configuration.html#index-5">BUILD_EXAMPLES</a></dt>
+<dt><a href="build_configuration.html#index-4">BUILD_PROJECTS</a></dt>
+<dt><a href="build_configuration.html#index-9">BUILD_SOVERSIONED</a></dt>
+<dt><a href="testing.html#index-80">BUILD_TESTS</a></dt>
+<dt><a href="build_configuration.html#index-6">BUILD_TOOLS</a></dt>
+<dt><a href="exported_targets.html#index-23">building against</a></dt>
+<dt><a href="exported_targets.html#index-24">Building against uninstalled boost</a></dt>
+<dt><a href="externals/bzip2.html#index-29">bzip2</a></dt>
+</dl></td></tr></table>
+
+<h2 id="C">C</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="build_configuration.html#index-2">CMAKE_BINARY_DIR</a></dt>
+<dt><a href="build_configuration.html#index-8">CMAKE_CXX_COMPILER</a></dt>
+<dt><a href="install_customization.html#index-133">CMAKE_INSTALL_PREFIX</a>, <a href="exported_targets.html#index-26">[1]</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="exported_targets.html#index-25">CMAKE_PREFIX_PATH</a></dt>
+<dt><a href="reference/boost_add_executable.html#index-60">COMPILE_FLAGS</a>, <a href="reference/boost_add_library.html#index-71">[1]</a></dt>
+</dl></td></tr></table>
+
+<h2 id="D">D</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt>DEBUG</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-16">feature</a></dt>
+ </dl></dd>
+<dt><a href="reference/boost_add_executable.html#index-66">DEPENDS</a></dt>
+<dt><a href="install_customization.html#index-134">DESTDIR</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="externals/doxygen.html#index-30">doxygen</a></dt>
+<dt>DYNAMIC_RUNTIME</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-21">feature</a></dt>
+ </dl></dd>
+</dl></td></tr></table>
+
+<h2 id="E">E</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="build_variants.html#index-16">ENABLE_DEBUG</a></dt>
+<dt><a href="build_variants.html#index-21">ENABLE_DYNAMIC_RUNTIME</a></dt>
+<dt><a href="build_variants.html#index-19">ENABLE_MULTI_THREADED</a></dt>
+<dt><a href="build_variants.html#index-17">ENABLE_RELEASE</a></dt>
+<dt><a href="build_variants.html#index-15">ENABLE_SHARED</a></dt>
+<dt><a href="build_variants.html#index-18">ENABLE_SINGLE_THREADED</a></dt>
+<dt><a href="build_variants.html#index-14">ENABLE_STATIC</a></dt>
+<dt><a href="build_variants.html#index-20">ENABLE_STATIC_RUNTIME</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference/boost_library_project.html#index-74">EXAMPLEDIRS</a></dt>
+<dt><a href="externals/expat.html#index-31">expat</a></dt>
+<dt><a href="exported_targets.html#index-22">exported</a></dt>
+<dt>External Dependencies</dt>
+ <dd><dl>
+ <dt><a href="externals/index.html#index-33">selectively disabling</a></dt>
+ </dl></dd>
+<dt><a href="externals/zlib.html#index-44">external dependency</a>, <a href="externals/expat.html#index-31">[1]</a>, <a href="externals/xsltproc.html#index-43">[2]</a>, <a href="externals/bzip2.html#index-29">[3]</a>, <a href="externals/valgrind.html#index-41">[4]</a>, <a href="externals/mpi.html#index-34">[5]</a>, <a href="externals/icu.html#index-32">[6]</a>, <a href="externals/doxygen.html#index-30">[7]</a></dt>
+</dl></td></tr></table>
+
+<h2 id="F">F</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference/boost_add_executable.html#index-67">feature</a></dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-16">DEBUG</a></dt>
+ <dt><a href="build_variants.html#index-21">DYNAMIC_RUNTIME</a></dt>
+ <dt><a href="build_variants.html#index-19">MULTI_THREADED</a></dt>
+ <dt><a href="build_variants.html#index-17">RELEASE</a></dt>
+ <dt><a href="build_variants.html#index-15">SHARED</a></dt>
+ <dt><a href="build_variants.html#index-18">SINGLE_THREADED</a></dt>
+ <dt><a href="build_variants.html#index-14">STATIC</a></dt>
+ <dt><a href="build_variants.html#index-20">STATIC_RUNTIME</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference/boost_add_executable.html#index-61">feature_COMPILE_FLAGS</a></dt>
+<dt><a href="reference/boost_add_executable.html#index-63">feature_LINK_FLAGS</a></dt>
+<dt><a href="reference/boost_add_executable.html#index-65">feature_LINK_LIBS</a></dt>
+<dt><a href="build_variants.html#index-13">features</a></dt>
+<dt><a href="find_package_boost.html#index-145">find_package(Boost)</a></dt>
+<dt><a href="find_package_boost.html#index-146">FindBoost.cmake</a></dt>
+</dl></td></tr></table>
+
+<h2 id="I">I</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="externals/icu.html#index-32">ICU</a></dt>
+<dt><a href="install_customization.html#index-136">INSTALL_VERSIONED</a></dt>
+<dt><a href="install_customization.html#index-133">installation</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="index.html#index-131">IRC</a></dt>
+</dl></td></tr></table>
+
+<h2 id="L">L</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="install_customization.html#index-135">LIB_SUFFIX</a></dt>
+<dt><a href="reference/boost_add_executable.html#index-62">LINK_FLAGS</a></dt>
+<dt><a href="reference/boost_add_executable.html#index-64">LINK_LIBS</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt>Lunatics</dt>
+ <dd><dl>
+ <dt><a href="index.html#index-132">Anarchists Terrorists and</a></dt>
+ </dl></dd>
+</dl></td></tr></table>
+
+<h2 id="M">M</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="index.html#index-131">Mailing List</a></dt>
+<dt><a href="reference/boost_library_project.html#index-75">MODULAR</a></dt>
+<dt><a href="externals/mpi.html#index-34">MPI</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt>MULTI_THREADED</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-19">feature</a></dt>
+ </dl></dd>
+</dl></td></tr></table>
+
+<h2 id="N">N</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="quickstart.html#index-58">NMake</a>, <a href="testing.html#index-81">[1]</a></dt>
+<dt><a href="reference/boost_add_executable.html#index-68">NO_INSTALL</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="exported_targets.html#index-28">NO_MODULE</a></dt>
+</dl></td></tr></table>
+
+<h2 id="O">O</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference/boost_add_executable.html#index-69">OUTPUT_NAME</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="P">P</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="externals/python.html#index-35">Python</a></dt>
+<dt><a href="externals/python.html#index-40">Python.h</a></dt>
+<dt><a href="externals/python.html#index-37">PYTHON_DEBUG_LIBRARIES</a></dt>
+<dt><a href="externals/python.html#index-36">PYTHON_EXECUTABLE</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="externals/python.html#index-39">PYTHON_INCLUDE_PATH</a></dt>
+<dt><a href="externals/python.html#index-38">PYTHON_LIBRARIES</a></dt>
+</dl></td></tr></table>
+
+<h2 id="R">R</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt>regression tests</dt>
+ <dd><dl>
+ <dt><a href="adding_regression_tests.html#index-1">adding</a></dt>
+ </dl></dd>
+<dt>RELEASE</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-17">feature</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="testing.html#index-83">running all of them</a></dt>
+</dl></td></tr></table>
+
+<h2 id="S">S</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt>SHARED</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-15">feature</a></dt>
+ </dl></dd>
+<dt>SINGLE_THREADED</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-18">feature</a></dt>
+ </dl></dd>
+<dt><a href="build_configuration.html#index-11">soname</a></dt>
+<dt><a href="build_configuration.html#index-10">soversion</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt>STATIC</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-14">feature</a></dt>
+ </dl></dd>
+<dt>STATIC_RUNTIME</dt>
+ <dd><dl>
+ <dt><a href="build_variants.html#index-20">feature</a></dt>
+ </dl></dd>
+</dl></td></tr></table>
+
+<h2 id="T">T</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="exported_targets.html#index-22">targets</a></dt>
+ <dd><dl>
+ <dt><a href="testing.html#index-84">testing</a></dt>
+ </dl></dd>
+<dt>Terrorists</dt>
+ <dd><dl>
+ <dt><a href="index.html#index-132">Anarchists Lunatics and</a></dt>
+ </dl></dd>
+<dt><a href="reference/boost_library_project.html#index-73">TESTDIRS</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt>testing</dt>
+ <dd><dl>
+ <dt><a href="testing.html#index-85">targets</a></dt>
+ </dl></dd>
+<dt><a href="testing.html#index-83">tests</a></dt>
+</dl></td></tr></table>
+
+<h2 id="U">U</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="exported_targets.html#index-23">uninstalled tree</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="V">V</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="externals/valgrind.html#index-41">Valgrind</a></dt>
+<dt><a href="build_variants.html#index-12">variants</a></dt>
+<dt><a href="add_compiled_library.html#index-0">Variants</a></dt>
+<dt>verbosity</dt>
+ <dd><dl>
+ <dt><a href="build_configuration.html#index-7">CMAKE_VERBOSE_MAKEFILE</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="quickstart.html#index-57">Visual Studio</a>, <a href="testing.html#index-82">[1]</a></dt>
+</dl></td></tr></table>
+
+<h2 id="W">W</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="build_configuration.html#index-3">WINMANGLE_LIBNAMES</a></dt>
+<dt><a href="externals/valgrind.html#index-42">WITH_VALGRIND</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="X">X</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="externals/xsltproc.html#index-43">Xsltproc</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="Z">Z</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="externals/zlib.html#index-44">zlib</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="" title="General Index"
+ >index</a></li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/git.html b/tools/build/CMake/docs/build/html/git.html
new file mode 100644
index 0000000..33a4874
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/git.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Hacking Boost.CMake with Git &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Differences between this release and upstream" href="diff.html" />
+ <link rel="prev" title="Zlib" href="externals/zlib.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="diff.html" title="Differences between this release and upstream"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="externals/zlib.html" title="Zlib"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Hacking Boost.CMake with Git</a><ul>
+<li><a class="reference external" href="#i-just-want-to-try-the-head-of-the-whatever-branch">I just want to try the HEAD of the &lt;whatever&gt; branch</a></li>
+<li><a class="reference external" href="#i-want-to-svn-update">I want to svn update</a></li>
+<li><a class="reference external" href="#but-i-want-a-different-branch-than-that">But I want a different branch than that</a></li>
+<li><a class="reference external" href="#i-have-changes-how-do-i-make-a-patch">I have changes, how do I make a patch?</a></li>
+<li><a class="reference external" href="#oops-i-screwed-up-and-want-to-revert">Oops, I screwed up and want to revert</a></li>
+<li><a class="reference external" href="#i-want-to-switch-branches">I want to switch branches</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="externals/zlib.html"
+ title="previous chapter">Zlib</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="diff.html"
+ title="next chapter">Differences between this release and upstream</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/git.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="hacking-boost-cmake-with-git">
+<span id="hacking-cmake-with-git"></span><h1>Hacking Boost.CMake with Git<a class="headerlink" href="#hacking-boost-cmake-with-git" title="Permalink to this headline">¶</a></h1>
+<p>Boost-cmake, in addition to using an alternative build system, uses
+alternate version control. This makes boost.cmake feasable: without
+distributed version control it would be very difficult to maintain a
+build system against upstream boost.</p>
+<p>This document will review some common version-control procedures for
+those who are unfamiliar with git. More documentation is available at
+<a class="reference external" href="http://gitorious.org/boost/git-docs/blobs/raw/master/build/html/index.html">Hacking Boost via Git</a>.</p>
+<p>The first step is to get <a class="reference external" href="http://git-scm.com">Git</a>. Any recent
+version will do. On windows, git downloads come with a bash shell, so
+the commandline interface is essentially identical. There is also
+<a class="reference external" href="http://code.google.com/p/tortoisegit/">TortoiseGit</a>, which is
+evolving quickly and quite usable.</p>
+<div class="section" id="i-just-want-to-try-the-head-of-the-whatever-branch">
+<h2>I just want to try the HEAD of the &lt;whatever&gt; branch<a class="headerlink" href="#i-just-want-to-try-the-head-of-the-whatever-branch" title="Permalink to this headline">¶</a></h2>
+<p>Pick some directory to work in. Here I&#8217;ll use <tt class="docutils literal"><span class="pre">/tmp</span></tt>. My prompt is
+a percent sign. Clone the repository to a subdirectory called
+<tt class="docutils literal"><span class="pre">src</span></tt>. This will take a while the first time, after that things
+will be very fast.</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">clone </span><span class="s">git://gitorious.org/boost/cmake.git</span><span class="g-Whitespace"> </span>src<span class="g-Whitespace"></span>
+<span class="go">Initialized</span><span class="g-Whitespace"> </span><span class="go">empty</span><span class="g-Whitespace"> </span><span class="go">Git</span><span class="g-Whitespace"> </span><span class="go">repository</span><span class="g-Whitespace"> </span><span class="go">in</span><span class="g-Whitespace"> </span><span class="go">/tmp/src/.git/</span><span class="g-Whitespace"></span>
+<span class="go">remote:</span><span class="g-Whitespace"> </span><span class="go">Counting</span><span class="g-Whitespace"> </span><span class="go">objects:</span><span class="g-Whitespace"> </span><span class="go">425396,</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+<span class="go">remote:</span><span class="g-Whitespace"> </span><span class="go">Compressing</span><span class="g-Whitespace"> </span><span class="go">objects:</span><span class="g-Whitespace"> </span><span class="go">100%</span><span class="g-Whitespace"> </span><span class="go">(129689/129689),</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+<span class="go">remote:</span><span class="g-Whitespace"> </span><span class="go">Total</span><span class="g-Whitespace"> </span><span class="go">425396</span><span class="g-Whitespace"> </span><span class="go">(delta</span><span class="g-Whitespace"> </span><span class="go">298454),</span><span class="g-Whitespace"> </span><span class="go">reused</span><span class="g-Whitespace"> </span><span class="go">419119</span><span class="g-Whitespace"> </span><span class="go">(delta</span><span class="g-Whitespace"> </span><span class="go">292368)</span><span class="g-Whitespace"></span>
+<span class="go">Receiving</span><span class="g-Whitespace"> </span><span class="go">objects:</span><span class="g-Whitespace"> </span><span class="go">100%</span><span class="g-Whitespace"> </span><span class="go">(425396/425396),</span><span class="g-Whitespace"> </span><span class="go">135.56</span><span class="g-Whitespace"> </span><span class="go">MiB</span><span class="g-Whitespace"> </span><span class="go">|</span><span class="g-Whitespace"> </span><span class="go">1260</span><span class="g-Whitespace"> </span><span class="go">KiB/s,</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+<span class="go">Resolving</span><span class="g-Whitespace"> </span><span class="go">deltas:</span><span class="g-Whitespace"> </span><span class="go">100%</span><span class="g-Whitespace"> </span><span class="go">(298454/298454),</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+<span class="go">Checking</span><span class="g-Whitespace"> </span><span class="go">out</span><span class="g-Whitespace"> </span><span class="go">files:</span><span class="g-Whitespace"> </span><span class="go">100%</span><span class="g-Whitespace"> </span><span class="go">(23865/23865),</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>inside this directory you&#8217;ll see the branch that is checked out:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% </span>cd src
+<span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">branch </span>-l<span class="g-Whitespace"></span>
+<span class="go">*</span><span class="g-Whitespace"> </span><span class="go">1.41.0</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>This means I&#8217;m on the <tt class="docutils literal"><span class="pre">1.41.0</span></tt> branch, and the files are checked
+out:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% </span>ls
+<span class="go">CMakeLists.txt</span><span class="g-Whitespace"> </span><span class="go">boost/</span><span class="g-Whitespace"> </span><span class="go">bootstrap.sh*</span><span class="g-Whitespace"> </span><span class="go">libs/</span><span class="g-Whitespace"> </span><span class="go">tools/</span><span class="g-Whitespace"></span>
+<span class="go">CTestConfig.cmake</span><span class="g-Whitespace"> </span><span class="go">boost-build.jam</span><span class="g-Whitespace"> </span><span class="go">build/</span><span class="g-Whitespace"> </span><span class="go">more/</span><span class="g-Whitespace"> </span><span class="go">wiki/</span><span class="g-Whitespace"></span>
+<span class="go">INSTALL</span><span class="g-Whitespace"> </span><span class="go">boost.css</span><span class="g-Whitespace"> </span><span class="go">doc/</span><span class="g-Whitespace"> </span><span class="go">people/</span><span class="g-Whitespace"></span>
+<span class="go">Jamroot</span><span class="g-Whitespace"> </span><span class="go">boost.png</span><span class="g-Whitespace"> </span><span class="go">index.htm</span><span class="g-Whitespace"> </span><span class="go">rst.css</span><span class="g-Whitespace"></span>
+<span class="go">LICENSE_1_0.txt</span><span class="g-Whitespace"> </span><span class="go">bootstrap.bat</span><span class="g-Whitespace"> </span><span class="go">index.html</span><span class="g-Whitespace"> </span><span class="go">status/</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>Now you can go ahead and do your out-of-source build.</p>
+</div>
+<div class="section" id="i-want-to-svn-update">
+<h2>I want to svn update<a class="headerlink" href="#i-want-to-svn-update" title="Permalink to this headline">¶</a></h2>
+<p>When new changes arrive upstream, you&#8217;ll want to <tt class="docutils literal"><span class="pre">git</span> <span class="pre">pull</span></tt>:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">pull</span>
+<span class="go">remote:</span><span class="g-Whitespace"> </span><span class="go">Counting</span><span class="g-Whitespace"> </span><span class="go">objects:</span><span class="g-Whitespace"> </span><span class="go">310,</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+<span class="go">remote:</span><span class="g-Whitespace"> </span><span class="go">Compressing</span><span class="g-Whitespace"> </span><span class="go">objects:</span><span class="g-Whitespace"> </span><span class="go">100%</span><span class="g-Whitespace"> </span><span class="go">(45/45),</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+<span class="go">remote:</span><span class="g-Whitespace"> </span><span class="go">Total</span><span class="g-Whitespace"> </span><span class="go">205</span><span class="g-Whitespace"> </span><span class="go">(delta</span><span class="g-Whitespace"> </span><span class="go">154),</span><span class="g-Whitespace"> </span><span class="go">reused</span><span class="g-Whitespace"> </span><span class="go">203</span><span class="g-Whitespace"> </span><span class="go">(delta</span><span class="g-Whitespace"> </span><span class="go">152)</span><span class="g-Whitespace"></span>
+<span class="go">Receiving</span><span class="g-Whitespace"> </span><span class="go">objects:</span><span class="g-Whitespace"> </span><span class="go">100%</span><span class="g-Whitespace"> </span><span class="go">(205/205),</span><span class="g-Whitespace"> </span><span class="go">49.59</span><span class="g-Whitespace"> </span><span class="go">KiB,</span><span class="g-Whitespace"> </span><span class="go">done.</span><span class="g-Whitespace"></span>
+<span class="go">Resolving</span><span class="g-Whitespace"> </span><span class="go">deltas:</span><span class="g-Whitespace"> </span><span class="go">100%</span><span class="g-Whitespace"> </span><span class="go">(154/154),</span><span class="g-Whitespace"> </span><span class="go">completed</span><span class="g-Whitespace"> </span><span class="go">with</span><span class="g-Whitespace"> </span><span class="go">81</span><span class="g-Whitespace"> </span><span class="go">local</span><span class="g-Whitespace"> </span><span class="go">objects.</span><span class="g-Whitespace"></span>
+<span class="go">From</span><span class="g-Whitespace"> </span><span class="go">git://gitorious.org/boost/cmake</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">1818334..b945719</span><span class="g-Whitespace"> </span><span class="go">1.41.0</span><span class="g-Whitespace"> </span><span class="go">-&gt;</span><span class="g-Whitespace"> </span><span class="go">origin/1.41.0</span><span class="g-Whitespace"></span>
+<span class="go">Updating</span><span class="g-Whitespace"> </span><span class="go">1818334..b945719</span><span class="g-Whitespace"></span>
+<span class="go">Fast</span><span class="g-Whitespace"> </span><span class="go">forward</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">CMakeLists.txt</span><span class="g-Whitespace"> </span><span class="go">|</span><span class="g-Whitespace"> </span><span class="go">6</span><span class="g-Whitespace"> </span><span class="go">+-</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">CTestConfig.cmake</span><span class="g-Whitespace"> </span><span class="go">|</span><span class="g-Whitespace"> </span><span class="go">5</span><span class="g-Whitespace"> </span><span class="go">+-</span><span class="g-Whitespace"></span>
+<span class="go">...</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">83</span><span class="g-Whitespace"> </span><span class="go">files</span><span class="g-Whitespace"> </span><span class="go">changed,</span><span class="g-Whitespace"> </span><span class="go">1071</span><span class="g-Whitespace"> </span><span class="go">insertions(+),</span><span class="g-Whitespace"> </span><span class="go">537</span><span class="g-Whitespace"> </span><span class="go">deletions(-)</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="but-i-want-a-different-branch-than-that">
+<span id="makeremote"></span><h2>But I want a different branch than that<a class="headerlink" href="#but-i-want-a-different-branch-than-that" title="Permalink to this headline">¶</a></h2>
+<p><tt class="docutils literal"><span class="pre">git</span> <span class="pre">branch</span> <span class="pre">-r</span></tt> will show your &#8216;remote&#8217; branches:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">branch </span>-r<span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">origin/1.40.0</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">origin/1.41.0</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">origin/HEAD</span><span class="g-Whitespace"> </span><span class="go">-&gt;</span><span class="g-Whitespace"> </span><span class="go">origin/1.41.0</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">origin/master</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>This shows that in <em>origin</em> (the repository you cloned from), there
+are <em>1.40.0</em>, <em>1.41.0</em>, and <em>master</em> branches. To switch to e.g. the
+<em>1.40.0</em> branch, you make a local branch that &#8216;tracks&#8217; the upstream
+branch:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">checkout </span><span class="o">-b </span>1.40.0<span class="g-Whitespace"> </span>origin/1.40.0<span class="g-Whitespace"></span>
+<span class="go">Branch</span><span class="g-Whitespace"> </span><span class="go">1.40.0</span><span class="g-Whitespace"> </span><span class="go">set</span><span class="g-Whitespace"> </span><span class="go">up</span><span class="g-Whitespace"> </span><span class="go">to</span><span class="g-Whitespace"> </span><span class="go">track</span><span class="g-Whitespace"> </span><span class="go">remote</span><span class="g-Whitespace"> </span><span class="go">branch</span><span class="g-Whitespace"> </span><span class="go">1.40.0</span><span class="g-Whitespace"> </span><span class="go">from</span><span class="g-Whitespace"> </span><span class="go">origin.</span><span class="g-Whitespace"></span>
+<span class="go">Switched</span><span class="g-Whitespace"> </span><span class="go">to</span><span class="g-Whitespace"> </span><span class="go">a</span><span class="g-Whitespace"> </span><span class="go">new</span><span class="g-Whitespace"> </span><span class="go">branch</span><span class="g-Whitespace"> </span><span class="go">&#39;1.40.0&#39;</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>Now you will see this new local branch in your branch list:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">branch </span>-l<span class="g-Whitespace"></span>
+<span class="go">*</span><span class="g-Whitespace"> </span><span class="go">1.40.0</span><span class="g-Whitespace"> </span><span class="go">#</span><span class="g-Whitespace"> </span><span class="go">the</span><span class="g-Whitespace"> </span><span class="go">star</span><span class="g-Whitespace"> </span><span class="go">means</span><span class="g-Whitespace"> </span><span class="go">this</span><span class="g-Whitespace"> </span><span class="go">one</span><span class="g-Whitespace"> </span><span class="go">is</span><span class="g-Whitespace"> </span><span class="go">checked</span><span class="g-Whitespace"> </span><span class="go">out</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">1.41.0</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>And your status will show it as well:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">status</span>
+<span class="go">#</span><span class="g-Whitespace"> </span><span class="go">On</span><span class="g-Whitespace"> </span><span class="go">branch</span><span class="g-Whitespace"> </span><span class="go">1.40.0</span><span class="g-Whitespace"></span>
+<span class="go">nothing</span><span class="g-Whitespace"> </span><span class="go">to</span><span class="g-Whitespace"> </span><span class="go">commit</span><span class="g-Whitespace"> </span><span class="go">(working</span><span class="g-Whitespace"> </span><span class="go">directory</span><span class="g-Whitespace"> </span><span class="go">clean)</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>now, any <em>git pull</em>-ing you do will come from the upstream <em>1.40.0</em>
+branch in to your local 1.40.0 branch.</p>
+</div>
+<div class="section" id="i-have-changes-how-do-i-make-a-patch">
+<h2>I have changes, how do I make a patch?<a class="headerlink" href="#i-have-changes-how-do-i-make-a-patch" title="Permalink to this headline">¶</a></h2>
+<p>Just change the files and <tt class="docutils literal"><span class="pre">git</span> <span class="pre">diff</span></tt>:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">diff</span>
+<span class="go">diff</span><span class="g-Whitespace"> </span><span class="go">--git</span><span class="g-Whitespace"> </span><span class="go">a/CMakeLists.txt</span><span class="g-Whitespace"> </span><span class="go">b/CMakeLists.txt</span><span class="g-Whitespace"></span>
+<span class="go">index</span><span class="g-Whitespace"> </span><span class="go">d2bc809..d5e055e</span><span class="g-Whitespace"> </span><span class="go">100644</span><span class="g-Whitespace"></span>
+<span class="go">---</span><span class="g-Whitespace"> </span><span class="go">a/CMakeLists.txt</span><span class="g-Whitespace"></span>
+<span class="go">+++</span><span class="g-Whitespace"> </span><span class="go">b/CMakeLists.txt</span><span class="g-Whitespace"></span>
+<span class="go">@@</span><span class="g-Whitespace"> </span><span class="go">-27,6</span><span class="g-Whitespace"> </span><span class="go">+27,10</span><span class="g-Whitespace"> </span><span class="go">@@</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">cmake_minimum_required(VERSION</span><span class="g-Whitespace"> </span><span class="go">2.6.4</span><span class="g-Whitespace"> </span><span class="go">FATAL_ERROR)</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">project(Boost)</span><span class="g-Whitespace"></span>
+
+<span class="go">+#</span><span class="g-Whitespace"></span>
+<span class="go">+#</span><span class="g-Whitespace"> </span><span class="go">These</span><span class="g-Whitespace"> </span><span class="go">are</span><span class="g-Whitespace"> </span><span class="go">my</span><span class="g-Whitespace"> </span><span class="go">changes</span><span class="g-Whitespace"></span>
+<span class="go">+#</span><span class="g-Whitespace"></span>
+<span class="go">+</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">##########################################################################</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">#</span><span class="g-Whitespace"> </span><span class="go">Version</span><span class="g-Whitespace"> </span><span class="go">information</span><span class="g-Whitespace"> </span><span class="go">#</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">##########################################################################</span><span class="g-Whitespace"></span>
+<span class="go">@@</span><span class="g-Whitespace"> </span><span class="go">-323,6</span><span class="g-Whitespace"> </span><span class="go">+327,7</span><span class="g-Whitespace"> </span><span class="go">@@</span><span class="g-Whitespace"> </span><span class="go">endif()</span><span class="g-Whitespace"></span>
+
+<span class="g-Whitespace"> </span><span class="go">mark_as_advanced(BOOST_EXPORTS_FILE</span><span class="g-Whitespace"> </span><span class="go">BOOST_INSTALL_EXPORTS_FILE)</span><span class="g-Whitespace"></span>
+
+<span class="go">+#</span><span class="g-Whitespace"> </span><span class="go">and</span><span class="g-Whitespace"> </span><span class="go">some</span><span class="g-Whitespace"> </span><span class="go">here</span><span class="g-Whitespace"> </span><span class="go">too</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">#</span><span class="g-Whitespace"> </span><span class="go">Add</span><span class="g-Whitespace"> </span><span class="go">build</span><span class="g-Whitespace"> </span><span class="go">rules</span><span class="g-Whitespace"> </span><span class="go">for</span><span class="g-Whitespace"> </span><span class="go">documentation</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">add_subdirectory(doc)</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>and mail it in.</p>
+</div>
+<div class="section" id="oops-i-screwed-up-and-want-to-revert">
+<h2>Oops, I screwed up and want to revert<a class="headerlink" href="#oops-i-screwed-up-and-want-to-revert" title="Permalink to this headline">¶</a></h2>
+<p>Use <tt class="docutils literal"><span class="pre">git</span> <span class="pre">reset</span></tt>:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">reset </span>--hard<span class="g-Whitespace"> </span>HEAD<span class="g-Whitespace"></span>
+<span class="go">HEAD</span><span class="g-Whitespace"> </span><span class="go">is</span><span class="g-Whitespace"> </span><span class="go">now</span><span class="g-Whitespace"> </span><span class="go">at</span><span class="g-Whitespace"> </span><span class="go">e26008e</span><span class="g-Whitespace"> </span><span class="go">Don&#39;t</span><span class="g-Whitespace"> </span><span class="go">build</span><span class="g-Whitespace"> </span><span class="go">tools</span><span class="g-Whitespace"> </span><span class="go">by</span><span class="g-Whitespace"> </span><span class="go">default.</span><span class="g-Whitespace"> </span><span class="go">All</span><span class="g-Whitespace"> </span><span class="go">they</span><span class="g-Whitespace"> </span><span class="go">do</span><span class="g-Whitespace"> </span><span class="go">is</span><span class="g-Whitespace"> </span><span class="go">break.</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="i-want-to-switch-branches">
+<h2>I want to switch branches<a class="headerlink" href="#i-want-to-switch-branches" title="Permalink to this headline">¶</a></h2>
+<p>If you&#8217;ve already created a local branch, i.e. it appears in the
+output of <tt class="docutils literal"><span class="pre">git</span> <span class="pre">branch</span> <span class="pre">-l</span></tt>:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">branch </span>-l<span class="g-Whitespace"></span>
+<span class="go">*</span><span class="g-Whitespace"> </span><span class="go">1.40.0</span><span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">1.41.0</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>Then just check it out:</p>
+<div class="highlight-git_shell"><div class="highlight"><pre><span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">checkout </span>1.41.0<span class="g-Whitespace"></span>
+<span class="go">Switched</span><span class="g-Whitespace"> </span><span class="go">to</span><span class="g-Whitespace"> </span><span class="go">branch</span><span class="g-Whitespace"> </span><span class="go">&#39;1.41.0&#39;</span><span class="g-Whitespace"></span>
+
+<span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">branch </span>-l<span class="g-Whitespace"></span>
+<span class="g-Whitespace"> </span><span class="go">1.40.0</span><span class="g-Whitespace"></span>
+<span class="go">*</span><span class="g-Whitespace"> </span><span class="go">1.41.0</span><span class="g-Whitespace"></span>
+
+<span class="k">% git</span><span class="g-Whitespace"> </span><span class="gd">status</span>
+<span class="go">#</span><span class="g-Whitespace"> </span><span class="go">On</span><span class="g-Whitespace"> </span><span class="go">branch</span><span class="g-Whitespace"> </span><span class="go">1.41.0</span><span class="g-Whitespace"></span>
+<span class="go">nothing</span><span class="g-Whitespace"> </span><span class="go">to</span><span class="g-Whitespace"> </span><span class="go">commit</span><span class="g-Whitespace"> </span><span class="go">(working</span><span class="g-Whitespace"> </span><span class="go">directory</span><span class="g-Whitespace"> </span><span class="go">clean)</span><span class="g-Whitespace"></span>
+</pre></div>
+</div>
+<p>If not (i.e. it only appears in the output of <tt class="docutils literal"><span class="pre">git</span> <span class="pre">branch</span> <span class="pre">-r</span></tt>),
+see <a class="reference internal" href="#makeremote"><em>But I want a different branch than that</em></a>.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="diff.html" title="Differences between this release and upstream"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="externals/zlib.html" title="Zlib"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/index.html b/tools/build/CMake/docs/build/html/index.html
new file mode 100644
index 0000000..763b0e3
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/index.html
@@ -0,0 +1,377 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Boost-CMake 1.41.0.cmake0 &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="" />
+ <link rel="next" title="Quickstart" href="quickstart.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="quickstart.html" title="Quickstart"
+ accesskey="N">next</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Boost-CMake 1.41.0.cmake0</a></li>
+<li><a class="reference external" href="#users-s-guide">Users&#8217;s guide</a><ul>
+</ul>
+</li>
+<li><a class="reference external" href="#developer-s-guide">Developer&#8217;s guide</a><ul>
+</ul>
+</li>
+<li><a class="reference external" href="#reference">Reference</a><ul>
+</ul>
+</li>
+<li><a class="reference external" href="#about-this-documentation">About this documentation</a><ul>
+<li><a class="reference external" href="#release-checklist">Release checklist</a></li>
+<li><a class="reference external" href="#why-alt-boost">Why &#8220;alt.boost&#8221;?</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Next topic</h4>
+ <p class="topless"><a href="quickstart.html"
+ title="next chapter">Quickstart</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/index.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-cmake-release">
+<h1>Boost-CMake 1.41.0.cmake0<a class="headerlink" href="#boost-cmake-release" title="Permalink to this headline">¶</a></h1>
+<p>Boost.<a class="reference external" href="http://www.cmake.org">CMake</a> (or <a class="reference internal" href="#alt-boost"><em>alt.boost</em></a>) is the boost distribution that all the cool kids are
+using. The effort started in earnest at <a class="reference external" href="http://www.boostcon.com">BoostCon &#8216;07</a>; by the end of which it was possible to do
+a basic build of boost with cmake. In 2009, the project moved out to
+git version control. Today, <tt class="docutils literal"><span class="pre">Boost.CMake</span></tt> is stable, mature, and
+supported by the developers, a large base of expert users, and
+occasionally by the authors of CMake itself.</p>
+<p id="index-131"><strong>boost-cmake mailing list</strong></p>
+<blockquote>
+<a class="reference external" href="http://lists.boost.org/mailman/listinfo.cgi/boost-cmake">http://lists.boost.org/mailman/listinfo.cgi/boost-cmake</a></blockquote>
+<p><strong>IRC</strong></p>
+<blockquote>
+<tt class="docutils literal"><span class="pre">#boost-cmake</span></tt> on the <a class="reference external" href="http://freenode.net">freenode network</a></blockquote>
+<p><strong>CMake home page</strong></p>
+<blockquote>
+<a class="reference external" href="http://www.cmake.org">http://www.cmake.org</a></blockquote>
+<p><strong>Source code</strong></p>
+<blockquote>
+Boost.CMake is distributed <em>separately</em> from upstream boost. Code
+is in a <a class="reference external" href="http://git-scm.com">git</a> repository at
+<a class="reference external" href="http://gitorious.org/boost/cmake.git">http://gitorious.org/boost/cmake.git</a>. These documents correspond to
+tag 1.41.0.cmake0. See also <a class="reference external" href="git.html#hacking-cmake-with-git"><em>Hacking Boost.CMake with Git</em></a>.</blockquote>
+<p><strong>Tarballs</strong></p>
+<blockquote>
+Tarballs and zipfiles are available at
+<a class="reference external" href="http://sodium.resophonic.com/boost-cmake/">http://sodium.resophonic.com/boost-cmake/</a> in subdirectory 1.41.0.cmake0.</blockquote>
+</div>
+<div class="section" id="users-s-guide">
+<h1>Users&#8217;s guide<a class="headerlink" href="#users-s-guide" title="Permalink to this headline">¶</a></h1>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="quickstart.html">Quickstart</a><ul>
+<li class="toctree-l2"><a class="reference external" href="quickstart.html#download-cmake">Download CMake</a></li>
+<li class="toctree-l2"><a class="reference external" href="quickstart.html#checkout-download-the-code">Checkout / download the code</a></li>
+<li class="toctree-l2"><a class="reference external" href="quickstart.html#on-unix">On Unix</a><ul>
+<li class="toctree-l3"><a class="reference external" href="quickstart.html#configure">Configure</a></li>
+<li class="toctree-l3"><a class="reference external" href="quickstart.html#build-and-install">Build and Install</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference external" href="quickstart.html#windows">Windows</a><ul>
+<li class="toctree-l3"><a class="reference external" href="quickstart.html#configuration-for-visual-studio">Configuration for Visual Studio</a></li>
+<li class="toctree-l3"><a class="reference external" href="quickstart.html#configuration-for-nmake">Configuration for NMake</a></li>
+<li class="toctree-l3"><a class="reference external" href="quickstart.html#build-visual-studio">Build &#8211; Visual Studio</a></li>
+<li class="toctree-l3"><a class="reference external" href="quickstart.html#build-nmake">Build &#8211; NMake</a></li>
+<li class="toctree-l3"><a class="reference external" href="quickstart.html#installation">Installation</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="build_configuration.html">Configuring the buildspace</a><ul>
+<li class="toctree-l2"><a class="reference external" href="build_configuration.html#configuration-tools">Configuration tools</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="build_configuration.html#cmakecache-txt">CMakeCache.txt</a><ul>
+<li class="toctree-l2"><a class="reference external" href="build_configuration.html#cmake-binary-dir">CMAKE_BINARY_DIR</a></li>
+<li class="toctree-l2"><a class="reference external" href="build_configuration.html#a-few-useful-options">A few useful options</a><ul>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#cmake-osx-architectures">CMAKE_OSX_ARCHITECTURES</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#winmangle-libnames">WINMANGLE_LIBNAMES</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#build-projects">BUILD_PROJECTS</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#build-examples">BUILD_EXAMPLES</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#build-tools">BUILD_TOOLS</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#cmake-verbose-makefile">CMAKE_VERBOSE_MAKEFILE</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#cmake-cxx-compiler">CMAKE_CXX_COMPILER</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_configuration.html#build-soversioned">BUILD_SOVERSIONED</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="build_variants.html">Build Variants and Features</a><ul>
+<li class="toctree-l2"><a class="reference external" href="build_variants.html#name-mangling">Name Mangling</a></li>
+<li class="toctree-l2"><a class="reference external" href="build_variants.html#configuring-features">Configuring features</a><ul>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-static">ENABLE_STATIC</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-shared">ENABLE_SHARED</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-debug">ENABLE_DEBUG</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-release">ENABLE_RELEASE</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-single-threaded">ENABLE_SINGLE_THREADED</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-multi-threaded">ENABLE_MULTI_THREADED</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-static-runtime">ENABLE_STATIC_RUNTIME</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#enable-dynamic-runtime">ENABLE_DYNAMIC_RUNTIME</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference external" href="build_variants.html#per-feature-compilation-and-linker-options">Per-feature Compilation and Linker Options</a><ul>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#feature-compile-flags">feature_COMPILE_FLAGS</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#feature-link-flags">feature_LINK_FLAGS</a></li>
+<li class="toctree-l3"><a class="reference external" href="build_variants.html#feature-link-libs">feature_LINK_LIBS</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference external" href="build_variants.html#default-variants">Default Variants</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="exported_targets.html">Tricks for Building against Boost with CMake</a><ul>
+<li class="toctree-l2"><a class="reference external" href="exported_targets.html#with-an-uninstalled-build">With an uninstalled build</a><ul>
+<li class="toctree-l3"><a class="reference external" href="exported_targets.html#example">Example</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference external" href="exported_targets.html#with-an-installed-boost">With an installed boost</a><ul>
+<li class="toctree-l3"><a class="reference external" href="exported_targets.html#try-this-first">Try this first</a></li>
+<li class="toctree-l3"><a class="reference external" href="exported_targets.html#alternative-via-boost-dir">Alternative: via Boost_DIR</a></li>
+<li class="toctree-l3"><a class="reference external" href="exported_targets.html#multiple-versions-of-boost-installed">Multiple versions of boost installed</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="install_customization.html">Customizing the install</a><ul>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#cmake-install-prefix">CMAKE_INSTALL_PREFIX</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#lib-suffix">LIB_SUFFIX</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#install-versioned">INSTALL_VERSIONED</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#boost-lib-install-dir">BOOST_LIB_INSTALL_DIR</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#boost-include-install-dir">BOOST_INCLUDE_INSTALL_DIR</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#boost-cmake-infrastructure-install-dir">BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#boost-install-cmake-drivers">BOOST_INSTALL_CMAKE_DRIVERS</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#boost-cmake-drivers-install-dir">BOOST_CMAKE_DRIVERS_INSTALL_DIR</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#boost-exports-file">BOOST_EXPORTS_FILE</a></li>
+<li class="toctree-l2"><a class="reference external" href="install_customization.html#boost-exports-install-dir">BOOST_EXPORTS_INSTALL_DIR</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="find_package_boost.html">find_package(Boost)</a></li>
+<li class="toctree-l1"><a class="reference external" href="faq.html">FAQ</a><ul>
+<li class="toctree-l2"><a class="reference external" href="faq.html#how-do-i-set-d-secure-scl-0-on-the-commandline-for-release-builds">How do I set <tt class="docutils literal"><span class="pre">/D</span> <span class="pre">_SECURE_SCL=0</span></tt> on the commandline for release builds?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="externals/index.html">External Dependencies</a><ul>
+<li class="toctree-l2"><a class="reference external" href="externals/bzip2.html">BZip2</a></li>
+<li class="toctree-l2"><a class="reference external" href="externals/doxygen.html">Doxygen</a></li>
+<li class="toctree-l2"><a class="reference external" href="externals/expat.html">Expat</a></li>
+<li class="toctree-l2"><a class="reference external" href="externals/icu.html">ICU (International Components for Unicode)</a></li>
+<li class="toctree-l2"><a class="reference external" href="externals/mpi.html">MPI</a></li>
+<li class="toctree-l2"><a class="reference external" href="externals/python.html">Python</a><ul>
+<li class="toctree-l3"><a class="reference external" href="externals/python.html#python-executable">PYTHON_EXECUTABLE</a></li>
+<li class="toctree-l3"><a class="reference external" href="externals/python.html#python-debug-libraries">PYTHON_DEBUG_LIBRARIES</a></li>
+<li class="toctree-l3"><a class="reference external" href="externals/python.html#python-libraries">PYTHON_LIBRARIES</a></li>
+<li class="toctree-l3"><a class="reference external" href="externals/python.html#python-include-path">PYTHON_INCLUDE_PATH</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference external" href="externals/xsltproc.html">Xsltproc</a></li>
+<li class="toctree-l2"><a class="reference external" href="externals/valgrind.html">Valgrind</a></li>
+<li class="toctree-l2"><a class="reference external" href="externals/zlib.html">Zlib</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="git.html">Hacking Boost.CMake with Git</a><ul>
+<li class="toctree-l2"><a class="reference external" href="git.html#i-just-want-to-try-the-head-of-the-whatever-branch">I just want to try the HEAD of the &lt;whatever&gt; branch</a></li>
+<li class="toctree-l2"><a class="reference external" href="git.html#i-want-to-svn-update">I want to svn update</a></li>
+<li class="toctree-l2"><a class="reference external" href="git.html#but-i-want-a-different-branch-than-that">But I want a different branch than that</a></li>
+<li class="toctree-l2"><a class="reference external" href="git.html#i-have-changes-how-do-i-make-a-patch">I have changes, how do I make a patch?</a></li>
+<li class="toctree-l2"><a class="reference external" href="git.html#oops-i-screwed-up-and-want-to-revert">Oops, I screwed up and want to revert</a></li>
+<li class="toctree-l2"><a class="reference external" href="git.html#i-want-to-switch-branches">I want to switch branches</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="diff.html">Differences between this release and upstream</a></li>
+</ul>
+</div>
+<div class="section" id="developer-s-guide">
+<h1>Developer&#8217;s guide<a class="headerlink" href="#developer-s-guide" title="Permalink to this headline">¶</a></h1>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="individual_libraries.html">Building individual libraries with cmake</a><ul>
+<li class="toctree-l2"><a class="reference external" href="individual_libraries.html#preprocessing">Preprocessing</a></li>
+<li class="toctree-l2"><a class="reference external" href="individual_libraries.html#tests-and-examples">Tests and examples</a></li>
+<li class="toctree-l2"><a class="reference external" href="individual_libraries.html#building-individual-targets-ignoring-prerequisites">Building individual targets, ignoring prerequisites</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="add_boost_library.html">Adding a Library Project</a></li>
+<li class="toctree-l1"><a class="reference external" href="add_compiled_library.html">Adding a Compiled Library to CMake</a><ul>
+<li class="toctree-l2"><a class="reference external" href="add_compiled_library.html#compilation-flags">Compilation Flags</a></li>
+<li class="toctree-l2"><a class="reference external" href="add_compiled_library.html#linking-to-other-boost-libraries">Linking to Other Boost Libraries</a></li>
+<li class="toctree-l2"><a class="reference external" href="add_compiled_library.html#linking-external-libraries-optional-sources">Linking External Libraries/Optional Sources</a></li>
+<li class="toctree-l2"><a class="reference external" href="add_compiled_library.html#build-variants">Build Variants</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="testing.html">Testing</a><ul>
+<li class="toctree-l2"><a class="reference external" href="testing.html#build-tests">BUILD_TESTS</a></li>
+<li class="toctree-l2"><a class="reference external" href="testing.html#build">Build</a></li>
+<li class="toctree-l2"><a class="reference external" href="testing.html#test">Test</a><ul>
+<li class="toctree-l3"><a class="reference external" href="testing.html#unix-and-nmake">Unix and nmake</a></li>
+<li class="toctree-l3"><a class="reference external" href="testing.html#visual-studio">Visual Studio</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference external" href="testing.html#targets">Targets</a></li>
+<li class="toctree-l2"><a class="reference external" href="testing.html#the-dashboard">The Dashboard</a></li>
+<li class="toctree-l2"><a class="reference external" href="testing.html#submitting-results">Submitting Results</a></li>
+<li class="toctree-l2"><a class="reference external" href="testing.html#automatic-testing">Automatic testing</a><ul>
+<li class="toctree-l3"><a class="reference external" href="testing.html#continuous">Continuous</a></li>
+<li class="toctree-l3"><a class="reference external" href="testing.html#nightly">Nightly</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference external" href="adding_regression_tests.html">Adding Regression Tests</a></li>
+<li class="toctree-l1"><a class="reference external" href="build_installer.html">Building a Binary Installer</a></li>
+<li class="toctree-l1"><a class="reference external" href="notes_by_version.html">Notes by Boost Version</a><ul>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#cmake1">1.41.0.cmake1</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#beta1-cmake1">1.41.0.beta1.cmake1</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#cmakebeta4">1.41.0.cmakebeta4</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#cmakebeta3">1.41.0.cmakebeta3</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#upstream">1.41.0 (upstream)</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#cmake4">1.40.0.cmake4</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#cmake3">1.40.0.cmake3</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#cmake2">1.40.0.cmake2</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#id1">1.40.0.cmake1</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#cmake0">1.40.0.cmake0</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#id2">1.40.0</a></li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#and-1-39-0">1.38.0 and 1.39.0</a><ul>
+<li class="toctree-l3"><a class="reference external" href="notes_by_version.html#known-issues">Known Issues</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference external" href="notes_by_version.html#id3">1.35.0 - 1.37</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="reference">
+<h1>Reference<a class="headerlink" href="#reference" title="Permalink to this headline">¶</a></h1>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_library_project.html">boost_library_project</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_module.html">boost_module</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_add_library.html">boost_add_library</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_add_executable.html">boost_add_executable</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_python_module.html">boost_python_module</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_additional_test_dependencies.html">boost_additional_test_dependencies</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_test_compile.html">boost_test_compile</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_test_compile_fail.html">boost_test_compile_fail</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_test_run.html">boost_test_run</a></li>
+<li class="toctree-l1"><a class="reference external" href="reference/boost_test_run_fail.html">boost_test_run_fail</a></li>
+</ul>
+</div>
+<div class="section" id="about-this-documentation">
+<h1>About this documentation<a class="headerlink" href="#about-this-documentation" title="Permalink to this headline">¶</a></h1>
+<p>This documentation was created with <a class="reference external" href="http://sphinx.pocoo.org">Sphinx</a>.</p>
+<p>The source is in the restructuredtext files in subdirectory
+<tt class="docutils literal"><span class="pre">tools/build/CMake/docs/source/</span></tt>. Hack on them (see the
+<a class="reference external" href="http://sphinx.pocoo.org/contents.html">documentation for Sphinx</a>).
+When you&#8217;re ready to see the html:</p>
+<div class="highlight-python"><pre>make html</pre>
+</div>
+<p>Once you&#8217;ve written a ton of docs, push them someplace where I can see
+them (or use <tt class="docutils literal"><span class="pre">git</span> <span class="pre">diff</span></tt> to send a patch).</p>
+<div class="section" id="release-checklist">
+<h2>Release checklist<a class="headerlink" href="#release-checklist" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Update <tt class="docutils literal"><span class="pre">BOOST_CMAKE_VERSION</span></tt> in toplevel <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt></li>
+<li>Update notes by version in <tt class="docutils literal"><span class="pre">tools/build/CMake/docs/notes_by_version.rst</span></tt></li>
+<li>Reconfig cmake with <tt class="docutils literal"><span class="pre">BOOST_MAINTAINER</span></tt> set to ON</li>
+<li>set UPSTREAM_TAG in root <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt></li>
+<li>make make-diff</li>
+<li>Rebuild docs and commit</li>
+<li>Tag commit with <tt class="docutils literal"><span class="pre">BOOST_CMAKE_VERSION</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">make</span> <span class="pre">do-release</span></tt></li>
+<li>push tag</li>
+<li>update wiki</li>
+</ul>
+</div>
+<div class="section" id="why-alt-boost">
+<span id="alt-boost"></span><span id="index-132"></span><h2>Why &#8220;alt.boost&#8221;?<a class="headerlink" href="#why-alt-boost" title="Permalink to this headline">¶</a></h2>
+<p>The &#8216;alt&#8217; is a reference to the <tt class="docutils literal"><span class="pre">alt.*</span></tt> Usenet hierarchy. Here, as
+in Usenet, <em>alt</em> stands for <a class="reference external" href="http://nylon.net/alt/index.htm">Anarchists, Lunatics and Terrorists</a>. This independent effort explores
+and applies alternate techniques/technologies in the areas of build,
+version control, testing, packaging, documentation and release
+management.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="quickstart.html" title="Quickstart"
+ >next</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/individual_libraries.html b/tools/build/CMake/docs/build/html/individual_libraries.html
new file mode 100644
index 0000000..d4c0b1b
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/individual_libraries.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Building individual libraries with cmake &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Adding a Library Project" href="add_boost_library.html" />
+ <link rel="prev" title="Differences between this release and upstream" href="diff.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="add_boost_library.html" title="Adding a Library Project"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="diff.html" title="Differences between this release and upstream"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Building individual libraries with cmake</a><ul>
+<li><a class="reference external" href="#preprocessing">Preprocessing</a></li>
+<li><a class="reference external" href="#tests-and-examples">Tests and examples</a></li>
+<li><a class="reference external" href="#building-individual-targets-ignoring-prerequisites">Building individual targets, ignoring prerequisites</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="diff.html"
+ title="previous chapter">Differences between this release and upstream</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="add_boost_library.html"
+ title="next chapter">Adding a Library Project</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/individual_libraries.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="building-individual-libraries-with-cmake">
+<h1>Building individual libraries with cmake<a class="headerlink" href="#building-individual-libraries-with-cmake" title="Permalink to this headline">¶</a></h1>
+<p>In a configured cmake workspace, <tt class="docutils literal"><span class="pre">make</span> <span class="pre">help</span></tt> will display a list of available targets. Example:</p>
+<div class="highlight-python"><pre>% make help
+The following are some of the valid targets for this Makefile:
+... all (the default if no target is provided)
+... clean
+... depend
+... edit_cache
+... install
+... install/local
+... install/strip
+... list_install_components
+... package
+... package_source
+... rebuild_cache
+... boost_date_time
+... boost_date_time-mt-shared
+... boost_date_time-mt-shared-debug
+... boost_date_time-mt-static
+... boost_date_time-mt-static-debug
+... boost_date_time-shared
+... boost_date_time-shared-debug
+... boost_date_time-static
+... boost_date_time-static-debug
+... boost_filesystem
+... boost_filesystem-mt-shared
+... boost_filesystem-mt-shared-debug
+... boost_filesystem-mt-static
+... boost_filesystem-mt-static-debug
+... boost_filesystem-shared
+... boost_filesystem-shared-debug
+... boost_filesystem-static
+... boost_filesystem-static-debug
+[etc]</pre>
+</div>
+<p>You can build any target by passing it as an argument:</p>
+<div class="highlight-python"><pre>% make boost_signals-static
+[ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/trackable.cpp.o
+[ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/connection.cpp.o
+[100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/named_slot_map.cpp.o
+[100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/signal_base.cpp.o
+[100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/slot.cpp.o
+Linking CXX static library ../../../lib/libboost_signals-gcc41-1_35.a
+[100%] Built target boost_signals-static</pre>
+</div>
+<div class="section" id="preprocessing">
+<h2>Preprocessing<a class="headerlink" href="#preprocessing" title="Permalink to this headline">¶</a></h2>
+<p>In build directories corresponding to a source library containing a
+<tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt> containing a <a class="reference external" href="reference/boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a> invocation
+(e.g. <tt class="docutils literal"><span class="pre">build/libs/signals/src,</span> <span class="pre">build/libs/filesystem/src</span></tt>), more
+detailed targets are available:</p>
+<div class="highlight-python"><pre>% cd libs/signals/src
+% make help
+The following are some of the valid targets for this Makefile:
+ [many omitted]
+... signal_base.o
+... signal_base.i
+... signal_base.s
+... slot.o
+... slot.i
+... slot.s</pre>
+</div>
+<p>making <tt class="docutils literal"><span class="pre">slot.i</span></tt> will run <tt class="docutils literal"><span class="pre">slot.cpp</span></tt> through the preprocessor:</p>
+<div class="highlight-python"><pre>% make slot.i
+Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i</pre>
+</div>
+<p>If you are always interested in seeing the compiler flags you can
+enable <tt class="docutils literal"><span class="pre">CMAKE_VERBOSE_MAKEFILES</span></tt> via <tt class="docutils literal"><span class="pre">ccmake</span></tt>, or for a one-off
+just pass <tt class="docutils literal"><span class="pre">VERBOSE=1</span></tt> on the command line:</p>
+<div class="highlight-python"><pre>% make VERBOSE=1 slot.i
+make[1]: Entering directory `/home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build'
+Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i
+cd /home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build/libs/signals/src &amp;&amp; /usr/bin/gcc-4.1
+-DBOOST_ALL_NO_LIB=1 -DBOOST_SIGNALS_NO_LIB=1 -Dboost_signals_mt_shared_EXPORTS -fPIC
+-I/home/troy/Projects/boost/branches/CMake/Boost_1_35_0 -O3 -DNDEBUG -DBOOST_SIGNALS_DYN_LINK=1
+-pthread -D_REENTRANT -E /home/troy/Projects/boost/branches/CMake/Boost_1_35_0/libs/signals/src/slot.cpp &gt; CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i</pre>
+</div>
+</div>
+<div class="section" id="tests-and-examples">
+<h2>Tests and examples<a class="headerlink" href="#tests-and-examples" title="Permalink to this headline">¶</a></h2>
+<p>Tests and examples are typically grouped into subdirectories, e.g.:</p>
+<div class="highlight-python"><pre>libs/
+ iostreams/
+ test/
+ examples/</pre>
+</div>
+<p>CMake builds a parallel directory hierarchy in the build directory. If
+you are working on, say, the examples for iostreams, you can just
+<tt class="docutils literal"><span class="pre">cd</span></tt> into the directory $BUILDDIR/libs/iostreams/examples and type
+<tt class="docutils literal"><span class="pre">make</span></tt>:</p>
+<div class="highlight-python"><pre>% cd libs/iostreams/example
+% make
+[ 0%] Built target boost_iostreams-mt-static
+Scanning dependencies of target iostreams-examples-boost_back_inserter_example
+[ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-boost_back_inserter_example.dir/boost_back_inserter_example.cpp.o
+Linking CXX executable ../../../bin/iostreams-examples-boost_back_inserter_example
+[ 0%] Built target iostreams-examples-boost_back_inserter_example
+Scanning dependencies of target iostreams-examples-container_device_example
+[ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_device_example.dir/container_device_example.cpp.o
+Linking CXX executable ../../../bin/iostreams-examples-container_device_example
+[ 0%] Built target iostreams-examples-container_device_example
+Scanning dependencies of target iostreams-examples-container_sink_example
+[ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_sink_example.dir/container_sink_example.cpp.o</pre>
+</div>
+</div>
+<div class="section" id="building-individual-targets-ignoring-prerequisites">
+<h2>Building individual targets, ignoring prerequisites<a class="headerlink" href="#building-individual-targets-ignoring-prerequisites" title="Permalink to this headline">¶</a></h2>
+<p>If you find yourself working on a compiler error in a file that takes
+a long time to compile, waiting for make to check all of the
+prerequisites might become tedious. You can have make skip the
+prerequisite testing (you do this at your own risk), by appending
+<tt class="docutils literal"><span class="pre">/fast</span></tt> to the target name. For instance, bcp depends on the
+<tt class="docutils literal"><span class="pre">system</span></tt>, <tt class="docutils literal"><span class="pre">filesystem</span></tt> <tt class="docutils literal"><span class="pre">regex</span></tt> and <tt class="docutils literal"><span class="pre">prg_exec_monitor</span></tt>
+libraries:</p>
+<div class="highlight-python"><pre>% cd tools/bcp
+% make bcp
+[ 0%] Built target boost_system-mt-static
+[ 0%] Built target boost_filesystem-mt-static
+[ 50%] Built target boost_regex-mt-static
+[ 75%] Built target boost_prg_exec_monitor-mt-static
+[ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o</pre>
+</div>
+<p>if I make <tt class="docutils literal"><span class="pre">bcp/fast</span></tt>, the dependencies are assumed to be built
+already:</p>
+<div class="highlight-python"><pre>% make bcp/fast
+[ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o
+[ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/bcp_imp.cpp.o
+(etc)</pre>
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="add_boost_library.html" title="Adding a Library Project"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="diff.html" title="Differences between this release and upstream"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/install_customization.html b/tools/build/CMake/docs/build/html/install_customization.html
new file mode 100644
index 0000000..dd3380c
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/install_customization.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Customizing the install &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="find_package(Boost)" href="find_package_boost.html" />
+ <link rel="prev" title="Tricks for Building against Boost with CMake" href="exported_targets.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="find_package_boost.html" title="find_package(Boost)"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="exported_targets.html" title="Tricks for Building against Boost with CMake"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Customizing the install</a><ul>
+<li><a class="reference external" href="#cmake-install-prefix">CMAKE_INSTALL_PREFIX</a></li>
+<li><a class="reference external" href="#lib-suffix">LIB_SUFFIX</a></li>
+<li><a class="reference external" href="#install-versioned">INSTALL_VERSIONED</a></li>
+<li><a class="reference external" href="#boost-lib-install-dir">BOOST_LIB_INSTALL_DIR</a></li>
+<li><a class="reference external" href="#boost-include-install-dir">BOOST_INCLUDE_INSTALL_DIR</a></li>
+<li><a class="reference external" href="#boost-cmake-infrastructure-install-dir">BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR</a></li>
+<li><a class="reference external" href="#boost-install-cmake-drivers">BOOST_INSTALL_CMAKE_DRIVERS</a></li>
+<li><a class="reference external" href="#boost-cmake-drivers-install-dir">BOOST_CMAKE_DRIVERS_INSTALL_DIR</a></li>
+<li><a class="reference external" href="#boost-exports-file">BOOST_EXPORTS_FILE</a></li>
+<li><a class="reference external" href="#boost-exports-install-dir">BOOST_EXPORTS_INSTALL_DIR</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="exported_targets.html"
+ title="previous chapter">Tricks for Building against Boost with CMake</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="find_package_boost.html"
+ title="next chapter">find_package(Boost)</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/install_customization.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="customizing-the-install">
+<span id="install-customization"></span><h1>Customizing the install<a class="headerlink" href="#customizing-the-install" title="Permalink to this headline">¶</a></h1>
+<p>Here you&#8217;ll find ways to customize your installation. If you&#8217;re
+trying to make the install play nice with cmake&#8217;s <tt class="docutils literal"><span class="pre">find_package</span></tt>,
+see <a class="reference external" href="find_package_boost.html#find-package-boost"><em>find_package(Boost)</em></a>.</p>
+<div class="section" id="cmake-install-prefix">
+<span id="index-133"></span><span id="id1"></span><h2>CMAKE_INSTALL_PREFIX<a class="headerlink" href="#cmake-install-prefix" title="Permalink to this headline">¶</a></h2>
+<p>This is a standard cmake option that sets the path to which boost
+will be installed.</p>
+<p id="index-134">CMake generates makefiles that play nice with <tt class="docutils literal"><span class="pre">DESTDIR</span></tt>. e.g.
+if you configure like this:</p>
+<div class="highlight-python"><pre>cmake ../src -DCMAKE_INSTALL_PREFIX=/tmp/blah</pre>
+</div>
+<p>and install with <tt class="docutils literal"><span class="pre">DESTDIR=/foo</span> <span class="pre">make</span> <span class="pre">install</span></tt>, you&#8217;ll get files
+installed to <tt class="docutils literal"><span class="pre">/foo/tmp/blah</span></tt>.</p>
+</div>
+<div class="section" id="lib-suffix">
+<span id="index-135"></span><span id="id2"></span><h2>LIB_SUFFIX<a class="headerlink" href="#lib-suffix" title="Permalink to this headline">¶</a></h2>
+<p>This defines the subdirectory of <tt class="docutils literal"><span class="pre">CMAKE_INSTALL_PREFIX</span></tt> to which
+libraries will be installed. It is empty by default. For example,
+if I&#8217;m on 64-bit fedora, I want the libs installed to
+<tt class="docutils literal"><span class="pre">/usr/lib64</span></tt>, I&#8217;d use:</p>
+<div class="highlight-python"><pre>cmake ../src -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64</pre>
+</div>
+</div>
+<div class="section" id="install-versioned">
+<span id="index-136"></span><span id="id3"></span><h2>INSTALL_VERSIONED<a class="headerlink" href="#install-versioned" title="Permalink to this headline">¶</a></h2>
+<p><strong>ON</strong> by default on unix, <strong>OFF</strong> on windows.</p>
+<p>This is a different mangling than <a class="reference external" href="build_configuration.html#winmangle-libnames"><em>WINMANGLE_LIBNAMES</em></a>: this
+variable controls whether boost versions will be mangled into the
+paths into which boost is installed. This option <strong>has effect only
+when CMake is run the first time</strong>: they will be set as explained
+below the first time thereafter not modified, so that the paths are
+customizable by users. (ie If you have configured a build and change
+this option, it will have no effect, you must start &#8220;from scratch&#8221;)</p>
+<p class="rubric">Example</p>
+<p>For boost version 1.41.0, with this option ON, the installation tree
+is:</p>
+<div class="highlight-python"><pre>$CMAKE_INSTALL_PREFIX/
+ include/
+ boost-1.41.0/
+ boost/
+ version.hpp
+ ...
+ lib/
+ boost-1.41.0/
+ libboost_signals-mt-d.so
+ ...</pre>
+</div>
+<p>and without it,</p>
+<div class="highlight-python"><pre>$CMAKE_INSTALL_PREFIX/
+ include/
+ boost/
+ version.hpp
+ ...
+ lib/
+ boost/
+ libboost_signals-mt-d.so
+ ...</pre>
+</div>
+<p><strong>Note:</strong> <tt class="docutils literal"><span class="pre">lib/</span></tt> above will contain <a class="reference internal" href="#lib-suffix"><em>LIB_SUFFIX</em></a> if set.</p>
+<p>See also <a class="reference external" href="build_configuration.html#build-soversioned"><em>BUILD_SOVERSIONED</em></a></p>
+<p>The relative lib and include pathnames can be controlled individually
+with the following two variables:</p>
+</div>
+<div class="section" id="boost-lib-install-dir">
+<span id="index-137"></span><span id="id4"></span><h2>BOOST_LIB_INSTALL_DIR<a class="headerlink" href="#boost-lib-install-dir" title="Permalink to this headline">¶</a></h2>
+<p>The directory to which libs will be installed under
+<a class="reference internal" href="#cmake-install-prefix"><em>CMAKE_INSTALL_PREFIX</em></a>.</p>
+</div>
+<div class="section" id="boost-include-install-dir">
+<span id="index-138"></span><span id="id5"></span><h2>BOOST_INCLUDE_INSTALL_DIR<a class="headerlink" href="#boost-include-install-dir" title="Permalink to this headline">¶</a></h2>
+<p>The directory to which boost header files will be installed under
+<a class="reference internal" href="#cmake-install-prefix"><em>CMAKE_INSTALL_PREFIX</em></a>.</p>
+</div>
+<div class="section" id="boost-cmake-infrastructure-install-dir">
+<span id="index-139"></span><span id="id6"></span><h2>BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR<a class="headerlink" href="#boost-cmake-infrastructure-install-dir" title="Permalink to this headline">¶</a></h2>
+<p>This is a directory to which the targets from this boost install will
+be exported, by default <tt class="docutils literal"><span class="pre">${CMAKE_INSTALL_PREFIX}/share/boost-</span></tt>1.41.0<tt class="docutils literal"><span class="pre">/cmake</span></tt>: this significanly eases detection of boost
+installations by CMake. The name of the files are
+<tt class="docutils literal"><span class="pre">BoostConfig.cmake</span></tt> and <tt class="docutils literal"><span class="pre">BoostConfigVersion.cmake</span></tt> <a class="footnote-reference" href="#findpackage" id="id7">[1]</a>.
+See <a class="reference external" href="exported_targets.html#exported-targets"><em>Tricks for Building against Boost with CMake</em></a> for
+more information about how users employ this file.</p>
+<p>If this is a full path, it will be used directly, otherwise it will be
+interpreted relative to <tt class="docutils literal"><span class="pre">${CMAKE_INSTALL_PREFIX}</span></tt>.</p>
+</div>
+<div class="section" id="boost-install-cmake-drivers">
+<span id="index-140"></span><span id="id8"></span><h2>BOOST_INSTALL_CMAKE_DRIVERS<a class="headerlink" href="#boost-install-cmake-drivers" title="Permalink to this headline">¶</a></h2>
+<p>Specifies whether generic cmake driver files should be installed,
+see the next option to customize where. This variable is
+<tt class="docutils literal"><span class="pre">ON</span></tt> by default.</p>
+</div>
+<div class="section" id="boost-cmake-drivers-install-dir">
+<h2>BOOST_CMAKE_DRIVERS_INSTALL_DIR<a class="headerlink" href="#boost-cmake-drivers-install-dir" title="Permalink to this headline">¶</a></h2>
+<p>There are two optional version-agnostic driver files that can be
+installed to a central location, by default
+<tt class="docutils literal"><span class="pre">${CMAKE_INSTALL_PREFIX}/share/boost-</span></tt>1.41.0<tt class="docutils literal"><span class="pre">/cmake</span></tt>.</p>
+<p>named <tt class="docutils literal"><span class="pre">BoostConfig.cmake</span></tt> and <tt class="docutils literal"><span class="pre">BoostConfigVersion.cmake</span></tt>. These
+two files coordinate with Boost-1.41.0.cmake to enable cmake
+developers who use both boost and cmake to find local boost
+installations via the standard cmake incantation:</p>
+<div class="highlight-python"><pre>find_package(Boost 1.41.0 COMPONENTS thread iostreams)</pre>
+</div>
+<p>These driver files should be the same from release to release.</p>
+<p>This variable allows modification of this location; If this is a full
+path, it will be used directly, otherwise it will be interpreted
+relative to <tt class="docutils literal"><span class="pre">${CMAKE_INSTALL_PREFIX}</span></tt>.</p>
+</div>
+<div class="section" id="boost-exports-file">
+<span id="index-141"></span><span id="id9"></span><h2>BOOST_EXPORTS_FILE<a class="headerlink" href="#boost-exports-file" title="Permalink to this headline">¶</a></h2>
+<p>This is the path <em>in the build tree</em> to the file that will contain
+CMake exported targets, by default it is:</p>
+<div class="highlight-python"><pre>${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake</pre>
+</div>
+<p>See <a class="reference external" href="exported_targets.html#exported-targets"><em>Tricks for Building against Boost with CMake</em></a> for information on how to use this handy
+file when building against an <strong>uninstalled</strong> boost. <em>This variable
+has no effect on installation, and is only useful if building separate
+cmake projects against an uninstalled boost.</em></p>
+<p>If this is a full path, it will be used directly, otherwise it will be
+interpreted relative to <tt class="docutils literal"><span class="pre">${CMAKE_BINARY_DIR}</span></tt>.</p>
+</div>
+<div class="section" id="boost-exports-install-dir">
+<span id="boost-install-exports-file"></span><span id="index-142"></span><h2>BOOST_EXPORTS_INSTALL_DIR<a class="headerlink" href="#boost-exports-install-dir" title="Permalink to this headline">¶</a></h2>
+<p>This is the path to which exported targest will be installed. By
+default it is <tt class="docutils literal"><span class="pre">${BOOST_LIB_INSTALL_DIR}</span></tt>. This must be a
+<strong>relative</strong> path.</p>
+<p>See <a class="reference external" href="exported_targets.html#exported-targets"><em>Tricks for Building against Boost with CMake</em></a> for information on how to use this handy
+file to build against an <strong>installed</strong> boost.</p>
+<p class="rubric">Footnotes</p>
+<table class="docutils footnote" frame="void" id="findpackage" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id7">[1]</a></td><td>See also the cmake docs for <tt class="docutils literal"><span class="pre">find_package()</span></tt>.</td></tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="find_package_boost.html" title="find_package(Boost)"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="exported_targets.html" title="Tricks for Building against Boost with CMake"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/notes_by_version.html b/tools/build/CMake/docs/build/html/notes_by_version.html
new file mode 100644
index 0000000..b475292
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/notes_by_version.html
@@ -0,0 +1,328 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Notes by Boost Version &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="boost_library_project" href="reference/boost_library_project.html" />
+ <link rel="prev" title="Building a Binary Installer" href="build_installer.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="reference/boost_library_project.html" title="boost_library_project"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="build_installer.html" title="Building a Binary Installer"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Notes by Boost Version</a><ul>
+<li><a class="reference external" href="#cmake1">1.41.0.cmake1</a></li>
+<li><a class="reference external" href="#beta1-cmake1">1.41.0.beta1.cmake1</a></li>
+<li><a class="reference external" href="#cmakebeta4">1.41.0.cmakebeta4</a></li>
+<li><a class="reference external" href="#cmakebeta3">1.41.0.cmakebeta3</a></li>
+<li><a class="reference external" href="#upstream">1.41.0 (upstream)</a></li>
+<li><a class="reference external" href="#cmake4">1.40.0.cmake4</a></li>
+<li><a class="reference external" href="#cmake3">1.40.0.cmake3</a></li>
+<li><a class="reference external" href="#cmake2">1.40.0.cmake2</a></li>
+<li><a class="reference external" href="#id1">1.40.0.cmake1</a></li>
+<li><a class="reference external" href="#cmake0">1.40.0.cmake0</a></li>
+<li><a class="reference external" href="#id2">1.40.0</a></li>
+<li><a class="reference external" href="#and-1-39-0">1.38.0 and 1.39.0</a><ul>
+<li><a class="reference external" href="#known-issues">Known Issues</a></li>
+</ul>
+</li>
+<li><a class="reference external" href="#id3">1.35.0 - 1.37</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="build_installer.html"
+ title="previous chapter">Building a Binary Installer</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="reference/boost_library_project.html"
+ title="next chapter">boost_library_project</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/notes_by_version.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="notes-by-boost-version">
+<h1>Notes by Boost Version<a class="headerlink" href="#notes-by-boost-version" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="cmake1">
+<h2>1.41.0.cmake1<a class="headerlink" href="#cmake1" title="Permalink to this headline">¶</a></h2>
+<p>Again, innumerable tiny tweaks.</p>
+</div>
+<div class="section" id="beta1-cmake1">
+<h2>1.41.0.beta1.cmake1<a class="headerlink" href="#beta1-cmake1" title="Permalink to this headline">¶</a></h2>
+<p>This is the first cmake beta based on upstream <tt class="docutils literal"><span class="pre">Boost_1_41_0_beta1</span></tt>.
+There are <em>way</em> too many enhancements to mention.</p>
+</div>
+<div class="section" id="cmakebeta4">
+<h2>1.41.0.cmakebeta4<a class="headerlink" href="#cmakebeta4" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>CMake minimum 2.6.4 required (found bugs with 2.6.2)</li>
+<li>Move MPI detection up</li>
+<li>Clean up output</li>
+</ul>
+</div>
+<div class="section" id="cmakebeta3">
+<h2>1.41.0.cmakebeta3<a class="headerlink" href="#cmakebeta3" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><a class="reference external" href="build_variants.html#variants"><em>Build Variants and Features</em></a> names switched to <tt class="docutils literal"><span class="pre">ENABLE_&lt;feature&gt;</span></tt> to distinguish
+from <tt class="docutils literal"><span class="pre">BUILD_*</span></tt> options.</li>
+<li>Many docs improvements</li>
+<li>Special targets for the boost-cmake maintainer</li>
+<li><a class="reference external" href="build_configuration.html#build-projects"><em>BUILD_PROJECTS</em></a> <tt class="docutils literal"><span class="pre">(=</span> <span class="pre">NONE|ALL|proj1;proj2;...;projN)</span></tt>
+variable for building only certain projects.</li>
+<li><a class="reference external" href="build_configuration.html#build-examples"><em>BUILD_EXAMPLES</em></a> <tt class="docutils literal"><span class="pre">(=</span> <span class="pre">NONE|ALL|proj1;proj2;...;projN)</span></tt>
+variable for building examples only of certain projects.</li>
+<li><a class="reference external" href="install_customization.html#lib-suffix"><em>LIB_SUFFIX</em></a> for installing libs to nonstandard lib directory
+name, e.g. for LIB_SUFFIX=64, libs installed to <tt class="docutils literal"><span class="pre">$PREFIX/lib64</span></tt></li>
+<li>Testing improvements: cmake now runs 2408 tests, 99% of which pass.
+This isn&#8217;t the full set, upstream is a moving target. The few
+remaining failures (assuming upstream is bug-free) are assumed to be
+problems in the testing setup, not the underlying libraries.</li>
+<li>Python: python location customizable via command line or environment
+variables, see <a class="reference external" href="externals/index.html#external-dependencies"><em>External Dependencies</em></a>.</li>
+</ul>
+<p>(1.41.0.cmakebeta1 and 2 omitted)</p>
+</div>
+<div class="section" id="upstream">
+<h2>1.41.0 (upstream)<a class="headerlink" href="#upstream" title="Permalink to this headline">¶</a></h2>
+<p>This release (as released by upstream Boost) does <strong>not</strong> contain
+CMake support. See above for independenly released CMake versions.</p>
+</div>
+<div class="section" id="cmake4">
+<h2>1.40.0.cmake4<a class="headerlink" href="#cmake4" title="Permalink to this headline">¶</a></h2>
+<p>Backport features from 1.41.0.cmakebeta3</p>
+</div>
+<div class="section" id="cmake3">
+<h2>1.40.0.cmake3<a class="headerlink" href="#cmake3" title="Permalink to this headline">¶</a></h2>
+<p>Skipped</p>
+</div>
+<div class="section" id="cmake2">
+<h2>1.40.0.cmake2<a class="headerlink" href="#cmake2" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Modularization disabled... this can waste your source directory
+and was causing confusion.</li>
+<li>Docs tagged with specific boost-cmake release version.</li>
+</ul>
+</div>
+<div class="section" id="id1">
+<h2>1.40.0.cmake1<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
+<p>From the boost-cmake list:</p>
+<div class="highlight-python"><pre>&gt; As of now, your Boost 1.40.0 branch builds and installs without error
+&gt; for me on Windows (Intel 11.1, Visual Studio 2009, Visual Studio 2010
+&gt; Beta 1), Linux (GCC 4.2, GCC 4.4, Intel 11.1), and Mac OS X 10.6 (GCC
+&gt; 4.2, Intel 11.1).</pre>
+</div>
+<p>This version also includes fixes for cmake version 2.8 (as of this
+writing, in beta).</p>
+<p>Special thanks in alphabetical order:</p>
+<ul class="simple">
+<li>Claudio Bley</li>
+<li>Justin Holewinski</li>
+<li>Philip Lowman</li>
+</ul>
+</div>
+<div class="section" id="cmake0">
+<h2>1.40.0.cmake0<a class="headerlink" href="#cmake0" title="Permalink to this headline">¶</a></h2>
+<p>This version works on windows with MSVC and linux with gcc.</p>
+</div>
+<div class="section" id="id2">
+<h2>1.40.0<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
+<p>This version is <strong>broken</strong> in the svn distribution. See later
+releases with the <tt class="docutils literal"><span class="pre">.cmakeN</span></tt> suffix.</p>
+</div>
+<div class="section" id="and-1-39-0">
+<h2>1.38.0 and 1.39.0<a class="headerlink" href="#and-1-39-0" title="Permalink to this headline">¶</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p>-DCMAKE_IS_EXPERIMENTAL=ORLY_YARLY</p>
+<p class="last">This guard variable is included in releases of Boost.CMake through
+version 1.38. You just need to set this variable to some value (be
+creative) when running cmake for the first time to disable the
+guard.</p>
+</div>
+<p>Boost.CMake was included as an experimental system for the first time.
+It is perfectly capable of doing the basic build and install of boost.
+You <em>must</em> pass the argument</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="o">-</span><span class="n">DCMAKE_IS_EXPERIMENTAL</span><span class="o">=</span><span class="n">ORLY</span>
+</pre></div>
+</div>
+<p>to the initial run of cmake, or you will see an intimidating message
+explaining that Boost.CMake != Boost.Build. It looks like this:</p>
+<div class="highlight-python"><pre>-- ##########################################################################
+--
+-- Only Boost.Build is officially supported.
+--
+-- This is not Boost.Build.
+--
+-- This is an alternate, cmake-based build system that is currently under development.
+-- To try it out, invoke CMake with the argument
+-- -DCMAKE_IS_EXPERIMENTAL=YES_I_KNOW
+-- Or use the gui to set the variable CMAKE_IS_EXPERIMENTAL to some value.
+-- This will only be necessary the first time.
+--
+-- For more information on boost-cmake see the wiki:
+-- https://svn.boost.org/trac/boost/wiki/CMake
+--
+-- Subscribe to the mailing list:
+-- http://lists.boost.org/mailman/listinfo.cgi/boost-cmake
+--
+-- NOTE: Please ask questions about this build system on the boost-cmake list,
+-- not on other boost lists.
+--
+-- And/or check the archives:
+-- http://news.gmane.org/gmane.comp.lib.boost.cmake
+--
+-- ##########################################################################
+CMake Error at CMakeLists.txt:61 (message):
+ Magic variable CMAKE_IS_EXPERIMENTAL unset.
+
+
+-- Configuring incomplete, errors occurred!</pre>
+</div>
+<p>Again, f you see this, just set that guard variable to something, to
+demonstrate your tenacity and dedication. Then things will work fine.</p>
+<p class="rubric">Quick and dirty HOWTO</p>
+<div class="highlight-python"><pre>% mkdir /tmp/boost
+% cd /tmp/boost
+% svn co https://svn.boost.org/svn/boost/tags/release/Boost_1_38_0 src
+% mkdir build
+% cd build
+% cmake -DCMAKE_IS_EXPERIMENTAL=ORLY -DCMAKE_INSTALL_PREFIX=/path/to/installdir ../src</pre>
+</div>
+<p>At this point, you have two options: you either want to leave boost in
+place and use it there, or you want to install it to a particular
+location.</p>
+<p><strong>In-place</strong></p>
+<blockquote>
+<p>If you&#8217;re competent to specify header/library paths
+yourself and want to build in place:</p>
+<div class="highlight-python"><pre>% make</pre>
+</div>
+<p>and your libraries will be in /tmp/boost/build/lib, and the headers in
+/tmp/boost/src, (where you&#8217;d expect them to be).</p>
+</blockquote>
+<p><strong>Installed to some location</strong></p>
+<blockquote>
+<p>This will install boost to <tt class="docutils literal"><span class="pre">lib/</span></tt> and <tt class="docutils literal"><span class="pre">include/</span></tt> under the
+<tt class="docutils literal"><span class="pre">CMAKE_INSTALL_PREFIX</span></tt> given above:</p>
+<div class="highlight-python"><pre>% make modularize # shuffles some headers around
+% make install</pre>
+</div>
+</blockquote>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">In versions 1.38 and 1.39, if you want to <tt class="docutils literal"><span class="pre">make</span> <span class="pre">install</span></tt>, you
+<em>must</em> <tt class="docutils literal"><span class="pre">make</span> <span class="pre">modularize</span></tt> first. This is an intermediate step
+that we expect to go away in future versions.</p>
+</div>
+<p>Also note that cmake supports <tt class="docutils literal"><span class="pre">DESTDIR</span></tt> for making .deb and .rpm
+packages; see the standard cmake documentation</p>
+<div class="section" id="known-issues">
+<h3>Known Issues<a class="headerlink" href="#known-issues" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>There isn&#8217;t much support for building/running tests within boost in
+these releases.</li>
+<li>In version 1.39, the <tt class="docutils literal"><span class="pre">BOOST_VERSION_MINOR</span></tt> is wrong: it is set to
+1.38. You can set this manually by looking for
+<tt class="docutils literal"><span class="pre">BOOST_VERSION_MINOR</span></tt> in the toplevel <tt class="docutils literal"><span class="pre">CMakeLists.txt</span></tt></li>
+<li>The boost build names the <tt class="docutils literal"><span class="pre">boost_prg_exec_monitor</span></tt> and
+<tt class="docutils literal"><span class="pre">boost_unit_test_framework</span></tt> libraries with an additional trailing
+<tt class="docutils literal"><span class="pre">-s</span></tt>. You will probably need to modify your build if you use
+these libraries.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id3">
+<h2>1.35.0 - 1.37<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
+<p>There was a CMake branch that built these releases, but Boost.CMake
+was not included in the official distribution.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="reference/boost_library_project.html" title="boost_library_project"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="build_installer.html" title="Building a Binary Installer"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/objects.inv b/tools/build/CMake/docs/build/html/objects.inv
new file mode 100644
index 0000000..a43c8f6
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/objects.inv
@@ -0,0 +1,6 @@
+# Sphinx inventory version 1
+# Project: Boost.CMake
+# Version: 1.41.0
+boost_add_library cmake reference/boost_add_library.html
+boost_library_project cmake reference/boost_library_project.html
+boost_add_executable cmake reference/boost_add_executable.html
diff --git a/tools/build/CMake/docs/build/html/quickstart.html b/tools/build/CMake/docs/build/html/quickstart.html
new file mode 100644
index 0000000..8190a74
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/quickstart.html
@@ -0,0 +1,348 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Quickstart &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Configuring the buildspace" href="build_configuration.html" />
+ <link rel="prev" title="Boost-CMake 1.41.0.cmake0" href="index.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="build_configuration.html" title="Configuring the buildspace"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="index.html" title="Boost-CMake 1.41.0.cmake0"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Quickstart</a><ul>
+<li><a class="reference external" href="#download-cmake">Download CMake</a></li>
+<li><a class="reference external" href="#checkout-download-the-code">Checkout / download the code</a></li>
+<li><a class="reference external" href="#on-unix">On Unix</a><ul>
+<li><a class="reference external" href="#configure">Configure</a></li>
+<li><a class="reference external" href="#build-and-install">Build and Install</a></li>
+</ul>
+</li>
+<li><a class="reference external" href="#windows">Windows</a><ul>
+<li><a class="reference external" href="#configuration-for-visual-studio">Configuration for Visual Studio</a></li>
+<li><a class="reference external" href="#configuration-for-nmake">Configuration for NMake</a></li>
+<li><a class="reference external" href="#build-visual-studio">Build &#8211; Visual Studio</a></li>
+<li><a class="reference external" href="#build-nmake">Build &#8211; NMake</a></li>
+<li><a class="reference external" href="#installation">Installation</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="index.html"
+ title="previous chapter">Boost-CMake 1.41.0.cmake0</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="build_configuration.html"
+ title="next chapter">Configuring the buildspace</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/quickstart.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="quickstart">
+<span id="id1"></span><h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline">¶</a></h1>
+<p>This page describes how to configure and build Boost with CMake. By
+following these instructions, you should be able to get CMake,
+configure a Boost build tree to your liking with CMake, and then
+build, install, and package Boost libraries.</p>
+<div class="section" id="download-cmake">
+<h2>Download CMake<a class="headerlink" href="#download-cmake" title="Permalink to this headline">¶</a></h2>
+<p>You can get it here: <a class="reference external" href="http://www.cmake.org/HTML/Download.html">http://www.cmake.org/HTML/Download.html</a></p>
+<p>There are precompiled binaries for CMake on several different
+platforms. The installation of these pre-compiled binaries is mostly
+self-explanatory. If you need to build your own copy of CMake, please
+see the <a class="reference external" href="http://www.cmake.org/HTML/Install.html">CMake installation instructions</a>.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p>In these instructions, we will do things such that the Boost source
+tree (with CMake build files) is available in the directory
+<tt class="docutils literal"><span class="pre">$BOOST/src</span></tt> and that the build will happen in <tt class="docutils literal"><span class="pre">$BOOST/build</span></tt>:</p>
+<div class="highlight-python"><pre>$BOOST/
+ src/ # (source checked out to here)
+ build/ # (build output here)</pre>
+</div>
+<p class="last">Note that it is <em>not</em> actually necessary to set any environment
+variable <tt class="docutils literal"><span class="pre">BOOST</span></tt>, this is a convention used in this document.</p>
+</div>
+</div>
+<div class="section" id="checkout-download-the-code">
+<h2>Checkout / download the code<a class="headerlink" href="#checkout-download-the-code" title="Permalink to this headline">¶</a></h2>
+<p>Tarballs and zipfiles are avaiable at
+<a class="reference external" href="http://sodium.resophonic.com/boost-cmake">http://sodium.resophonic.com/boost-cmake</a> in subdirectory 1.41.0.cmake0.</p>
+<p>Boost.CMake is distributed <em>separately</em> from upstream boost. Code is
+in a <a class="reference external" href="http://git-scm.com">git</a> repository at
+<a class="reference external" href="http://gitorious.org/boost/cmake.git">http://gitorious.org/boost/cmake.git</a>. These documents correspond to
+tag 1.41.0.cmake0. You can clone the repository locally and then check out
+the tag:</p>
+<div class="highlight-python"><pre>git clone git://gitorious.org/boost/cmake.git src
+cd src
+git checkout &lt;TAG&gt;</pre>
+</div>
+<p>where <tt class="docutils literal"><span class="pre">&lt;TAG&gt;</span></tt> is 1.41.0.cmake0</p>
+</div>
+<div class="section" id="on-unix">
+<h2>On Unix<a class="headerlink" href="#on-unix" title="Permalink to this headline">¶</a></h2>
+<p>Create and change to the directory that will hold the binaries that
+CMake build:</p>
+<div class="highlight-python"><pre>mkdir $BOOST/build
+cd $BOOST/build</pre>
+</div>
+<div class="section" id="configure">
+<span id="unix-configure"></span><h3>Configure<a class="headerlink" href="#configure" title="Permalink to this headline">¶</a></h3>
+<p>Run the CMake configuration program, providing it with the Boost
+source directory:</p>
+<div class="highlight-python"><pre>cmake -DCMAKE_INSTALL_PREFIX=/somewhere $BOOST/src</pre>
+</div>
+<p>(<a class="reference external" href="install_customization.html#cmake-install-prefix"><em>CMAKE_INSTALL_PREFIX</em></a> defaults to <tt class="docutils literal"><span class="pre">/usr/local</span></tt> on unix and
+<tt class="docutils literal"><span class="pre">C:\\Program</span> <span class="pre">Files\Boost</span></tt> on windows). Replace <tt class="docutils literal"><span class="pre">/somewhere</span></tt> above
+with a path you like if the defaults aren&#8217;t okay. You&#8217;ll see output
+from <tt class="docutils literal"><span class="pre">cmake</span></tt>. It looks somewhat like this:</p>
+<div class="highlight-python"><pre>-- Check for working C compiler: /usr/bin/gcc
+-- Check for working C compiler: /usr/bin/gcc -- works
+-- Check size of void*
+-- Check size of void* - done
+-- Check for working CXX compiler: /usr/bin/c++
+-- Check for working CXX compiler: /usr/bin/c++ -- works
+-- Scanning subdirectories:
+-- + io
+-- + any
+-- + crc
+-- + mpl
+
+ (etc, etc)
+
+-- + program_options
+-- + ptr_container
+-- + type_traits
+-- Configuring done
+-- Generating done
+-- Build files have been written to: $BOOST/build</pre>
+</div>
+<p>The directory <tt class="docutils literal"><span class="pre">$BOOST/build</span></tt> should now contain a bunch of generated
+files, including a top level <tt class="docutils literal"><span class="pre">Makefile</span></tt>, something like this:</p>
+<div class="highlight-python"><pre>% ls
+CMakeCache.txt CPackConfig.cmake Makefile
+cmake_install.cmake libs/ CMakeFiles/
+CPackSourceConfig.cmake bin/ lib/</pre>
+</div>
+</div>
+<div class="section" id="build-and-install">
+<h3>Build and Install<a class="headerlink" href="#build-and-install" title="Permalink to this headline">¶</a></h3>
+<p>Now build and install boost:</p>
+<div class="highlight-python"><pre>make install</pre>
+</div>
+<p>You&#8217;ll see:</p>
+<div class="highlight-python"><pre>Scanning dependencies of target boost_date_time-mt-shared
+[ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_month.cpp.o
+[ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_weekday.cpp.o
+[ 1%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/date_generators.cpp.o
+Linking CXX shared library ../../../lib/libboost_date_time-mt.so
+[ 1%] Built target boost_date_time-mt-shared
+
+(etc etc)
+
+[100%] Built bcp
+
+(etc etc)
+
+-- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.a
+-- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.so
+-- Removed runtime path from "/tmp/flanboost/lib/libboost_wave-mt-d.so"
+-- Installing: /tmp/flanboost/bin/bcp
+-- Installing: /tmp/flanboost/bin/inspect</pre>
+</div>
+<p>And you&#8217;re done. Once the build completes (which make take a while, if
+you are building all of the Boost libraries), the Boost libraries will
+be in a predictable layout under the directory passed to
+<a class="reference external" href="install_customization.html#cmake-install-prefix"><em>CMAKE_INSTALL_PREFIX</em></a> (default <tt class="docutils literal"><span class="pre">/usr/local</span></tt>)</p>
+</div>
+</div>
+<div class="section" id="windows">
+<h2>Windows<a class="headerlink" href="#windows" title="Permalink to this headline">¶</a></h2>
+<p>There are two different sets of directions: visual studio, which is
+quite specific, and nmake, which is much like the Unix version, above.</p>
+<div class="section" id="configuration-for-visual-studio">
+<span id="vs-configure"></span><span id="index-57"></span><h3>Configuration for Visual Studio<a class="headerlink" href="#configuration-for-visual-studio" title="Permalink to this headline">¶</a></h3>
+<p>Run CMake by selecting it from the Start menu.</p>
+<ul>
+<li><p class="first">Use the <em>Browse...</em> button next to <em>Where is the source code</em> to
+point CMake at the Boost source code in <tt class="docutils literal"><span class="pre">$BOOST\src</span></tt>.</p>
+</li>
+<li><p class="first">Use the second <em>Browse...</em> button to next to <em>Where to build the
+binaries</em> to select the directory where Boost will build binaries,
+<tt class="docutils literal"><span class="pre">$BOOST\build</span></tt>.</p>
+</li>
+<li><p class="first">Click <em>Configure</em> a first time to configure Boost, which will search
+for various libraries on your system and prepare the build. CMake
+will ask you what kind of project files or make files to build. If
+you&#8217;re using Microsoft Visual Studio, select the appropriate version
+to generate project files. Otherwise, you can use Borland&#8217;s make
+files. If you&#8217;re using NMake, see the next section.</p>
+</li>
+<li><p class="first">On an XP box with VS9 one sees roughly this in the output window at
+the bottom:</p>
+<div class="highlight-python"><pre>Check for working C compiler: cl
+Check for working C compiler: cl -- works
+Detecting C compiler ABI info
+Detecting C compiler ABI info - done
+Check for working CXX compiler: cl
+Check for working CXX compiler: cl -- works
+Detecting CXX compiler ABI info
+Detecting CXX compiler ABI info - done
+Boost version 1.41.0
+Found PythonInterp: C:/Python26/python.exe
+Found PythonLibs: C:/Python26/libs/python26.lib
+Boost compiler: msvc
+Boost toolset: vc90
+Boost platform: windows
+Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
+Build name: msvc-9.0-windows
+ + preprocessor
+ + concept_check
+ ...
+ + units
+ + wave
+Configuring done</pre>
+</div>
+</li>
+<li><p class="first">The messages about &#8216;missing doxygen&#8217; and whatnot are not
+showstoppers for now, so long as configuration is successful. You
+will be given the opportunity to tune build options in the CMake GUI
+(see <a class="reference external" href="build_configuration.html#configure-and-build"><em>Configuring the buildspace</em></a> for more detail). They will
+initially appear red. Click <em>Configure</em> again when you are done
+editing them. The one thing that you may wish to configure as part
+of this &#8216;quickstart&#8217; is <tt class="docutils literal"><span class="pre">CMAKE_INSTALL_PREFIX</span></tt>.</p>
+</li>
+<li><p class="first">Finally, click <em>Generate</em> to generate project files. <tt class="docutils literal"><span class="pre">Boost.sln</span></tt>,
+the VS solution file, will appear in the <em>where to build the
+binaries</em> directory from the cmake gui.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="configuration-for-nmake">
+<span id="nmake"></span><span id="index-58"></span><h3>Configuration for NMake<a class="headerlink" href="#configuration-for-nmake" title="Permalink to this headline">¶</a></h3>
+<ul>
+<li><p class="first">Start a <cite>Visual Studio Command Prompt</cite> from the start menu. This
+will spawn a command prompt window with certain env variables set.
+CMake will detect these and automatically choose to generate NMake
+files.</p>
+</li>
+<li><p class="first">cd to $BOOST/build and execute:</p>
+<div class="highlight-python"><pre>cmake ..\src</pre>
+</div>
+<p>You will see output very similar to that on unix, see
+<a class="reference internal" href="#unix-configure"><em>Configure</em></a>.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="build-visual-studio">
+<h3>Build &#8211; Visual Studio<a class="headerlink" href="#build-visual-studio" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+Start up Visual Studio, load the solution or project <tt class="docutils literal"><span class="pre">Boost</span></tt> from
+the Boost build directory you set in the CMake configuration
+earlier. Then, just click <em>Build</em> to build all of Boost.</blockquote>
+</div>
+<div class="section" id="build-nmake">
+<h3>Build &#8211; NMake<a class="headerlink" href="#build-nmake" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+Execute <tt class="docutils literal"><span class="pre">nmake</span></tt> from the command prompt in the build directory.</blockquote>
+</div>
+<div class="section" id="installation">
+<h3>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h3>
+<p>The installation of Boost&#8217;s headers and compiled libraries uses the
+same tools as building the library. With Microsoft Visual Studio, just
+load the Boost solution or project and build the &#8216;INSTALL&#8217; target to
+perform the installation. With NMake, <tt class="docutils literal"><span class="pre">nmake</span> <span class="pre">install</span></tt>.</p>
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="build_configuration.html" title="Configuring the buildspace"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="index.html" title="Boost-CMake 1.41.0.cmake0"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_add_executable.html b/tools/build/CMake/docs/build/html/reference/boost_add_executable.html
new file mode 100644
index 0000000..190036c
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_add_executable.html
@@ -0,0 +1,220 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_add_executable &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_python_module" href="boost_python_module.html" />
+ <link rel="prev" title="boost_add_library" href="boost_add_library.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_python_module.html" title="boost_python_module"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_add_library.html" title="boost_add_library"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_add_library.html"
+ title="previous chapter">boost_add_library</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_python_module.html"
+ title="next chapter">boost_python_module</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_add_executable.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-add-executable">
+<span id="boost-add-executable-macro"></span><span id="index-59"></span><h1>boost_add_executable<a class="headerlink" href="#boost-add-executable" title="Permalink to this headline">¶</a></h1>
+<p>Adds an executable to the build</p>
+<dl class="cmake">
+<dt id="boost_add_executable">
+<tt class="descname">boost_add_executable</tt><big>(</big><em>exename source1 source2 ...</em><big>)</big><a class="headerlink" href="#boost_add_executable" title="Permalink to this definition">¶</a></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><em>source1 source2...</em> &#8211; sourcefiles</li>
+<li><em>COMPILE_FLAGS flag1 flag2 ...</em> &#8211; (optional) compile flags</li>
+<li><em>LINK_FLAGS flag1 flag2 ...</em> &#8211; (optional) link flags</li>
+<li><em>feature_LINK_LIBS lib1 lib2 ...</em> &#8211; (optional) link libraries</li>
+<li><em>DEPENDS dep1 dep2 ...</em> &#8211; (optional) intraboost dependencies</li>
+<li><em>OUTPUT_NAME name</em> &#8211; (optional) output name</li>
+<li><em>NO_INSTALL</em> &#8211; (optional) don&#8217;t install</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<p>where exename is the name of the executable (e.g., &#8220;wave&#8221;). source1,
+source2, etc. are the source files used to build the executable, e.g.,
+cpp.cpp. If no source files are provided, &#8220;exename.cpp&#8221; will be
+used.</p>
+<p>This macro has a variety of options that affect its behavior. In
+several cases, we use the placeholder &#8220;feature&#8221; 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.</p>
+<p>The options that affect this macro&#8217;s behavior are:</p>
+<span class="target" id="compile-flags"></span><ul class="simple" id="index-60">
+<li><strong>COMPILE_FLAGS</strong> &#8211; Provides additional compilation flags that will be
+used when building the executable.</li>
+</ul>
+<span class="target" id="feature-compile-flags"></span><ul class="simple" id="index-61">
+<li><strong>feature_COMPILE_FLAGS</strong> &#8211; Provides additional compilation flags that
+will be used only when building the executable with the given
+feature (e.g., <tt class="docutils literal"><span class="pre">SHARED_COMPILE_FLAGS</span></tt> when we&#8217;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 &#8220;feature&#8221; argument description, below)
+and on the user&#8217;s choice of variants to build.</li>
+</ul>
+<span class="target" id="link-flags"></span><ul class="simple" id="index-62">
+<li><strong>LINK_FLAGS</strong> &#8211; 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 <tt class="docutils literal"><span class="pre">LINK_LIBS</span></tt> and <tt class="docutils literal"><span class="pre">DEPENDS</span></tt>.</li>
+</ul>
+<span class="target" id="feature-link-flags"></span><ul class="simple" id="index-63">
+<li><strong>feature_LINK_FLAGS</strong> &#8211; Provides additional flags that will be passed
+to the linker when linking the executable with the given feature
+(e.g., <tt class="docutils literal"><span class="pre">MULTI_THREADED_LINK_FLAGS</span></tt> when we&#8217;re linking a multi-threaded
+executable).</li>
+</ul>
+<span class="target" id="link-libs"></span><ul class="simple" id="index-64">
+<li><strong>LINK_LIBS</strong> &#8211; Provides additional libraries against which the
+executable will be linked. For example, one might provide &#8220;expat&#8221; as
+options to <tt class="docutils literal"><span class="pre">LINK_LIBS</span></tt>, to state that the executable will link against
+the expat library binary. Use <tt class="docutils literal"><span class="pre">LINK_LIBS</span></tt> for libraries external to
+Boost; for Boost libraries, use <tt class="docutils literal"><span class="pre">DEPENDS</span></tt>.</li>
+</ul>
+<span class="target" id="feature-link-libs"></span><ul class="simple" id="index-65">
+<li><strong>feature_LINK_LIBS</strong> &#8211; Provides additional libraries to link against
+when linking an executable built with the given feature.</li>
+</ul>
+<span class="target" id="depends"></span><ul class="simple" id="index-66">
+<li><strong>DEPENDS</strong> &#8211; States that this executable depends on and links
+against a Boost library. The arguments to <tt class="docutils literal"><span class="pre">DEPENDS</span></tt> should be the
+unversioned name of the Boost library, such as
+&#8220;boost_filesystem&#8221;. Like <tt class="docutils literal"><span class="pre">LINK_LIBS</span></tt>, this option states that the
+executable will link against the stated libraries. Unlike <tt class="docutils literal"><span class="pre">LINK_LIBS</span></tt>,
+however, <tt class="docutils literal"><span class="pre">DEPENDS</span></tt> takes particular library variants into account,
+always linking to the appropriate variant of a Boost library. For
+example, if the <tt class="docutils literal"><span class="pre">MULTI_THREADED</span></tt> feature was requested in the call to
+boost_add_executable, <tt class="docutils literal"><span class="pre">DEPENDS</span></tt> will ensure that we only link against
+multi-threaded libraries.</li>
+</ul>
+<span class="target" id="feature"></span><ul class="simple" id="index-67">
+<li><strong>feature</strong> &#8211; States that the executable should always be built using a
+given feature, e.g., <tt class="docutils literal"><span class="pre">SHARED</span></tt> linking (against its libraries) or
+<tt class="docutils literal"><span class="pre">MULTI_THREADED</span></tt> (for multi-threaded builds). If that feature has
+been turned off by the user, the executable will not build.</li>
+</ul>
+<span class="target" id="no-install"></span><ul class="simple" id="index-68">
+<li><strong>NO_INSTALL</strong> &#8211; Don&#8217;t install this executable with the rest of
+Boost.</li>
+</ul>
+<span class="target" id="output-name"></span><ul class="simple" id="index-69">
+<li><strong>OUTPUT_NAME</strong> &#8211; If you want the executable to be generated
+somewhere other than the binary directory, pass the path (including
+directory and file name) via the <tt class="docutils literal"><span class="pre">OUTPUT_NAME</span></tt> parameter.</li>
+</ul>
+<p class="rubric">Example</p>
+<div class="highlight-python"><pre>boost_add_executable(wave cpp.cpp
+ DEPENDS boost_wave boost_program_options
+ boost_filesystem
+ boost_serialization
+ )</pre>
+</div>
+<p class="rubric">Where Defined</p>
+<p>This macro is defined in the Boost Core module in
+<tt class="docutils literal"><span class="pre">tools/build/CMake/BoostCore.cmake</span></tt></p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_python_module.html" title="boost_python_module"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_add_library.html" title="boost_add_library"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_add_library.html b/tools/build/CMake/docs/build/html/reference/boost_add_library.html
new file mode 100644
index 0000000..ca70d74
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_add_library.html
@@ -0,0 +1,305 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_add_library &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_add_executable" href="boost_add_executable.html" />
+ <link rel="prev" title="boost_module" href="boost_module.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_add_executable.html" title="boost_add_executable"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_module.html" title="boost_module"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="../index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">boost_add_library</a><ul>
+<li><a class="reference external" href="#compile-flags">COMPILE_FLAGS</a></li>
+<li><a class="reference external" href="#feature-compile-flags">feature_COMPILE_FLAGS</a></li>
+<li><a class="reference external" href="#link-flags">LINK_FLAGS</a></li>
+<li><a class="reference external" href="#feature-link-flags">feature_LINK_FLAGS</a></li>
+<li><a class="reference external" href="#link-libs">LINK_LIBS</a></li>
+<li><a class="reference external" href="#feature-link-libs">feature_LINK_LIBS</a></li>
+<li><a class="reference external" href="#depends">DEPENDS</a></li>
+<li><a class="reference external" href="#static-tag">STATIC_TAG</a></li>
+<li><a class="reference external" href="#module">MODULE</a></li>
+<li><a class="reference external" href="#no-feature">NO_feature</a></li>
+<li><a class="reference external" href="#extra-variants">EXTRA_VARIANTS</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_module.html"
+ title="previous chapter">boost_module</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_add_executable.html"
+ title="next chapter">boost_add_executable</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_add_library.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-add-library">
+<span id="boost-add-library-macro"></span><span id="index-70"></span><h1>boost_add_library<a class="headerlink" href="#boost-add-library" title="Permalink to this headline">¶</a></h1>
+<p>This macro 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 &#8220;default&#8221;
+library variants.</p>
+<dl class="cmake">
+<dt id="boost_add_library">
+<tt class="descname">boost_add_library</tt><big>(</big><em>libname source1 source2 ...</em><big>)</big><a class="headerlink" href="#boost_add_library" title="Permalink to this definition">¶</a></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><em>source1 source2 ...</em> &#8211; relative paths to source files</li>
+<li><em>COMPILE_FLAGS</em> (optional) &#8211; flags to pass when compiling all variants</li>
+<li><em>feature_COMPILE_FLAGS</em> (optional) &#8211; compile flags when <em>feature</em> is on</li>
+<li><em>LINK_FLAGS</em> (optional) &#8211; link flags for all variants</li>
+<li><em>feature_LINK_FLAGS</em> (optional) &#8211; link flags for <em>feature</em></li>
+<li><em>LINK_LIBS</em> (optional) &#8211; lib1 lib2 ...</li>
+<li><em>feature_LINK_LIBS</em> (optional) &#8211; lib1 lib2 ...</li>
+<li><em>DEPENDS</em> (optional) &#8211; libdepend1 libdepend2 ...</li>
+<li><em>STATIC_TAG</em> &#8211; </li>
+<li><em>MODULE</em> (boolean) &#8211; </li>
+<li><em>NOT_feature</em> (boolean) &#8211; </li>
+<li><em>EXTRA_VARIANTS</em> (optional) &#8211; variant1 variant2 ...</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<p>where <cite>libname</cite> is the name of Boost library binary (e.g.,
+&#8220;boost_regex&#8221;) and <cite>source1</cite>, <cite>source2</cite>, etc. are the source files used
+to build the library, e.g., <cite>cregex.cpp</cite>.</p>
+<p>This macro has a variety of options that affect its behavior. In
+several cases, we use the placeholder &#8220;feature&#8221; 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, see <a class="reference external" href="../build_variants.html#variants"><em>Build Variants and Features</em></a>.</p>
+<p>The options that affect this macro&#8217;s behavior are:</p>
+<div class="section" id="compile-flags">
+<span id="index-71"></span><h2>COMPILE_FLAGS<a class="headerlink" href="#compile-flags" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+Provides additional compilation flags that will be
+used when building all variants of the library. For example, one
+might want to add <tt class="docutils literal"><span class="pre">&quot;-DBOOST_SIGNALS_NO_LIB=1&quot;</span></tt> through this option
+(which turns off auto-linking for the Signals library while
+building it).</blockquote>
+</div>
+<div class="section" id="feature-compile-flags">
+<h2>feature_COMPILE_FLAGS<a class="headerlink" href="#feature-compile-flags" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+Provides additional compilation flags that
+will be used only when building variants of the library that
+include the given feature. For example,
+<cite>MULTI_THREADED_COMPILE_FLAGS</cite> are additional flags that will be
+used when building a multi-threaded variant, while
+<cite>SHARED_COMPILE_FLAGS</cite> will be used when building a shared library
+(as opposed to a static library).</blockquote>
+</div>
+<div class="section" id="link-flags">
+<h2>LINK_FLAGS<a class="headerlink" href="#link-flags" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+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 <cite>LINK_LIBS</cite>
+and <cite>DEPENDS</cite>.</blockquote>
+</div>
+<div class="section" id="feature-link-flags">
+<h2>feature_LINK_FLAGS<a class="headerlink" href="#feature-link-flags" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+Provides additional flags that will be passed
+to the linker when building variants of the library that contain a
+specific feature, e.g., <cite>MULTI_THREADED_LINK_FLAGS</cite>. This option
+should not be used to link in additional libraries; see
+feature_LINK_LIBS.</blockquote>
+</div>
+<div class="section" id="link-libs">
+<h2>LINK_LIBS<a class="headerlink" href="#link-libs" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+Provides additional libraries against which each of the
+library variants will be linked. For example, one might provide
+&#8220;expat&#8221; 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.</blockquote>
+</div>
+<div class="section" id="feature-link-libs">
+<h2>feature_LINK_LIBS<a class="headerlink" href="#feature-link-libs" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+Provides additional libraries for specific
+variants of the library to link against. For example,
+<cite>MULTI_THREADED_LINK_LIBS</cite> provides extra libraries to link into
+multi-threaded variants of the library.</blockquote>
+</div>
+<div class="section" id="depends">
+<h2>DEPENDS<a class="headerlink" href="#depends" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+States that this Boost libraries depends on and links
+against another Boost library. The arguments to <cite>DEPENDS</cite> should be
+the unversioned name of the Boost library, such as
+&#8220;boost_filesystem&#8221;. Like <cite>LINK_LIBS</cite>, this option states that all
+variants of the library being built will link against the stated
+libraries. Unlike <cite>LINK_LIBS</cite>, however, <cite>DEPENDS</cite> 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 <cite>DEPENDS</cite> on
+boost_python, multi-threaded variants of boost_mpi_python will
+link against multi-threaded variants of boost_python.</blockquote>
+</div>
+<div class="section" id="static-tag">
+<h2>STATIC_TAG<a class="headerlink" href="#static-tag" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+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 &#8220;-s&#8221; appended to their
+names. <em>We hope that this is a temporary solution. At
+present, it is only used by the Test library.</em></blockquote>
+</div>
+<div class="section" id="module">
+<h2>MODULE<a class="headerlink" href="#module" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+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.</blockquote>
+</div>
+<div class="section" id="no-feature">
+<h2>NO_feature<a class="headerlink" href="#no-feature" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+States that library variants containing a particular
+feature should not be built. For example, passing
+<cite>NO_SINGLE_THREADED</cite> suppresses generation of single-threaded
+variants of this library.</blockquote>
+</div>
+<div class="section" id="extra-variants">
+<h2>EXTRA_VARIANTS<a class="headerlink" href="#extra-variants" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+Specifies that extra variants of this library
+should be built, based on the features listed. Each &#8220;variant&#8221; is a
+colon-separated list of features. For example, passing
+EXTRA_VARIANTS &#8220;PYTHON_NODEBUG:PYTHON_DEBUG&#8221;
+will result in the creation of an extra set of library variants,
+some with the <cite>PYTHON_NODEBUG</cite> feature and some with the
+<cite>PYTHON_DEBUG</cite> feature.</blockquote>
+<p class="rubric">Example</p>
+<p>The Boost.Thread library binary is built using the following
+invocation of the <cite>boost_add_library</cite> macro. The options passed to the
+macro indicate that CMake should define <cite>BOOST_THREAD_BUILD_DLL</cite> to 1
+when building shared libraries and <cite>BOOST_THREAD_BUILD_LIB</cite> to 1 when
+building static libraries. The <cite>NO_SINGLE_THREADED</cite> option inhibits
+creation of any single-threaded variants of the library (which
+obviously would not make sense for a threading library!). The flags
+needed to compile the multi-threaded variants are automatically
+added.</p>
+<div class="highlight-python"><pre>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
+)</pre>
+</div>
+<p>This example is from <tt class="docutils literal"><span class="pre">libs/thread/src/CMakeLists.txt</span></tt>.</p>
+<p class="rubric">Where Defined</p>
+<p>This macro is defined in the Boost Core module in
+<tt class="docutils literal"><span class="pre">tools/build/CMake/BoostCore.cmake</span></tt>.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_add_executable.html" title="boost_add_executable"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_module.html" title="boost_module"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_additional_test_dependencies.html b/tools/build/CMake/docs/build/html/reference/boost_additional_test_dependencies.html
new file mode 100644
index 0000000..1fa172e
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_additional_test_dependencies.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_additional_test_dependencies &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_test_compile" href="boost_test_compile.html" />
+ <link rel="prev" title="boost_python_module" href="boost_python_module.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_test_compile.html" title="boost_test_compile"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_python_module.html" title="boost_python_module"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_python_module.html"
+ title="previous chapter">boost_python_module</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_test_compile.html"
+ title="next chapter">boost_test_compile</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_additional_test_dependencies.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-additional-test-dependencies">
+<h1>boost_additional_test_dependencies<a class="headerlink" href="#boost-additional-test-dependencies" title="Permalink to this headline">¶</a></h1>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">This is only needed in the presence of &#8216;modularization&#8217;
+which is currently disabled.</p>
+</div>
+<p>Add additional include directories based on the dependencies of the
+library being tested &#8216;libname&#8217; and all of its dependencies.</p>
+<dl class="cmake">
+<dt>
+<tt class="descname">boost_additional_test_dependencies(libname, ...</tt></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><em>libname</em> &#8211; name of library being tested</li>
+<li><em>BOOST_DEPENDS</em> &#8211; libdepend1 libdepend2 ...</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<p><cite>libname</cite></p>
+<blockquote>
+the name of the boost library being tested. (signals)</blockquote>
+<p><cite>BOOST_DEPENDS</cite></p>
+<blockquote>
+The list of the extra boost libraries that the test suite will
+depend on. You do NOT have to list those libraries already listed
+by the module.cmake file as these will be used.</blockquote>
+<p class="rubric">Example</p>
+<p>The following invocation of the <cite>boost_additional_test_dependencies</cite>
+macro is taken from the signals library.</p>
+<div class="highlight-python"><pre>boost_additional_test_dependencies(signals BOOST_DEPENDS test optional)</pre>
+</div>
+<p class="rubric">Where Defined</p>
+<p>This macro is defined in the Boost Testing module in
+tools/build/CMake/BoostTesting.cmake</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_test_compile.html" title="boost_test_compile"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_python_module.html" title="boost_python_module"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_library_project.html b/tools/build/CMake/docs/build/html/reference/boost_library_project.html
new file mode 100644
index 0000000..d16c131
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_library_project.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_library_project &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_module" href="boost_module.html" />
+ <link rel="prev" title="Notes by Boost Version" href="../notes_by_version.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_module.html" title="boost_module"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="../notes_by_version.html" title="Notes by Boost Version"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="../index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">boost_library_project</a><ul>
+<li><a class="reference external" href="#testdirs">TESTDIRS</a></li>
+<li><a class="reference external" href="#exampledirs">EXAMPLEDIRS</a></li>
+<li><a class="reference external" href="#modular">MODULAR</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="../notes_by_version.html"
+ title="previous chapter">Notes by Boost Version</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_module.html"
+ title="next chapter">boost_module</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_library_project.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-library-project">
+<span id="boost-library-project-macro"></span><span id="index-72"></span><h1>boost_library_project<a class="headerlink" href="#boost-library-project" title="Permalink to this headline">¶</a></h1>
+<p>Define a boost library project.</p>
+<dl class="cmake">
+<dt id="boost_library_project">
+<tt class="descname">boost_library_project</tt><big>(</big><em>libname</em><span class="optional">[</span>, <em>...</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#boost_library_project" title="Permalink to this definition">¶</a></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><em>libname</em> &#8211; name of library to add</li>
+<li><em>SRCDIRS</em> (optional) &#8211; srcdir1 srcdir2 ...</li>
+<li><em>TESTDIRS</em> (optional) &#8211; testdir1 testdir2 ..</li>
+<li><em>EXAMPLEDIRS</em> (optional) &#8211; testdir1 testdir2 ..</li>
+<li><em>DESCRIPTION</em> &#8211; description</li>
+<li><em>AUTHORS</em> &#8211; author1 author2</li>
+<li><em>MAINTAINERS</em> &#8211; maint maint2</li>
+<li><em>MODULAR</em> (optional) &#8211; </li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<p>where <cite>libname</cite> is the name of the library (e.g., Python,
+Filesystem), <cite>srcdir1</cite>, <cite>srcdir2</cite>, etc, are subdirectories containing
+library sources (for Boost libraries that build actual library
+binaries), and <cite>testdir1</cite>, <cite>testdir2</cite>, etc, are subdirectories
+containing regression tests.</p>
+<p><cite>DESCRIPTION</cite> provides a brief description of the library, which can
+be used to summarize the behavior of the library for a user. <cite>AUTHORS</cite>
+lists the authors of the library, while <cite>MAINTAINERS</cite> lists the active
+maintainers. If <cite>MAINTAINERS</cite> is left empty, it is assumed that the
+authors are still maintaining the library. Both authors and maintainers
+should have their name followed by their current e-mail address in
+angle brackets, with -at- instead of the at sign, e.g.,</p>
+<div class="highlight-python"><pre>Douglas Gregor &lt;doug.gregor -at- gmail.com&gt;</pre>
+</div>
+<div class="section" id="testdirs">
+<span id="index-73"></span><span id="id1"></span><h2>TESTDIRS<a class="headerlink" href="#testdirs" title="Permalink to this headline">¶</a></h2>
+<p>For libraries that have regression tests, and when testing is enabled
+either by <cite>BUILD_TESTS</cite> containing the (lowercase) name of this
+library or the string <tt class="docutils literal"><span class="pre">ALL</span></tt>, the generated makefiles/project files
+will contain regression tests for this library.</p>
+</div>
+<div class="section" id="exampledirs">
+<span id="index-74"></span><span id="id2"></span><h2>EXAMPLEDIRS<a class="headerlink" href="#exampledirs" title="Permalink to this headline">¶</a></h2>
+<p>This option specifies directories containing examples. Examples are
+just libraries/executables created with <a class="reference external" href="boost_add_library.html#boost-add-library-macro"><em>boost_add_library</em></a>
+and <a class="reference external" href="boost_add_executable.html#boost-add-executable-macro"><em>boost_add_executable</em></a>, except they are only built if
+the name of the current project is specified in <a class="reference external" href="../build_configuration.html#build-examples"><em>BUILD_EXAMPLES</em></a>.</p>
+</div>
+<div class="section" id="modular">
+<span id="index-75"></span><span id="id3"></span><h2>MODULAR<a class="headerlink" href="#modular" title="Permalink to this headline">¶</a></h2>
+<p>Currently unused.</p>
+<p class="rubric">Example</p>
+<p>The Boost.Thread library uses the following invocation of the
+<cite>boost_library_project</cite> macro, since it has both a compiled library
+(built in the &#8220;src&#8221; subdirectory) and regression tests (listed in the
+&#8220;test&#8221; subdirectory):</p>
+<div class="highlight-python"><pre>boost_library_project(
+ Thread
+ SRCDIRS src
+ TESTDIRS test
+ DESCRIPTION "Portable threading"
+ AUTHORS "Anthony Williams &lt;anthony -at- justsoftwaresolutions.co.uk"&gt;
+ )</pre>
+</div>
+<p class="rubric">Where Defined</p>
+<p>This macro is defined in the Boost Core module in
+<tt class="docutils literal"><span class="pre">tools/build/CMake/BoostCore.cmake</span></tt></p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_module.html" title="boost_module"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="../notes_by_version.html" title="Notes by Boost Version"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_module.html b/tools/build/CMake/docs/build/html/reference/boost_module.html
new file mode 100644
index 0000000..5a6dc08
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_module.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_module &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_add_library" href="boost_add_library.html" />
+ <link rel="prev" title="boost_library_project" href="boost_library_project.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_add_library.html" title="boost_add_library"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_library_project.html" title="boost_library_project"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_library_project.html"
+ title="previous chapter">boost_library_project</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_add_library.html"
+ title="next chapter">boost_add_library</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_module.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-module">
+<span id="index-76"></span><span id="id1"></span><h1>boost_module<a class="headerlink" href="#boost-module" title="Permalink to this headline">¶</a></h1>
+<p>FIXME</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_add_library.html" title="boost_add_library"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_library_project.html" title="boost_library_project"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_python_module.html b/tools/build/CMake/docs/build/html/reference/boost_python_module.html
new file mode 100644
index 0000000..8e04d15
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_python_module.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_python_module &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_additional_test_dependencies" href="boost_additional_test_dependencies.html" />
+ <link rel="prev" title="boost_add_executable" href="boost_add_executable.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_additional_test_dependencies.html" title="boost_additional_test_dependencies"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_add_executable.html" title="boost_add_executable"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_add_executable.html"
+ title="previous chapter">boost_add_executable</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_additional_test_dependencies.html"
+ title="next chapter">boost_additional_test_dependencies</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_python_module.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-python-module">
+<span id="index-77"></span><span id="id1"></span><h1>boost_python_module<a class="headerlink" href="#boost-python-module" title="Permalink to this headline">¶</a></h1>
+<p>FIXME</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_additional_test_dependencies.html" title="boost_additional_test_dependencies"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_add_executable.html" title="boost_add_executable"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_test_compile.html b/tools/build/CMake/docs/build/html/reference/boost_test_compile.html
new file mode 100644
index 0000000..abda3cb
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_test_compile.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_test_compile &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_test_compile_fail" href="boost_test_compile_fail.html" />
+ <link rel="prev" title="boost_additional_test_dependencies" href="boost_additional_test_dependencies.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_test_compile_fail.html" title="boost_test_compile_fail"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_additional_test_dependencies.html" title="boost_additional_test_dependencies"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_additional_test_dependencies.html"
+ title="previous chapter">boost_additional_test_dependencies</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_test_compile_fail.html"
+ title="next chapter">boost_test_compile_fail</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_test_compile.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-test-compile">
+<span id="id1"></span><h1>boost_test_compile<a class="headerlink" href="#boost-test-compile" title="Permalink to this headline">¶</a></h1>
+<p>FIXME</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_test_compile_fail.html" title="boost_test_compile_fail"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_additional_test_dependencies.html" title="boost_additional_test_dependencies"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_test_compile_fail.html b/tools/build/CMake/docs/build/html/reference/boost_test_compile_fail.html
new file mode 100644
index 0000000..913d805
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_test_compile_fail.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_test_compile_fail &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_test_run" href="boost_test_run.html" />
+ <link rel="prev" title="boost_test_compile" href="boost_test_compile.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_test_run.html" title="boost_test_run"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_test_compile.html" title="boost_test_compile"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_test_compile.html"
+ title="previous chapter">boost_test_compile</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_test_run.html"
+ title="next chapter">boost_test_run</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_test_compile_fail.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-test-compile-fail">
+<span id="id1"></span><h1>boost_test_compile_fail<a class="headerlink" href="#boost-test-compile-fail" title="Permalink to this headline">¶</a></h1>
+<p>FIXME</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_test_run.html" title="boost_test_run"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_test_compile.html" title="boost_test_compile"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_test_run.html b/tools/build/CMake/docs/build/html/reference/boost_test_run.html
new file mode 100644
index 0000000..b24e304
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_test_run.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_test_run &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="next" title="boost_test_run_fail" href="boost_test_run_fail.html" />
+ <link rel="prev" title="boost_test_compile_fail" href="boost_test_compile_fail.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_test_run_fail.html" title="boost_test_run_fail"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="boost_test_compile_fail.html" title="boost_test_compile_fail"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_test_compile_fail.html"
+ title="previous chapter">boost_test_compile_fail</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="boost_test_run_fail.html"
+ title="next chapter">boost_test_run_fail</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_test_run.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-test-run">
+<span id="index-78"></span><span id="id1"></span><h1>boost_test_run<a class="headerlink" href="#boost-test-run" title="Permalink to this headline">¶</a></h1>
+<p>FIXME</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_test_run_fail.html" title="boost_test_run_fail"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="boost_test_compile_fail.html" title="boost_test_compile_fail"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/reference/boost_test_run_fail.html b/tools/build/CMake/docs/build/html/reference/boost_test_run_fail.html
new file mode 100644
index 0000000..9159350
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/reference/boost_test_run_fail.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>boost_test_run_fail &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="../index.html" />
+ <link rel="prev" title="boost_test_run" href="boost_test_run.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="boost_test_run.html" title="boost_test_run"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="../index.html">
+ <img class="logo" src="../_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="boost_test_run.html"
+ title="previous chapter">boost_test_run</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/reference/boost_test_run_fail.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="boost-test-run-fail">
+<span id="index-79"></span><span id="id1"></span><h1>boost_test_run_fail<a class="headerlink" href="#boost-test-run-fail" title="Permalink to this headline">¶</a></h1>
+<p>FIXME</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="boost_test_run.html" title="boost_test_run"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="../index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/search.html b/tools/build/CMake/docs/build/html/search.html
new file mode 100644
index 0000000..35e4d3d
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/search.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Search &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/searchtools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <h1 id="search-documentation">Search</h1>
+ <div id="fallback" class="admonition warning">
+ <script type="text/javascript">$('#fallback').hide();</script>
+ <p>
+ Please activate JavaScript to enable the search
+ functionality.
+ </p>
+ </div>
+ <p>
+ From here you can search these documents. Enter your search
+ words into the box below and click "search". Note that the search
+ function will automatically search for all of the words. Pages
+ containing fewer words won't appear in the result list.
+ </p>
+ <form action="" method="get">
+ <input type="text" name="q" value="" />
+ <input type="submit" value="search" />
+ <span id="search-progress" style="padding-left: 10px"></span>
+ </form>
+
+ <div id="search-results">
+
+ </div>
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ <script type="text/javascript" src="searchindex.js"></script>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/searchindex.js b/tools/build/CMake/docs/build/html/searchindex.js
new file mode 100644
index 0000000..0acdace
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/searchindex.js
@@ -0,0 +1 @@
+Search.setIndex({desctypes:{"0":"cmake"},terms:{windowsinstal:6,xpressiv:6,add_compiled_librari:6,prefix:[2,5],sleep:2,compile_flag:[19,21,7,8],whose:11,swap:6,under:[27,0,2,23,5,8],preprocess:[9,30],accum:2,everi:[1,28,17],risk:30,debug_compile_flag:11,ctest_binary_directori:2,govern:2,affect:[11,19,17,2,7],boost_prg_exec_monitor:[30,5],edit_cach:[11,30],math:6,x86_64:2,properti:[28,17,8],abil:11,xsltproc:[11,6,26,16,9],direct:[21,2,0,8],second:[21,0],asio:6,boost_filesystem:[11,19,7,8,30],disk:[11,28,17,32],individual_librari:6,usenet:9,cdashpubl:2,"new":[10,1,2,21,19,5,8],net:[13,28],"typeof":6,elimin:17,behavior:[28,17,18,19,21,7],dart_testing_timeout:[11,2],here:[9,28,10,0,11,2,21,23],studio:[9,2,0,11,32,20,5],path:[27,28,0,22,1,2,4,11,23,5,24,34,26,7,19],interpret:23,cmakedashboard:2,prg_exec_monitor:30,package_sourc:30,portabl:[21,17,8,18],ctest_initial_cach:2,unix:[9,17,0,11,32,2,19,23,8],total:10,unit:[6,0],describ:[17,0,1,2,21,8],would:[19,17,10,28],contains_test:2,with_doxygen:36,call:[28,10,11,2,21,20,17,7,8],python26:0,recommend:[28,2],type:[30,32,2],tell:[28,20],genindex:6,boost_sign:[1,30,28,17],notic:2,icu_i18n_found:34,warn:[11,2,5],include_directori:[13,28,8],hold:0,unpack:28,must:[23,17,5,28],cpacksourceconfig:0,join:28,setup:[2,5],work:[28,10,0,2,21,30,5,13],not_featur:19,extra_vari:19,root:[9,7],overrid:[6,28,22],give:[11,2],rpath:28,extended_p_squar:2,indic:[1,19,17,7,8],want:[9,10,11,2,21,19,23,5,7,8],shuffl:5,quot:[11,2],searchtool:6,how:[9,10,0,1,2,23,21,20,17,8],avaiabl:0,env:0,config:[6,2],"void":[28,0],updat:[9,28,2,10],recogn:[21,8],earlier:[13,0],boost_vers:28,befor:[21,2,8],wrong:[28,5],flanboost:0,parallel:[30,2],demonstr:5,attempt:28,third:13,encapsul:[17,2],cmake_binary_dir:[11,9,23,28],exclud:2,perform:[11,17,0],maintain:[10,5,18],environ:[22,13,5,0,28],enter:30,mxa_boost_headers_onli:13,first:[9,28,10,0,11,2,21,23,5],someplac:[9,28],order:5,oper:[32,17],feedback:2,offici:5,upstream:[6,10,5,0,9],lowman:5,becaus:8,vari:17,dwith_python:16,output_vari:2,fix:5,function_n_test:2,smart_ptr:[1,6],persist:11,easier:[11,13,17],them:[9,28,17,0,2,5,6],thei:[10,23,2,0,18],proce:8,safe:8,bane:11,bimap:6,boost_date_tim:[30,0],choic:7,dcmake_install_prefix:[23,5,0],arrow:11,each:[27,28,17,1,2,21,19,16,7,8],debug:[28,17,22,11,2,19,30,7,8],mean:[19,17,10],prohibit:17,doug:18,network:[9,8],"0x000000000000000e":11,content:[6,2],cmake_color_makefil:11,bzip2_include_dir:24,lib64:[23,5,28],boost_include_install_dir:[9,13,23],barrier:19,boost_1_41_0:6,free:5,standard:[27,11,36,4,33,34,23,5,24,26,14],fixm:[29,31,3,12,25,15],precompil:0,reconfigur:[1,11,2],angl:18,filter:11,isn:[2,5],regress:[1,9,2,18,21],confus:[28,5],rang:6,independ:[9,28],wast:5,get_properti:11,instruct:[1,21,2,0,8],alreadi:[10,2,21,30,35,8],primari:[32,8],hood:8,top:[2,0],sometim:8,orly_yarli:5,master:10,too:[11,10,5],toolset:0,mysrc2:8,mysrc1:8,tenac:5,tool:[27,9,10,0,18,30,11,32,19,17,35,6,7,8],d2bc809:10,somewhat:0,enable_:[17,5],vc90:0,target:[9,28,17,0,30,11,32,2,19,23,5],provid:[17,0,18,30,1,32,2,21,19,7,8],tree:[28,0,1,2,21,23],project:[9,28,10,0,18,30,1,2,21,11,23,17,5,8],matter:28,minut:2,dboost_signals_dyn_link:30,selftest_report:6,manner:28,incompat:19,minu:6,with_python:16,rwxr:11,memcheck:27,browsabl:2,big_test2:21,big_test1:21,simplifi:2,though:11,object:[28,17,0,30,10,6,8],regular:2,phase:11,gmane:5,boost_regex:[19,30],don:[11,10,2,7,8],doc:[9,28,10,23,5,6],doe:[27,17,1,2,5,26,8],bracket:18,onfigur:11,yes_i_know:5,dot:28,opposit:21,random:[21,6],syntax:2,winmangle_libnam:[11,9,23],identifi:[1,17],submit:[9,2],layout:[6,13,0],menu:[11,0],ccmake:[1,11,2,30],configur:[9,16,17,0,30,11,2,23,21,22,20,5,13,28,8],theme:6,png_found:8,ctest_ctest_command:2,stop:2,report:[13,2],bat:10,enable_releas:[11,9,17],visualstudioesqu:20,patch:[9,10],cleanli:28,testdir:[1,21,18],commandlin:[11,9,20,2,10],output_nam:7,result:[9,28,17,11,2,19],fail:[21,2],themselv:8,blei:5,best:2,hopefulli:1,figur:2,awai:5,irc:9,boost_use_multithread:13,imported_location_releas:28,extens:32,preprocessor:[6,0,30],howev:[19,17,7],against:[9,28,10,19,21,23,17,13,7,8
\ No newline at end of file
diff --git a/tools/build/CMake/docs/build/html/testing.html b/tools/build/CMake/docs/build/html/testing.html
new file mode 100644
index 0000000..3a98b89
--- /dev/null
+++ b/tools/build/CMake/docs/build/html/testing.html
@@ -0,0 +1,528 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Testing &mdash; Boost.CMake 1.41.0.cmake0</title>
+ <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.41.0.cmake0',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Boost.CMake 1.41.0.cmake0" href="index.html" />
+ <link rel="next" title="Adding Regression Tests" href="adding_regression_tests.html" />
+ <link rel="prev" title="Adding a Compiled Library to CMake" href="add_compiled_library.html" />
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="adding_regression_tests.html" title="Adding Regression Tests"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="add_compiled_library.html" title="Adding a Compiled Library to CMake"
+ accesskey="P">previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <p class="logo"><a href="index.html">
+ <img class="logo" src="_static/alt.boost.png" alt="Logo"/>
+ </a></p>
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference external" href="">Testing</a><ul>
+<li><a class="reference external" href="#build-tests">BUILD_TESTS</a></li>
+<li><a class="reference external" href="#build">Build</a></li>
+<li><a class="reference external" href="#test">Test</a><ul>
+<li><a class="reference external" href="#unix-and-nmake">Unix and nmake</a></li>
+<li><a class="reference external" href="#visual-studio">Visual Studio</a></li>
+</ul>
+</li>
+<li><a class="reference external" href="#targets">Targets</a></li>
+<li><a class="reference external" href="#the-dashboard">The Dashboard</a></li>
+<li><a class="reference external" href="#submitting-results">Submitting Results</a></li>
+<li><a class="reference external" href="#automatic-testing">Automatic testing</a><ul>
+<li><a class="reference external" href="#continuous">Continuous</a></li>
+<li><a class="reference external" href="#nightly">Nightly</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="add_compiled_library.html"
+ title="previous chapter">Adding a Compiled Library to CMake</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="adding_regression_tests.html"
+ title="next chapter">Adding Regression Tests</a></p>
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/testing.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="testing">
+<span id="id1"></span><h1>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h1>
+<p>Boost&#8217;s CMake-based build system provides regression testing via
+<a class="reference external" href="http://www.cmake.org/Wiki/CMake_Testing_With_CTest">CTest</a>, which
+comes as part of CMake. This regression testing system can be used by
+Boost developers to test their libraries locally and also by testers
+and users to submit regression tests to a <a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">CDash server</a>, which
+collects and reports regression-testing results from different
+sites. This document assumes that the reader has already learned how
+to build and configure Boost using CMake.</p>
+<div class="section" id="build-tests">
+<span id="index-80"></span><span id="id2"></span><h2>BUILD_TESTS<a class="headerlink" href="#build-tests" title="Permalink to this headline">¶</a></h2>
+<p>The variable BUILD_TESTS is a comma-separated list of projects for
+which testing will be enabled, e.g.:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="s">&quot;accumulators;iostreams;variant&quot;</span>
+</pre></div>
+</div>
+<p>or the string <tt class="docutils literal"><span class="pre">&quot;ALL&quot;</span></tt> for all projects, or the string
+<tt class="docutils literal"><span class="pre">&quot;NONE&quot;</span></tt> to disable testing.</p>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">if you pass this list from a unix shell, don&#8217;t forget to
+enclose the whole thing in quotes or escape the
+semicolons.</p>
+</div>
+<p>If you re-run the CMake configuration for Boost with <tt class="docutils literal"><span class="pre">BUILD_TESTS</span></tt>
+set to <tt class="docutils literal"><span class="pre">ALL</span></tt>, you will notice that configuration takes significantly
+longer when we are building all of the regression tests. This is due
+to the very large number of toplevel targets (thousands) that are
+created. Until boost&#8217;s testing scheme is reorganized to reduce this
+number, we anticipate that only testing nodes will want to test ALL,
+whereas developers will want to test the library under development and
+those that are dependent on it.</p>
+<span class="target" id="index-81"></span><span class="target" id="index-82"></span><div class="admonition warning" id="index-83">
+<p class="first admonition-title">Warning</p>
+<p class="last">It is <strong>not</strong> recommended to set <tt class="docutils literal"><span class="pre">BUILD_TESTS</span></tt> to
+<tt class="docutils literal"><span class="pre">&quot;ALL&quot;</span></tt> when using Visual Studio generators. A very
+large number (thousands) of targets are generated and
+this can bring VS to grinding halt. To run all tests,
+choose the <tt class="docutils literal"><span class="pre">NMake</span></tt> generator, see <a class="reference external" href="quickstart.html#nmake"><em>Configuration for NMake</em></a>.</p>
+</div>
+<p>Be sure to re-configure CMake once you are done tweaking these
+options, and generate makefiles or project files, as mentioned in
+<a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>.</p>
+<p>If you&#8217;re using a command-line configuration (nmake files, unix
+makefiles) you can simplify this process by passing the value of
+<tt class="docutils literal"><span class="pre">BUILD_TESTS</span></tt> on the command line, e.g.</p>
+<div class="highlight-python"><pre>cmake ../src -DBUILD_TESTS="mpi;graph_parallel"</pre>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">In Visual Studio, you should be prompted by the gui to
+reload the project. If you&#8217;re unlucky, you will be prompted a
+thousand times to reload each individual solution. For this
+reason, our current best recommendataion is to close and reopen the
+project if you rebuild <tt class="docutils literal"><span class="pre">Boost.sln</span></tt>.</p>
+</div>
+</div>
+<div class="section" id="build">
+<h2>Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h2>
+<p>Follow the same building process described in <a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>. For
+Unix users, don&#8217;t forget the <cite>-i</cite> option to <cite>make</cite> (ignore errors),
+and also possibly <cite>-j 2</cite> (or more) to run the build process in
+parallel. Building all of the regression tests for the Boost libraries
+can take a long time.</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">make</span> <span class="o">-</span><span class="n">j2</span> <span class="o">-</span><span class="n">i</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">If you change Boost source files in a way that affects your
+tests, you will need to rebuild to update the libraries and
+test executables before moving on to the next step.</p>
+</div>
+</div>
+<div class="section" id="test">
+<h2>Test<a class="headerlink" href="#test" title="Permalink to this headline">¶</a></h2>
+<p>Once regression tests have finished building,</p>
+<div class="section" id="unix-and-nmake">
+<h3>Unix and nmake<a class="headerlink" href="#unix-and-nmake" title="Permalink to this headline">¶</a></h3>
+<p>at a command prompt, <tt class="docutils literal"><span class="pre">cd</span></tt> to the Boost binary directory. Then, run
+the command:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">ctest</span>
+</pre></div>
+</div>
+<p>to execute all of the regression tests. The <cite>ctest</cite> executable comes
+with cmake. On Unix platforms, this is the same place where <cite>ccmake</cite>
+resides. On Windows platforms, it will be in <tt class="docutils literal"><span class="pre">C:\Program</span>
+<span class="pre">Files\CMake</span> <span class="pre">X.Y\bin</span></tt>. The ctest program should produce output like the
+following:</p>
+<div class="highlight-python"><pre>Start processing tests
+Test project /Users/dgregor/Projects/boost-darwin
+ 1/ 22 Testing any-any_test Passed
+ 2/ 22 Testing any-any_to_ref_test Passed
+ 3/ 22 Testing function-lib_function_test Passed
+ 4/ 22 Testing function-function_n_test Passed
+ 5/ 22 Testing function-allocator_test Passed
+ 6/ 22 Testing function-stateless_test Passed
+ 7/ 22 Testing function-lambda_test Passed
+ 8/ 22 Testing function-function_test_fail1 ***Failed - supposed to fail
+ 9/ 22 Testing function-function_test_fail2 ***Failed - supposed to fail
+ 10/ 22 Testing function-function_30 Passed
+ 11/ 22 Testing function-function_arith_cxx98 Passed
+ 12/ 22 Testing function-function_arith_porta Passed
+ 13/ 22 Testing function-sum_avg_cxx98 Passed
+ 14/ 22 Testing function-sum_avg_portable Passed
+ 15/ 22 Testing function-mem_fun_cxx98 Passed
+ 16/ 22 Testing function-mem_fun_portable Passed
+ 17/ 22 Testing function-std_bind_cxx98 Passed
+ 18/ 22 Testing function-std_bind_portable Passed
+ 19/ 22 Testing function-function_ref_cxx98 Passed
+ 20/ 22 Testing function-function_ref_portabl Passed
+ 21/ 22 Testing function-contains_test Passed
+ 22/ 22 Testing function-contains2_test Passed
+
+100% tests passed, 0 tests failed out of 22</pre>
+</div>
+<p>Here, we have only enabled testing of the Boost.Any and Boost.Function
+libraries, by setting <cite>BUILD_TESTS</cite> to <cite>any;function</cite>.</p>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">Again, This <tt class="docutils literal"><span class="pre">ctest</span></tt> step runs the tests without first
+running a build. If you change a source file and run the
+<tt class="docutils literal"><span class="pre">ctest</span></tt> step you will see that no build is invoked.</p>
+</div>
+<p>To run just a subset of the tests, pass <tt class="docutils literal"><span class="pre">-R</span></tt> and a regular
+expression to <tt class="docutils literal"><span class="pre">ctest</span></tt> (see the output of <tt class="docutils literal"><span class="pre">ctest</span> <span class="pre">--help-full</span></tt>). For
+example, to run all of the Python tests, use:</p>
+<div class="highlight-python"><pre>ctest -R python</pre>
+</div>
+<p>There is also a <tt class="docutils literal"><span class="pre">-E</span></tt> (exclude) option which does the inverse of <tt class="docutils literal"><span class="pre">-R</span></tt>.
+<tt class="docutils literal"><span class="pre">ctest</span> <span class="pre">--help</span></tt> shows the full list of options.</p>
+<span class="target" id="index-84"></span></div>
+<div class="section" id="visual-studio">
+<span id="index-85"></span><h3>Visual Studio<a class="headerlink" href="#visual-studio" title="Permalink to this headline">¶</a></h3>
+<p>You will see a solution named <tt class="docutils literal"><span class="pre">RUN_TESTS</span></tt>. Build this to run the
+tests. If you want to run them from the commandline, for some
+projects you will have to use the <tt class="docutils literal"><span class="pre">-C</span></tt> flag to ctest to specify the
+ctest configuration type (Debug or Release, typically).</p>
+</div>
+</div>
+<div class="section" id="targets">
+<h2>Targets<a class="headerlink" href="#targets" title="Permalink to this headline">¶</a></h2>
+<p>The testing subsystem adds toplevel targets to the build. On unix you
+can see them in the output of <tt class="docutils literal"><span class="pre">make</span> <span class="pre">help</span></tt>. For example some of the
+accumulators test targets look like this:</p>
+<div class="highlight-python"><pre>% make help | grep accum
+... accumulators-tests-count
+... accumulators-tests-covariance
+... accumulators-tests-droppable
+... accumulators-tests-error_of
+... accumulators-tests-extended_p_square
+... accumulators-tests-extended_p_square_quantile</pre>
+</div>
+<p>Note that they are prefixed with the name of the project, a dash, and
+&#8216;tests&#8217;. Under visual studio you will see these targets in the
+&#8216;solution explorer&#8217;.</p>
+</div>
+<div class="section" id="the-dashboard">
+<span id="id3"></span><h2>The Dashboard<a class="headerlink" href="#the-dashboard" title="Permalink to this headline">¶</a></h2>
+<p>Donated by kitware, it is here:</p>
+<p><a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">http://www.cdash.org/CDashPublic/index.php?project=Boost</a></p>
+</div>
+<div class="section" id="submitting-results">
+<h2>Submitting Results<a class="headerlink" href="#submitting-results" title="Permalink to this headline">¶</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">This needs updating for git</p>
+</div>
+<p>The <tt class="docutils literal"><span class="pre">ctest</span></tt> command can be used by individual developers to test
+local changes to their libraries. The same program can also be used to
+build all of Boost, run its regression tests, and submit the results
+to a central server where others can view them. Currently, regression
+test results based on the CMake build system are displayed on the Dart
+server at <a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">http://www.cdash.org/CDashPublic/index.php?project=Boost</a>.</p>
+<p>To submit &#8220;experimental&#8221; results to the Dart server, configure a Boost
+binary tree by following the configuration instructions in the section
+<a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>, and then enable regression testing via the
+<cite>BOOST_TESTS=ALL</cite> option, as described above. At this point, don&#8217;t build
+anything! We&#8217;ll let CTest do that work. You may want to customize some
+of the advanced CMake options, such as <cite>SITE</cite> (to give your site
+name), and <cite>MAKECOMMAND</cite> (which, for makefile targets, governs the
+top-level make call when building Boost). Finally, go into the Boost
+binary directory and execute:</p>
+<div class="highlight-python"><pre>ctest -D Experimental</pre>
+</div>
+<p>CTest will then reconfigure Boost, build all of the Boost libraries
+and regression tests, execute the regression tests, and submit the
+results to the Dart dashboard at
+<a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">http://www.cdash.org/CDashPublic/index.php?project=Boost</a>. Results
+submitted to the dashboard are usually browsable momentarily within a
+minute or two.</p>
+</div>
+<div class="section" id="automatic-testing">
+<h2>Automatic testing<a class="headerlink" href="#automatic-testing" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="continuous">
+<h3>Continuous<a class="headerlink" href="#continuous" title="Permalink to this headline">¶</a></h3>
+<p>Here is a recommended setup.</p>
+<p>Create a directory <tt class="docutils literal"><span class="pre">ctest</span></tt> on your test drone containing
+subdirectories for the branches you&#8217;ll be testing, in this case
+<em>release</em> and <em>trunk</em>.</p>
+<div class="highlight-python"><pre>boost/
+ ctest/
+ branches/
+ release/
+ continuous/
+ build/ &lt;= run ctest here
+ src/ &lt;= checkout to here
+ nightly/
+ build/ &lt;= run ctest here
+ src/ &lt;= checkout to here</pre>
+</div>
+<p>and check out source to the directories listed above. We&#8217;ll do the
+release branch as an example:</p>
+<div class="highlight-python"><pre>% cd boost/ctest/branches/release
+% svn co http://svn.boost.org/svn/boost/branches/release src
+#
+# lots of output
+#
+% mkdir continuous
+% cd continuous</pre>
+</div>
+<p>now configure your build, enabling testing. In this case I&#8217;ll also
+use an alternate compiler, from Intel:</p>
+<div class="highlight-python"><pre>% cmake ../src -DBUILD_TESTING=ON -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc
+-- The C compiler identification is Intel
+-- The CXX compiler identification is Intel
+-- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc
+-- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc -- works
+
+ (etc)
+
+-- Configuring done
+-- Generating done
+-- Build files have been written to: /home/troy/Projects/boost/ctest/release/continuous/build</pre>
+</div>
+<p>Now run <tt class="docutils literal"><span class="pre">ctest</span> <span class="pre">-D</span> <span class="pre">Continuous</span></tt> in a loop:</p>
+<div class="highlight-python"><pre>% while true
+while&gt; do
+while&gt; ctest -D Continuous
+while&gt; sleep 600 # take it easy on the repository
+while&gt; done
+ Site: zinc
+ Build name: intel-11.0-linux
+Create new tag: 20090514-2207 - Continuous
+Start processing tests
+Updating the repository
+ Updating the repository: /home/troy/Projects/boost/ctest/release/nightly/src
+ Use SVN repository type
+ Old revision of repository is: 53002
+ New revision of repository is: 53005
+ Gathering version information (one . per revision):
+
+ (etc)</pre>
+</div>
+<p>If you add <tt class="docutils literal"><span class="pre">-V</span> <span class="pre">or</span> <span class="pre">-VV</span></tt> you&#8217;ll get a little more feedback about what
+is going on. On unix it is handy to do this via the utility <em>screen</em>.</p>
+<div class="admonition-todo admonition " id="todo-86">
+<p class="first admonition-title">Todo</p>
+<p class="last">Figure out how to do this on windows, encapsulate some of
+this scripting. Just use the ctest builtin scripting
+language.</p>
+</div>
+</div>
+<div class="section" id="nightly">
+<h3>Nightly<a class="headerlink" href="#nightly" title="Permalink to this headline">¶</a></h3>
+<p>Nightly testing should run triggered by a cron job or by Windows Task
+Scheduler or what-have-you. You will need,</p>
+<ul class="simple">
+<li>a directory to work in</li>
+<li>installed cmake/ctest/svn</li>
+</ul>
+<p>but not a checkout of boost. CTest will do the checkout, build, test
+and submit on its own.</p>
+<p>Create a directory to run in. As in the previous section, we&#8217;ll use
+<tt class="docutils literal"><span class="pre">boost/ctest/branches/release/nightly</span></tt>, which I&#8217;ll call <tt class="docutils literal"><span class="pre">$DIR</span></tt>.
+The CTest script should look like the following (you can copy/paste
+this into <tt class="docutils literal"><span class="pre">$DIR/CTestNightly.cmake</span></tt></p>
+<div class="highlight-python"><pre>execute_process(COMMAND /bin/pwd
+ OUTPUT_VARIABLE PWD
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+message(STATUS "Running nightly build in ${PWD}")
+
+set(CTEST_SOURCE_DIRECTORY ${PWD}/src)
+set(CTEST_BINARY_DIRECTORY ${PWD}/build)
+
+# what cmake command to use for configuring this dashboard
+set(CTEST_CMAKE_COMMAND "/usr/local/bin/cmake")
+set(CTEST_CTEST_COMMAND "/usr/local/bin/ctest")
+set(CTEST_CVS_COMMAND "svn")
+
+set(CTEST_CVS_CHECKOUT "${CTEST_CVS_COMMAND} co https://svn.boost.org/svn/boost/branches/release ${CTEST_SOURCE_DIRECTORY}")
+
+# which ctest command to use for running the dashboard
+set(CTEST_COMMAND
+ "${CTEST_CTEST_COMMAND} -VV -D Experimental -A ${PWD}/notes.txt -O ctest.log"
+ )
+
+
+
+####################################################################
+# The values in this section are optional you can either
+# have them or leave them commented out
+####################################################################
+
+# should ctest wipe the binary tree before running
+set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
+
+#
+# this is the initial cache to use for the binary tree, be careful to escape
+# any quotes inside of this string if you use it
+#
+# Yes you can pass cmake -DBUILD_WHATEVER=ON type options here.
+#
+set(CTEST_INITIAL_CACHE "
+
+CMAKE_CXX_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icpc
+CMAKE_C_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icc
+
+SITE:STRING=zinc
+MAKECOMMAND:STRING=make -i -j2
+DART_TESTING_TIMEOUT:STRING=30
+BUILD_TESTS:STRING=ALL
+BUILD_EXAMPLES:STRING=ALL
+CVSCOMMAND:FILEPATH=${CTEST_CVS_COMMAND}
+")</pre>
+</div>
+<p>You will need to customize several variables:</p>
+<ul class="simple">
+<li><strong>CTEST_CMAKE_COMMAND</strong> the path to your cmake binary</li>
+<li><strong>CTEST_CTEST_COMMAND</strong> the path to your ctest binary (should be in
+the same place as cmake)</li>
+<li><strong>CTEST_CVS_COMMAND</strong> The path to subversion.</li>
+<li><strong>CMAKE_CXX_COMPILER:STRING</strong>, <strong>CMAKE_C_COMPILER:STRING</strong> Note the
+syntax here, the trailing <tt class="docutils literal"><span class="pre">:STRING</span></tt>. If you are using a
+nonstandard compiler, set it here.</li>
+<li><strong>MAKECOMMAND:STRING</strong> The path to your make command. <em>NOTE</em> if you
+set this, be sure that the <tt class="docutils literal"><span class="pre">-i</span></tt> (ignore-errors) flag is included.
+If it isn&#8217;t, the first compile/link error will stop the build and
+testing will commence.</li>
+<li><strong>SITE:STRING</strong> This is what will appear as the &#8216;hostname&#8217; in your
+posted dashboards. Customize as you like.</li>
+</ul>
+<p>Now you&#8217;ll create a &#8220;notes&#8221; file, call it <tt class="docutils literal"><span class="pre">notes.txt</span></tt>. This will be
+visible from the dashboard. Add the output of, e.g:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">gcc</span> <span class="o">--</span><span class="n">version</span>
+<span class="n">uname</span> <span class="o">-</span><span class="n">a</span>
+</pre></div>
+</div>
+<p>and the contents of the <tt class="docutils literal"><span class="pre">CTestNightly.cmake</span></tt> itself. Example:</p>
+<div class="highlight-python"><pre>**************** CMAKE DASHBOARD NOTES *****************
+
+Notes file for CMake Nightly Dashboard.
+
+This dashboard is being generated on an eight core, 64 bit
+Ubuntu 9.04 machine with an intel c++ compiler.
+
+
+Questions about this Dashboard should be directed to troy@resophonic.com
+
+Linux zinc 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 UTC 2009 x86_64 GNU/Linux
+
+icpc (ICC) 11.0 20090318
+Copyright (C) 1985-2009 Intel Corporation. All rights reserved.
+
+--------------- Script file ---------------
+
+(contents of CTestNightly.cmake)</pre>
+</div>
+<p>Now run (as a cronjob or at the command line):</p>
+<div class="highlight-python"><pre>ctest -S CTestNightly.cmake</pre>
+</div>
+<p>if you want extra verbosity add a <tt class="docutils literal"><span class="pre">-VV</span></tt> flag. You&#8217;ll see something like the following:</p>
+<div class="highlight-python"><pre>+ /opt/local/bin/ctest -VV -S CMakeDashBoard.cmake
+* Extra verbosity turned on
+Reading Script: /Users/troy/ctest/boost/release/nightly/CMakeDashBoard.cmake
+Run cmake command: /opt/i3/ports/bin/cmake "/Users/troy/ctest/boost/release/nightly/src"
+-- The C compiler identification is GNU
+-- The CXX compiler identification is GNU
+-- Check for working C compiler: /usr/bin/gcc
+(etc)
+-- Configuring done
+-- Generating done
+-- Build files have been written to: /Users/troy/ctest/boost/release/nightly/build
+Run ctest command: /opt/i3/ports/bin/ctest -VV -D Nightly -A /Users/troy/ctest/boost/release/nightly/notes.txt -O ctest.log
+UpdateCTestConfiguration from :/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
+Parse Config file:/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
+ Site: silver
+ Build name: gcc-4.0.1-macos
+(etc, etc)</pre>
+</div>
+<p>You&#8217;ll see it configure again, run... and sooner or later you&#8217;ll see
+your results on <a class="reference internal" href="#the-dashboard"><em>The Dashboard</em></a>.</p>
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="adding_regression_tests.html" title="Adding Regression Tests"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="add_compiled_library.html" title="Adding a Compiled Library to CMake"
+ >previous</a> |</li>
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+
+ <li><a href="index.html">Boost.CMake 1.41.0.cmake0</a> &raquo;</li>
+
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- Version bc009eaa45da9c417f10b76f02a9af1718456165, Thu, 26 Nov 2009.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
+ </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/source/GitLexer.py b/tools/build/CMake/docs/source/GitLexer.py
new file mode 100644
index 0000000..20a672e
--- /dev/null
+++ b/tools/build/CMake/docs/source/GitLexer.py
@@ -0,0 +1,49 @@
+import pygments.lexer
+from pygments.lexer import RegexLexer, bygroups, using
+from pygments.token import *
+
+class GitCmdLineLexer(RegexLexer):
+ aliases = ['git_cmdline']
+
+ filenames = []
+
+ kwds = r'(?:log|reset|config|clone|status|remote|add|push|branch|pull|checkout|merge|rebase|diff|commit|fetch|symbolic-ref|svn|init|format-patch)\s';
+
+ tokens = {
+ 'root' : [
+ (r'(/\w+)+', Generic.Constant),
+ (kwds, Generic.Deleted),
+ (r'(?:git|http)(?:@|://)[^\s]+\.git', Literal.String),
+ (r'\'[^\']+\'', Literal.String), # current branch
+ (r'\*\s\w+\n', Name.Label), # current branch
+ (r'-\w+ ', Operator),
+ (r'/[\w\./]+', Name.Variable),
+ (r'git', Text),
+ (r'% git', Keyword),
+ (r'\*', Operator),
+ (r'\s', Generic.Whitespace),
+ (r'[^\s]+', Text)
+ ]
+ }
+
+
+class GitLexer(RegexLexer):
+ name = "GitLexer"
+ aliases = ['git_shell']
+
+ filenames = []
+
+ tokens = {
+ 'root' : [
+ (r'% git.*\n', using(GitCmdLineLexer)),
+ (r'(% )(.*\n)', bygroups(Keyword, Text)),
+ (r'[^\n\s]+', Generic.Output),
+ (r'[\n\s]+', Generic.Whitespace)
+ ]
+ }
+
+gitlexer = GitLexer()
+
+def setup(app):
+ app.add_lexer('git_shell', gitlexer)
+
diff --git a/tools/build/CMake/docs/source/MacInstaller.png b/tools/build/CMake/docs/source/MacInstaller.png
new file mode 100644
index 0000000..4beb2ec
Binary files /dev/null and b/tools/build/CMake/docs/source/MacInstaller.png differ
diff --git a/tools/build/CMake/docs/source/WindowsInstaller.png b/tools/build/CMake/docs/source/WindowsInstaller.png
new file mode 100644
index 0000000..fb0ea55
Binary files /dev/null and b/tools/build/CMake/docs/source/WindowsInstaller.png differ
diff --git a/tools/build/CMake/docs/source/_static/boost.css b/tools/build/CMake/docs/source/_static/boost.css
new file mode 100644
index 0000000..63ce8bc
--- /dev/null
+++ b/tools/build/CMake/docs/source/_static/boost.css
@@ -0,0 +1,221 @@
+/**
+ * Sphinx stylesheet -- default theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: sans-serif;
+ font-size: 100%;
+ background-color: #ffffff;
+ color: #000;
+ margin: 0;
+ padding: 0;
+}
+
+div.documentwrapper {
+ background-color: #ffffff;
+ border-top: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+}
+
+div.body {
+ background-color: #ffffff;
+ color: #000000;
+ padding: 0 20px 30px 20px;
+ border-left: 1px solid #eeeeee;
+}
+
+div.footer {
+ color: #ffffff;
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: #ffffff;
+ text-decoration: underline;
+}
+
+div.related {
+ background-color: #ffffff;
+ line-height: 30px;
+ color: #ffffff;
+}
+
+div.related a {
+ color: #005a9c;
+}
+
+div.sphinxsidebar {
+ float: right;
+}
+
+div.sphinxsidebar h3 {
+ font-family: 'Trebuchet MS', sans-serif;
+ color: #666666;
+ font-size: 1.4em;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+ color: #005a9c;
+}
+
+div.sphinxsidebar h4 {
+ font-family: 'Trebuchet MS', sans-serif;
+ color: #ffffff;
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 0;
+}
+
+div.sphinxsidebar p {
+ color: #666666;
+}
+
+div.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+ color: #ffffff;
+}
+
+div.sphinxsidebar a {
+ color: #005a9c;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #cccccc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+a {
+ color: #355f7c;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ background-color: #f5f5f5;
+ border-top: 1px solid #dddddd;
+ padding: 3px 0px 3px 10px;
+ margin: 20px -20px 10px -20px;
+
+/*
+ font-family: 'Trebuchet MS', sans-serif;
+ background-color: #f2f2f2;
+ font-weight: normal;
+ color: #20435c;
+ border-bottom: 1px solid #ccc;
+ padding: 3px 0 3px 10px;
+*/
+}
+
+
+div.body h1 { margin-top: 0; font-size: 150%; }
+div.body h2 { font-size: 140%; }
+div.body h3 { font-size: 130%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+
+a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+pre {
+ font-size: 9pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ border: 1px solid #d8d8d8;
+}
+
+tt {
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
+}
+
+dt:target, .highlight {
+ background-color: #ffffff;
+ border-bottom: none;
+/* */
+}
+
+.k {
+ color: #0000aa;
+}
\ No newline at end of file
diff --git a/tools/build/CMake/docs/source/_static/pygments.css b/tools/build/CMake/docs/source/_static/pygments.css
new file mode 100644
index 0000000..c4f80ad
--- /dev/null
+++ b/tools/build/CMake/docs/source/_static/pygments.css
@@ -0,0 +1,59 @@
+.c { color: #800000; } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #0000aa; } /* Keyword */
+.o { color: #707070 } /* Operator */
+.cm { color: #408090; font-style: italic } /* Comment.Multiline */
+.cp { color: #007020 } /* Comment.Preproc */
+.c1 { color: #408090; font-style: italic } /* Comment.Single */
+.cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #FF0000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #00A000 } /* Generic.Inserted */
+.go { color: #303030 } /* Generic.Output */
+.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0040D0 } /* Generic.Traceback */
+.kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.kp { color: #007020 } /* Keyword.Pseudo */
+.kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #602000 } /* Keyword.Type */
+.m { color: #208050 } /* Literal.Number */
+.s { color: #4070a0 } /* Literal.String */
+.na { color: #4070a0 } /* Name.Attribute */
+.nb { color: #007020 } /* Name.Builtin */
+.nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.no { color: #60add5 } /* Name.Constant */
+.nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.ne { color: #007020 } /* Name.Exception */
+.nf { color: #06287e } /* Name.Function */
+.nl { color: #002070; font-weight: bold } /* Name.Label */
+.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.nt { color: #062873; font-weight: bold } /* Name.Tag */
+.nv { color: #bb60d5 } /* Name.Variable */
+.ow { color: #007020; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mf { color: #208050 } /* Literal.Number.Float */
+.mh { color: #208050 } /* Literal.Number.Hex */
+.mi { color: #208050 } /* Literal.Number.Integer */
+.mo { color: #208050 } /* Literal.Number.Oct */
+.sb { color: #4070a0 } /* Literal.String.Backtick */
+.sc { color: #4070a0 } /* Literal.String.Char */
+.sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #4070a0 } /* Literal.String.Double */
+.se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #4070a0 } /* Literal.String.Heredoc */
+.si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.sx { color: #c65d09 } /* Literal.String.Other */
+.sr { color: #235388 } /* Literal.String.Regex */
+.s1 { color: #4070a0 } /* Literal.String.Single */
+.ss { color: #517918 } /* Literal.String.Symbol */
+.bp { color: #007020 } /* Name.Builtin.Pseudo */
+.vc { color: #bb60d5 } /* Name.Variable.Class */
+.vg { color: #bb60d5 } /* Name.Variable.Global */
+.vi { color: #bb60d5 } /* Name.Variable.Instance */
+.il { color: #208050 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/tools/build/CMake/docs/source/_static/sphinxdoc.css b/tools/build/CMake/docs/source/_static/sphinxdoc.css
new file mode 100644
index 0000000..3452aec
--- /dev/null
+++ b/tools/build/CMake/docs/source/_static/sphinxdoc.css
@@ -0,0 +1,349 @@
+/**
+ * Sphinx stylesheet -- sphinxdoc theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *
+ * Originally created by Armin Ronacher for Werkzeug, adapted by Georg Brandl.
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+ 'Verdana', sans-serif;
+ font-size: 12px;
+/* letter-spacing: -0.01em;*/
+ line-height: 140%;
+ text-align: center;
+ background-color: #4a6484;
+/* background-color:#dddddd;*/
+ color: black;
+ padding: 0;
+ margin: 0;
+/* border: 1px solid #dddddd;*/
+/* margin: 15px;*/
+/* margin: 0px 5px 0px 80px;*/
+/* min-width: 740px;*/
+}
+
+div.documentwrapper {
+ float: none;
+}
+
+div.document {
+ background-color: white;
+ text-align: left;
+ background-image: url(contents.png);
+ background-repeat: repeat-x;
+}
+
+div.bodywrapper {
+ margin: 0 240px 0 0;
+ border-right: 1px solid #ccc;
+}
+
+div.body {
+ margin: 0;
+ padding: 0.5em 20px 20px 20px;
+}
+
+div.related {
+ font-size: 1em;
+ background-color: #4a6484;
+ color: white;
+}
+
+div.related ul {
+ height: 2em;
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ background-color: #4a6484;
+ color: white;
+}
+
+div.related ul li {
+ margin: 0;
+ padding: 0;
+ height: 2em;
+ float: left;
+}
+
+div.related ul li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+div.related ul li a {
+ margin: 0;
+ padding: 0 5px 0 5px;
+ line-height: 1.75em;
+ color: white;
+}
+
+div.related ul li a:hover {
+ text-decoration: underline;
+}
+
+div.sphinxsidebarwrapper {
+ padding: 0;
+}
+
+div.sphinxsidebar {
+ margin: 0;
+ padding: 0.5em 15px 15px 0;
+ width: 210px;
+ float: right;
+ font-size: 1em;
+ text-align: left;
+}
+
+div.sphinxsidebar h3, div.sphinxsidebar h4 {
+ margin: 1em 0 0.5em 0;
+ font-size: 1em;
+ padding: 0.1em 0 0.1em 0.5em;
+ color: white;
+ border: 1px solid #a0a4aa;
+ background-color: #4a6484;
+}
+
+div.sphinxsidebar h3 a {
+ color: white;
+}
+
+div.sphinxsidebar ul {
+ padding-left: 1.5em;
+ margin-top: 7px;
+ padding: 0;
+ line-height: 130%;
+}
+
+div.sphinxsidebar ul ul {
+ margin-left: 20px;
+}
+
+div.footer {
+ background-color: #4a6484;
+ color: #eeeeee;
+ padding: 3px 8px 3px 0;
+ clear: both;
+ font-size: 0.8em;
+ text-align: right;
+}
+
+div.footer a {
+ color: #999999;
+ text-decoration: underline;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+p {
+ margin: 0.8em 0 0.5em 0;
+}
+
+a {
+ color: #3f5570;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+a:visited {
+ color: #935b78;
+}
+
+div.body a {
+ text-decoration: underline;
+}
+
+h1 {
+ margin: 0;
+ padding: 0.7em 0 0.3em 0;
+ font-size: 1.5em;
+}
+
+h2 {
+ margin: 1.3em 0 0.2em 0;
+ font-size: 1.35em;
+ padding: 0;
+}
+
+h3 {
+ margin: 1em 0 -0.3em 0;
+ font-size: 1.2em;
+}
+
+div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
+ color: black!important;
+}
+
+h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
+ display: none;
+ margin: 0 0 0 0.3em;
+ padding: 0 0.2em 0 0.2em;
+ color: #aaa!important;
+}
+
+h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor,
+h5:hover a.anchor, h6:hover a.anchor {
+ display: inline;
+}
+
+h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover,
+h5 a.anchor:hover, h6 a.anchor:hover {
+ color: #777;
+ background-color: #eee;
+}
+
+a.headerlink {
+ color: #c60f0f!important;
+ font-size: 1em;
+ margin-left: 6px;
+ padding: 0 4px 0 4px;
+ text-decoration: none!important;
+}
+
+a.headerlink:hover {
+ background-color: #ccc;
+ color: white!important;
+}
+
+cite, code, tt {
+ font-family: 'Consolas', 'Deja Vu Sans Mono',
+ 'Bitstream Vera Sans Mono', monospace;
+ font-size: 0.95em;
+ letter-spacing: 0.01em;
+}
+
+
+tt {
+ color: #222;
+ font-size: 12px;
+}
+
+tt.descname, tt.descclassname, tt.xref {
+ border: 0;
+}
+
+hr {
+ border: 1px solid #abc;
+ margin: 2em;
+}
+
+a tt {
+ border: 0;
+ color: #CA7900;
+}
+
+a tt:hover {
+ color: #2491CF;
+}
+
+pre {
+ font-family: 'Consolas', 'Deja Vu Sans Mono',
+ 'Bitstream Vera Sans Mono', monospace;
+ font-size: 12px;
+ letter-spacing: 0.015;
+ padding: 0.8em;
+/* border: 1px solid #e0e0e0;*/
+ background-color: #eeeeef;
+ border-left: 2px solid red;
+}
+
+pre a {
+ color: inherit;
+ text-decoration: underline;
+}
+
+td.linenos pre {
+ padding: 0.5em 0;
+}
+
+div.quotebar {
+ background-color: #f8f8f8;
+ max-width: 250px;
+ float: right;
+ padding: 2px 7px;
+ border: 1px solid #ccc;
+}
+
+div.topic {
+ background-color: #f8f8f8;
+}
+
+table {
+ border-collapse: collapse;
+ margin: 0 -0.5em 0 -0.5em;
+}
+
+table td, table th {
+ padding: 0.2em 0.5em 0.2em 0.5em;
+}
+
+div.admonition, div.warning {
+ font-size: 0.9em;
+ margin: 1em 0 1em 0;
+ border: 1px solid #a0a4aa;
+ background-color: #f7f7f7;
+ padding: 0;
+}
+
+div.admonition p, div.warning p {
+ margin: 0.5em 1em 0.5em 1em;
+ padding: 0;
+}
+
+div.admonition pre, div.warning pre {
+ margin: 0.4em 1em 0.4em 1em;
+}
+
+div.admonition p.admonition-title,
+div.warning p.admonition-title {
+ margin: 0;
+ padding: 0.1em 0 0.1em 0.5em;
+ color: white;
+ border-bottom: 1px solid #a0a4aa;
+ font-weight: bold;
+ background-color: #4a6484;
+}
+
+div.admonition-todo p.first {
+ background-color: #e22;
+}
+
+div.warning {
+ border: 1px solid #940000;
+}
+
+div.warning p.admonition-title {
+ background-color: #CF0000;
+ border-bottom-color: #940000;
+}
+
+div.attention p.admonition-title {
+ background-color: #CFCF00;
+ border-color: #CFCF00;
+ color: #000000;
+}
+
+div.admonition ul, div.admonition ol,
+div.warning ul, div.warning ol {
+ margin: 0.1em 0.5em 0.5em 3em;
+ padding: 0;
+}
+
+div.versioninfo {
+ margin: 1em 0 0 0;
+ border: 1px solid #ccc;
+ background-color: #DDEAF0;
+ padding: 8px;
+ line-height: 1.3em;
+ font-size: 0.9em;
+}
+
+li .toctree-l1 > a {
+ text-decoration: plain;
+}
+
diff --git a/tools/build/CMake/docs/source/_templates/layout.html b/tools/build/CMake/docs/source/_templates/layout.html
new file mode 100644
index 0000000..09997f2
--- /dev/null
+++ b/tools/build/CMake/docs/source/_templates/layout.html
@@ -0,0 +1,18 @@
+{% extends "!layout.html" %}
+{% block extrahead %}
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-11690634-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+{% endblock %}
+{% block rootrellink %}
+ <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
+ {{ super() }}
+{% endblock %}
+
+{% block sidebarsearch %}{% endblock %}
diff --git a/tools/build/CMake/docs/source/add_boost_library.rst b/tools/build/CMake/docs/source/add_boost_library.rst
new file mode 100644
index 0000000..6b391a1
--- /dev/null
+++ b/tools/build/CMake/docs/source/add_boost_library.rst
@@ -0,0 +1,57 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _add_boost_library_project:
+
+Adding a Library Project
+========================
+
+This page describes how to introduce a new Boost library project into
+the CMake-based build system. Any Boost library that provides a
+library binary (e.g., ``boost_signals.dll``) or has regression tests
+(hopefully, every Boost library!) will need to be part of the build
+system.
+
+To introduce a new library, which resides in the subdirectory
+``libs/libname``, follow these steps:
+
+1. Create a new file ``libs/libname/CMakeLists.txt`` with your
+ favorite text editor. This file will contain an invocation of the
+ :ref:`boost_library_project_macro`, which
+ identifies each Boost library to the build system. The invocation
+ of the ``boost_library_project`` will look like this::
+
+ boost_library_project(
+ Libname
+ SRCDIRS src
+ TESTDIRS test
+ EXAMPLEDIRS test
+ )
+
+ where ``Libname`` is the properly-capitalization library name,
+ e.g., ``Signals`` or ``Smart_ptr``. The ``SRCDIRS src`` line should
+ only be present if your Boost library actually needs to compile a
+ library binary; header-only libraries can skip this step. The
+ ``TESTDIRS test`` line indicates that the subdirectory ``test``
+ contains regression tests for your library. Every Boost library
+ should have these.
+
+2. Re-run CMake (see :ref:`quickstart`) to reconfigure the source
+ tree, causing CMake to find the new Boost library. CMake can be
+ re-run either from the command line (by invoking ``cmake
+ /path/to/boost`` or ``ccmake /path/to/boost``) or, on Windows,
+ using the CMake GUI. Once you have reconfigured and generated new
+ makefiles or project files, CMake knows about your library.
+
+3. If your library has compiled sources (i.e., it is not a header-only
+ library), follow the instructions on :ref:`add_compiled_library` to
+ get CMake building and installing your library.
+
+4. If your library has regression tests (it *does* regression tests,
+ right?), follow the instructions on :ref:`adding_regression_tests`
+ to get CMake to build and run regression tests for your library.
diff --git a/tools/build/CMake/docs/source/add_compiled_library.rst b/tools/build/CMake/docs/source/add_compiled_library.rst
new file mode 100644
index 0000000..0eb8c9d
--- /dev/null
+++ b/tools/build/CMake/docs/source/add_compiled_library.rst
@@ -0,0 +1,239 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _add_compiled_library:
+
+Adding a Compiled Library to CMake
+==================================
+
+This page describes how to add a new, compiled library to the
+CMake-based build system. If your library is a "header-only" library,
+and does not require separate compilation of object files into a
+library binary, you can safely skip this step. Before adding compiled
+libraries to CMake, make sure you have already followed the directions
+for :ref:`boost_library_project_macro`, so that the CMake system recognizes your
+Boost library.
+
+We will assume that your library resides in the subdirectory
+``libs/libname``, and that we want to create the compiled library
+``boost_libname``. We will also assume that the sources for this
+library reside in the subdirectory ``libs/libname/src``. The source
+directory should be listed via ``SRCDIRS`` in the use of the
+:ref:`boost_library_project_macro` macro, as described in the previous
+section. Follow these steps to add this new
+library into Boost's build system. If your library has multiple source
+directories listed after ``SRCDIRS``, follow these steps for each one.
+
+1. Create a new file ``libs/libname/src/CMakeLists.txt`` with your
+ favorite text editor. This file will contain build rules for your
+ compiled library. In this file, we will create one or more
+ invocations of the :ref:`boost_add_library_macro` macro, which adds a
+ compiled Boost library to the CMake system. This macro provides the
+ name of the library, the source files from which the library will
+ be built, and any specific compiler and linker options needed to
+ help build the library. Let's start by adding a simple library with
+ a few source files::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ )
+
+ This invocation will build several variants of the
+ ``boost_libname`` library from the source files ``mysrc1.cpp`` and
+ ``mysrc2.cpp``. For example, it will build both static and shared
+ library, single- and multi-threaded, debug and release, etc. This
+ invocation also handles the installation of these libraries.
+
+2. For simple libraries, that's it! Rebuilding via CMake (e.g.,
+ running ``make`` or reloading and rebuilding the Boost project in
+ your IDE) will build the new library, including several different
+ variants for different compilation options. Your Boost library will
+ also be included when the user installs Boost or builds a binary
+ package of Boost. Within the CMake configuration, you will also see
+ an option ``BUILD_LIBNAME``, which allows the user to decide
+ whether or not to build this Boost library.
+
+3. Many libraries will need specific compilation options when
+ building, need to link against other libraries (Boost or
+ otherwise), or rely on certain features of the compilation process
+ to proceed. Follow the instructions in the remaining part of this
+ page to address these library-specific needs.
+
+
+Compilation Flags
+-----------------
+
+Many libraries require certain compilation flags when we are building
+the library binaries themselves (rather than when the library headers
+are included by the user). For example, we want to define the macro
+``BUILDING_BOOST_LIBNAME`` when building the library. We can do so by
+passing the ``COMPILE_FLAGS`` option to ``boost_add_library``::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ )
+
+Now when CMake builds the library, it will pass the flag
+``-DBUILDING_BOOST_LIBNAME=1`` to the compiler.
+
+On Windows, shared libraries are built very differently from static
+libraries. In particular, when building a shared library, one needs to
+be sure to export the right symbols from the DLL using
+``dllexport``. When users use the shared library, these symbols will be
+imported (via ``dllimport``). The typical way to handle this is to
+define a macro (say, ``BOOST_LIBNAME_DYN_LINK``) when building the
+shared library. This macro instructs the library headers to
+``dllexport`` everything that needs to be exported. We can do this with
+variant-specific compile flags, e.g., ::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ )
+
+When building a shared library, the ``SHARED_COMPILE_FLAGS`` options
+will be combined with the ``COMPILE_FLAGS`` options. When building a
+static library, the ``SHARED_COMPILE_FLAGS`` options will be
+ignored. There are other options that can be specified per-feature,
+such as ``LINK_FLAGS`` and ``LINK_LIBS``; refer to the
+:ref:`boost_add_library_macro` reference for more
+information.
+
+Linking to Other Boost Libraries
+--------------------------------
+
+Some Boost libraries depends on other Boost libraries. For example,
+perhaps our library uses the Boost.Filesystem library under the
+hood. We can use the ``DEPENDS`` feature of the
+:ref:`boost_add_library_macro` to state which libraries our library
+depends on. In this example, we'll link against ``boost_filesystem``::
+
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ )
+
+Now, each variant of the ``boost_libname`` library will link against
+the appropriate ``boost_filesystem`` library variant. Whenever
+``boost_filesystem`` changes, our library will be relinked
+appropriately.
+
+Linking External Libraries/Optional Sources
+-------------------------------------------
+
+Sometimes, Boost libraries need to link against other libraries
+supplied by the system. The primary challenge in linking against these
+libraries is *finding* those libraries, and their associated headers,
+on the system. If the library is found, we usually want to pass some
+extra compilation flags to our library and add in additional
+sources. Otherwise, we just skip these extra sources.
+
+CMake already contains modules that search for many common system
+libraries and tools; search the
+[http://www.cmake.org/HTML/Documentation.html CMake Documentation] for
+existing modules that do what you need. For example, say we want to
+link against the system's ``PNG`` (portable network graphics) library.
+We can use the supplied ``FindPNG`` module by adding the following
+early in our ``CMakeLists.txt`` file: ::
+
+ include(FindPNG)
+
+Documentation for CMake modules is typically found in the module file
+itself. Look into the ``Modules`` subdirectory of your CMake
+installation, either in ``Program Files\CMake`` (on Windows) or
+``/usr/share/cmake-version`` (on Unix variants) to find the module of
+the same name. The module will typically set a variable that indicates
+whether the library was found. For the ``FindPNG`` module, this variable
+is called ``PNG_FOUND``. We can use this variable to optionally add
+sources to a variable ``EXTRA_SOURCES``::
+
+ include(FindPNG)
+ set(EXTRA_SOURCES)
+ if (PNG_FOUND)
+ list(APPEND EXTRA_SOURCES png.cpp)
+ endif (PNG_FOUND)
+
+
+CMake modules also typically define macros specifying the include
+directories needed for the library, any compile-time definitions
+required to use the library, and linking information for the library
+binary. For the ``FindPNG`` module, these variables are called
+``PNG_INCLUDE_DIR``, ``PNG_DEFINITIONS`` and ``PNG_LIBRARY``, respectively.
+
+The include directory should be added via the CMake
+``include_directories`` macro, e.g., ::
+
+ include_directories(${PNG_INCLUDE_DIR})
+
+The ``PNG_DEFINITIONS`` value should be added to the ``COMPILE_FLAGS``
+and the ``PNG_LIBRARIES`` value to the ``LINK_LIBS`` option to the
+:ref:`boost_add_library_macro`. Using these features together, we can
+search for the ``PNG`` library on the system and optionally include
+PNG support into our library::
+
+ include(FindPNG)
+ set(EXTRA_SOURCES)
+ if (PNG_FOUND)
+ include_directories(${PNG_PNG_INCLUDE_DIR})
+ list(APPEND EXTRA_SOURCES png.cpp)
+ endif (PNG_FOUND)
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ ${EXTRA_SOURCES}
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1 ${PNG_DEFINITIONS}"
+ LINK_LIBS "${PNG_LIBRARIES}"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ )
+
+If CMake does not provide a module to search for the library you need,
+don't worry! You can write your own module relatively easily,
+following the examples from the CMake ``Modules`` directory or some of
+the Boost-specific examples, such as
+http://svn.boost.org/svn/boost/branches/release/tools/build/CMake/FindICU.cmake
+For a real-life example of finding system libraries and using that
+information to add optional, extra capabilities to a Boost library,
+check out the build rules for the Boost.IOStreams library at
+http://svn.boost.org/svn/boost/branches/release/libs/iostreams/src/CMakeLists.txt
+
+.. index:: Variants
+
+Build Variants
+--------------
+
+The Boost build system defines many different :ref:`VARIANTS`, which
+describe specific properties of certain builds. For example, the
+``SHARED`` feature indicates that we are building a shared library,
+while the ``MULTI_THREADED`` feature indicates that we are building a
+multi-threaded library. A specific set of features is called a
+``````variant``````, e.g., ``RELEASE`` and ``MULTI_THREADED`` and
+``SHARED``. By default, the CMake-based build system builds several
+different variants of each Boost library.
+
+Since some features conflict with certain libraries (a threading
+library cannot be ``SINGLE_THREADED``!), one can pass additional flags
+to :ref:`boost_add_library_macro` stating which features should the library
+cannot be built with. For example, say that our library cannot be
+built as a multi-threaded library, because it uses thread-unsafe
+routines from the underlying C library. To disable multi-threaded
+variants of the library, pass the option ``NOT_MULTI_THREADED``::
+
+ boost_add_library(libname
+ mysrc1.cpp mysrc2.cpp
+ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1"
+ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ DEPENDS boost_filesystem
+ NOT_MULTI_THREADED
+ )
+
diff --git a/tools/build/CMake/docs/source/adding_regression_tests.rst b/tools/build/CMake/docs/source/adding_regression_tests.rst
new file mode 100644
index 0000000..9d2618f
--- /dev/null
+++ b/tools/build/CMake/docs/source/adding_regression_tests.rst
@@ -0,0 +1,115 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: regression tests; adding
+.. _adding_regression_tests:
+
+Adding Regression Tests
+=======================
+
+This page describes how to add regression tests for a Boost library in
+the CMake-based build system. Before adding regression tests, make
+sure you have already followed the directions for
+:ref:`boost_library_project_macro` , so that the CMake system
+recognizes your Boost library project, and (if necessary)
+:ref:`add_compiled_library`. We also assume that you have already
+configured your build tree for regression testing of your library, by
+adding your library project's name to the :ref:`BUILD_TESTS` option
+described in the section :ref:`testing`.
+
+In this page, we will assume that your library resides in the
+subdirectory ``libs/libname``, and that tests for this library are
+stored in ``libs/libname/test``. The test directory should be listed
+via :ref:`TESTDIRS` in the call of
+:ref:`boost_library_project_macro`. Follow these steps to add this new
+library into Boost's build system. If your library has multiple
+testing directories listed after :ref:`TESTDIRS`, follow these steps for
+each one.
+
+#. Create a new file ``libs/libname/test/CMakeLists.txt`` file with
+ your favorite text editor. This file will contain instructions for
+ building and running each of the regression tests for your library.
+
+#. If your regression test depends on any other part of boost then
+ you will need to inform the build system of such with the
+ following line::
+
+ boost_additional_test_dependencies(libname BOOST_DEPENDS test fusion)
+
+ where 'libname' is the name of your library that you are testing.
+
+#. For each test that only needs to be compiled (but not executed),
+ add a ``compile`` or ``compile_fail`` test using the
+ :ref:`boost_test_compile` or :ref:`boost_test_compile_fail`
+ macros, respectively. The most basic usage of these macros
+ provides only the test name, e.g., ::
+
+ boost_test_compile(compile_test)
+ boost_test_compile_fail(compile_fail_test)
+
+ This code will create two regression tests. The first,
+ ``compile_test``, will try to compile the source file
+ ``compile_test.cpp`` in the current source directory. If the
+ compile is successful, the regression test passes. If the compile
+ fails, the regression test fails. The second regression test works
+ the opposite way: it will try to compile
+ ``compile_fail_test.cpp``: if the compilation is successful, the
+ regression test fails. When you run the regression tests (e.g., by
+ calling ``ctest`` from the build directory), the regression tests
+ will execute and produce output like the following::
+
+ Running tests...
+ Start processing tests
+ Test project /Users/dgregor/Projects/boost-darwin
+ 1/ 2 Testing libname::compile_test Passed
+ 2/ 2 Testing libname::compile_fail_test ***Failed - supposed to fail
+
+ 100% tests passed, 0 tests failed out of 2
+
+3. For any tests that need to be built and executed, use the
+ :ref:`boost_test_run` or :ref:`boost_test_run_fail` macros. Both
+ tests will build, link and execute a regression test. The
+ :ref:`boost_test_run` macro expects that executable to return an
+ exit code of zero, while the :ref:`boost_test_run_fail` macro
+ expects that executable to return a non-zero exit code. For
+ example, we might build a simple test ``simple_test`` from the
+ source file ``simple_test.cpp``::
+
+ boost_test_run(simple_test)
+
+ Often, we'll want to link against our own Boost library, which we
+ do using the ``DEPENDS`` argument to ``boost_test_run``::
+
+ boost_test_run(big_test big_test1.cpp big_test2.cpp
+ DEPENDS boost_libname-static
+ )
+
+ Here, we have created a test ``big_test``, built from the source
+ files ``big_test1.cpp`` and ``big_test2.cpp``, which will link
+ against the static library for ``boost_libname``. We could create
+ a similar test that links against the shared library for
+ ``boost_libname``, passing along compilation flags specific to the
+ shared library::
+
+ boost_test_run(big_test_dll big_test1.cpp big_test2.cpp
+ DEPENDS boost_libname-shared
+ COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1"
+ )
+
+ Some tests require command-line arguments. For example, say we
+ want to pass ``-loop 1000`` to a randomized test. We can do so
+ using the ``ARGS`` argument to ``boost_test_run`` (or
+ ``boost_test_run_fail``)::
+
+ boost_test_run(random_test ARGS "-loop" "1000" DEPENDS boost_libname-static)
+
+ Once you have finished describing your regression tests to the
+ CMake system, you're done! Your library will now build, test, and
+ install with CMake and this behavior should be portable across
+ many different platforms.
+
diff --git a/tools/build/CMake/docs/source/alt.boost.png b/tools/build/CMake/docs/source/alt.boost.png
new file mode 100644
index 0000000..1df0761
Binary files /dev/null and b/tools/build/CMake/docs/source/alt.boost.png differ
diff --git a/tools/build/CMake/docs/source/boost-dark-trans.png b/tools/build/CMake/docs/source/boost-dark-trans.png
new file mode 100644
index 0000000..093e301
Binary files /dev/null and b/tools/build/CMake/docs/source/boost-dark-trans.png differ
diff --git a/tools/build/CMake/docs/source/boost-small.png b/tools/build/CMake/docs/source/boost-small.png
new file mode 100644
index 0000000..1a69d0d
Binary files /dev/null and b/tools/build/CMake/docs/source/boost-small.png differ
diff --git a/tools/build/CMake/docs/source/boost.png b/tools/build/CMake/docs/source/boost.png
new file mode 100644
index 0000000..b4d51fc
Binary files /dev/null and b/tools/build/CMake/docs/source/boost.png differ
diff --git a/tools/build/CMake/docs/source/boost/theme.conf b/tools/build/CMake/docs/source/boost/theme.conf
new file mode 100644
index 0000000..88e4b6a
--- /dev/null
+++ b/tools/build/CMake/docs/source/boost/theme.conf
@@ -0,0 +1,9 @@
+[theme]
+inherit = sphinxdoc
+pygments_style = friendly
+
+[options]
+relbarbgcolor = '#ff0000'
+
+
+
diff --git a/tools/build/CMake/docs/source/boost/todo.py b/tools/build/CMake/docs/source/boost/todo.py
new file mode 100644
index 0000000..61dd4d6
--- /dev/null
+++ b/tools/build/CMake/docs/source/boost/todo.py
@@ -0,0 +1,147 @@
+# -*- coding: utf-8 -*-
+"""
+ sphinx.ext.todo
+ ~~~~~~~~~~~~~~~
+
+ Allow todos to be inserted into your documentation. Inclusion of todos can
+ be switched of by a configuration variable. The todolist directive collects
+ all todos of your project and lists them along with a backlink to the
+ original location.
+
+ :copyright: Copyright 2007-2009 by the Sphinx team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from docutils import nodes
+
+from sphinx.util.compat import Directive, make_admonition
+
+class todo_node(nodes.Admonition, nodes.Element): pass
+class todolist(nodes.General, nodes.Element): pass
+
+
+class Todo(Directive):
+ """
+ A todo entry, displayed (if configured) in the form of an admonition.
+ """
+
+ has_content = True
+ required_arguments = 0
+ optional_arguments = 0
+ final_argument_whitespace = False
+ option_spec = {}
+
+ def run(self):
+ env = self.state.document.settings.env
+
+ targetid = "todo-%s" % env.index_num
+ env.index_num += 1
+ targetnode = nodes.target('', '', ids=[targetid])
+
+ ad = make_admonition(todo_node, self.name, [_('Todo')], self.options,
+ self.content, self.lineno, self.content_offset,
+ self.block_text, self.state, self.state_machine)
+
+ # Attach a list of all todos to the environment,
+ # the todolist works with the collected todo nodes
+ if not hasattr(env, 'todo_all_todos'):
+ env.todo_all_todos = []
+ env.todo_all_todos.append({
+ 'docname': env.docname,
+ 'lineno': self.lineno,
+ 'todo': ad[0].deepcopy(),
+ 'target': targetnode,
+ })
+
+ return [targetnode] + ad
+
+
+class TodoList(Directive):
+ """
+ A list of all todo entries.
+ """
+
+ has_content = False
+ required_arguments = 0
+ optional_arguments = 0
+ final_argument_whitespace = False
+ option_spec = {}
+
+ def run(self):
+ # Simply insert an empty todolist node which will be replaced later
+ # when process_todo_nodes is called
+ return [todolist('')]
+
+
+def process_todo_nodes(app, doctree, fromdocname):
+ if not app.config['todo_include_todos']:
+ for node in doctree.traverse(todo_node):
+ node.parent.remove(node)
+
+ # Replace all todolist nodes with a list of the collected todos.
+ # Augment each todo with a backlink to the original location.
+ env = app.builder.env
+
+ if not hasattr(env, 'todo_all_todos'):
+ env.todo_all_todos = []
+
+ for node in doctree.traverse(todolist):
+ if not app.config['todo_include_todos']:
+ node.replace_self([])
+ continue
+
+ content = []
+
+ for todo_info in env.todo_all_todos:
+ para = nodes.paragraph()
+ filename = env.doc2path(todo_info['docname'], base=None)
+ description = (
+ _('(The original entry is located in %s, line %d and '
+ 'can be found ') % (filename, todo_info['lineno']))
+ para += nodes.Text(description, description)
+
+ # Create a reference
+ newnode = nodes.reference('', '')
+ innernode = nodes.emphasis(_('here'), _('here'))
+ newnode['refdocname'] = todo_info['docname']
+ newnode['refuri'] = app.builder.get_relative_uri(
+ fromdocname, todo_info['docname'])
+ newnode['refuri'] += '#' + todo_info['target']['refid']
+ newnode.append(innernode)
+ para += newnode
+ para += nodes.Text('.)', '.)')
+
+ # Insert into the todolist
+ content.append(todo_info['todo'])
+ content.append(para)
+
+ node.replace_self(content)
+
+
+def purge_todos(app, env, docname):
+ if not hasattr(env, 'todo_all_todos'):
+ return
+ env.todo_all_todos = [todo for todo in env.todo_all_todos
+ if todo['docname'] != docname]
+
+
+def visit_todo_node(self, node):
+ self.visit_admonition(node)
+
+def depart_todo_node(self, node):
+ self.depart_admonition(node)
+
+def setup(app):
+ app.add_config_value('todo_include_todos', False, False)
+
+ app.add_node(todolist)
+ app.add_node(todo_node,
+ html=(visit_todo_node, depart_todo_node),
+ latex=(visit_todo_node, depart_todo_node),
+ text=(visit_todo_node, depart_todo_node))
+
+ app.add_directive('todo', Todo)
+ app.add_directive('todolist', TodoList)
+ app.connect('doctree-resolved', process_todo_nodes)
+ app.connect('env-purge-doc', purge_todos)
+
diff --git a/tools/build/CMake/docs/source/boost_cmake_version.py.in b/tools/build/CMake/docs/source/boost_cmake_version.py.in
new file mode 100644
index 0000000..d98918e
--- /dev/null
+++ b/tools/build/CMake/docs/source/boost_cmake_version.py.in
@@ -0,0 +1,2 @@
+version = "@BOOST_VERSION@"
+release = "@BOOST_CMAKE_VERSION@"
diff --git a/tools/build/CMake/docs/source/build_configuration.rst b/tools/build/CMake/docs/source/build_configuration.rst
new file mode 100644
index 0000000..680e3dd
--- /dev/null
+++ b/tools/build/CMake/docs/source/build_configuration.rst
@@ -0,0 +1,297 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _configure_and_build:
+
+Configuring the buildspace
+==========================
+
+Configuration tools
+-------------------
+
+Included in the standard cmake distribution are the Windows `CMake`
+gui and the unix `ccmake` curses interface, which allow one to
+configure various aspects of the cmake build. On Microsoft Windows
+run the CMake configuration program from the Start menu.
+
+Having done the initial configuration step as in :ref:`quickstart`,
+on unix run::
+
+ make edit_cache
+
+in the binary directory. On windows just run the cmake gui and choose
+the binary dir from the pulldown menu. You will be presented with a list of editable build options something
+like this::
+
+ BOOST_PLATFORM linux
+ BUILD_BCP ON
+ BUILD_BOOST_WSERIALIZATION ON
+ BUILD_EXAMPLES NONE
+ BUILD_INSPECT ON
+ BUILD_TESTS NONE
+ CMAKE_BUILD_TYPE Release
+ CMAKE_INSTALL_PREFIX /usr/local
+ DART_TESTING_TIMEOUT 15
+ DEBUG_COMPILE_FLAGS -g
+ DOCBOOK_AUTOCONFIG OFF
+ DOCBOOK_DTD_DIR DOCBOOK_DTD_DIR-NOTFOUND
+ DOCBOOK_XSL_DIR DOCBOOK_XSL_DIR-NOTFOUND
+ ENABLE_DEBUG ON
+ ENABLE_MULTI_THREADED ON
+ ENABLE_RELEASE ON
+ ENABLE_SHARED ON
+ ENABLE_SINGLE_THREADED OFF
+ ENABLE_STATIC ON
+ RELEASE_COMPILE_FLAGS -O3 -DNDEBUG
+ UNZIP /usr/bin/unzip
+ WINMANGLE_LIBNAMES OFF
+ XSLTPROC /usr/bin/xsltproc
+ XSLTPROC_FLAGS --xinclude
+
+On windows, the configurables will be right in the middle of the gui;
+can't miss 'em. Note the ``[t]`` key to toggle 'advanced mode' which
+will show more options (on windows this is a selection box that says
+``Simple View`` by default, pull it down to see Advanced and Grouped
+views).
+
+Use the arrow keys to select particular options. Press :kbd:`c` (for
+(c)onfigure) to perform the preliminary configuration of the CMake
+build system when you are done. When the options you have selected
+have stabilized, CMake will give you the (g)enerate option. If you do
+not see this option, press :kbd:`c` again to reconfigure. Try the
+:kbd:`t` key to see more options. When you're done press :kbd:`g` to
+generate makefiles and exit.
+
+See :ref:`VARIANTS` for information about the feature-specific options
+(ie ``ENABLE_whatever`` listed above.)
+
+.. _cmakecache.txt:
+
+CMakeCache.txt
+==============
+
+The same information is stored in a file `CMakeCache.txt` located in
+the build directory. For this reason, after you've done the initial
+configuration of a build directory you can invoke `ccmake` like this::
+
+ ccmake <path-to-build>
+
+or have the makefiles do it for you::
+
+ make edit_cache
+
+The CMakeCache.txt file is hand-editable, though this is usually not
+as convenient as the cmake-supplied configuration tools mentioned
+above. An excerpt of this file::
+
+ //
+ // Enable/Disable color output during build.
+ //
+ CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+ //
+ // Mangle lib names for windows, e.g., boost_filesystem-gcc41-1_34
+ //
+ WINMANGLE_LIBNAMES:BOOL=ON
+
+
+On unix, (?windows too?) the generated makefiles will detect if this
+file has been edited and will automatically rerun the makefile
+generation phase. If you should need to trigger this regeneration
+manually you may execute ::
+
+ make rebuild_cache
+
+.. rubric:: Deleting the cache
+
+You may find yourself wanting to start from scratch, for instance if
+you want to switch from using Visual Studio to using NMake. To do
+this, **delete the cache file**. On windows, there is a *Delete
+Cache* option in the CMake gui's *File* menu. On unix you can simply
+``rm CMakeCache.txt``.
+
+.. index:: CMAKE_BINARY_DIR
+.. _CMAKE_BINARY_DIR:
+
+CMAKE_BINARY_DIR
+----------------
+
+This variable is set by cmake and corresponds to the toplevel of your
+``build/`` directory.
+
+
+.. _useful_options:
+
+A few useful options
+--------------------
+
+CMAKE_OSX_ARCHITECTURES
+^^^^^^^^^^^^^^^^^^^^^^^
+
+ *Mac OS X users*: to build universal binaries, set this to
+ ``ppc;i386``.
+
+.. index:: WINMANGLE_LIBNAMES
+.. _winmangle_libnames:
+
+WINMANGLE_LIBNAMES
+^^^^^^^^^^^^^^^^^^
+
+This option controls whether libraries will be built with mangled-in
+compiler name/version and boost version. For example, with
+``BUILD_VERSIONED`` set to ``OFF``, the signals library looks like
+this::
+
+ % ls lib/*signals*
+ lib/libboost_signals-mt-d.a lib/libboost_signals-mt.a
+ lib/libboost_signals-mt-d.so* lib/libboost_signals-mt.so*
+
+But with it on, (on a gcc 4.3 linux box)::
+
+ % ls lib/*signal*
+ lib/libboost_signals-gcc43-mt-1_40.a
+ lib/libboost_signals-gcc43-mt-d-1_40.a
+ lib/libboost_signals-gcc43-mt-1_40.so*
+ lib/libboost_signals-gcc43-mt-d-1_40.so*
+
+Historically this mangling has been convenient for windows users and a
+bane to unix users, thus *winmangle_libnames*.
+
+.. note:: The on-disk names of library :ref:`variants <variants>` are
+ always mangled with the active :ref:`features <features>`.
+ ``WINMANGLED_LIBNAMES`` affects mangling of compiler and boost
+ version only.
+
+.. index:: BUILD_PROJECTS
+.. _BUILD_PROJECTS:
+
+BUILD_PROJECTS
+^^^^^^^^^^^^^^
+
+This is a semicolon-separated list of projects to be built, or
+``"ALL"`` (the default) for all projects, or ``"NONE"``. Projects not
+appearing in this list (if list not ``"ALL"``) are ignored; no targets in
+this project will appear. Example::
+
+ BUILD_PROJECTS=thread;python
+
+See also the :ref:`boost_library_project_macro` macro.
+
+.. note::
+
+ If you specify a project with link time dependencies on other
+ projects, e.g. ``filesystem``, (which depends on ``system``) and
+ omit the dependencies, you will get an error from cmake something
+ like this::
+
+ CMake Error at tools/build/CMake/BoostCore.cmake:736 (get_property):
+ get_property could not find TARGET boost_system-mt-shared. Perhaps it has
+ not yet been created.
+ Call Stack (most recent call first):
+ tools/build/CMake/BoostCore.cmake:1170 (boost_library_variant)
+ libs/filesystem/src/CMakeLists.txt:7 (boost_add_library)
+
+
+.. index:: BUILD_EXAMPLES
+.. _BUILD_EXAMPLES:
+
+BUILD_EXAMPLES
+^^^^^^^^^^^^^^
+
+This is a semicolon-separated list of projects whose examples should
+be built, e.g.::
+
+ BUILD_EXAMPLES="iostreams;accumulators"
+
+.. warning:: If you pass this on the commandline in a unix shell,
+ don't forget to quote the list of arguments or escape the
+ semicolons...
+
+Per-library examples are specified with the :ref:`EXAMPLEDIRS`
+argument to the :ref:`boost_library_project_macro` macro.
+
+.. rubric:: Note:
+
+A project's examples will only be built if the project appears in
+**both** :ref:`BUILD_PROJECTS` and :ref:`BUILD_EXAMPLES`. I.e., the
+``BUILD_PROJECTS`` filter is applied first, and the ``BUILD_EXAMPLES``
+filter has no ability to reverse the result.
+
+.. index:: BUILD_TOOLS
+.. _BUILD_TOOLS:
+
+BUILD_TOOLS
+^^^^^^^^^^^
+
+Similar to BUILD_EXAMPLES and BUILD_PROJECTS above, this is a
+semicolon-separated list of tools (in subdirectory
+``$BOOST_ROOT/tools/``) that should be built, e.g.::
+
+ BUILD_TOOLS=quickbook;wave
+
+``"ALL"`` will build all tools, ``"NONE"`` will build none. Note that
+the values here are lowercase (only subdirectories of ``tools/``
+matching one of the strings in the list will be traversed by cmake).
+
+.. index:: verbosity; CMAKE_VERBOSE_MAKEFILE
+
+CMAKE_VERBOSE_MAKEFILE
+^^^^^^^^^^^^^^^^^^^^^^
+
+ Displays full build commands during build. Good for debugging.
+ This option will generate permanently verbose makefiles; it is
+ generally easier to invoke make with the option ``VERBOSE=1``
+ instead (this has the same effect, but is not persistent).
+
+.. index:: CMAKE_CXX_COMPILER
+
+.. _cmake_cxx_compiler:
+
+CMAKE_CXX_COMPILER
+^^^^^^^^^^^^^^^^^^
+
+ Sets the compiler. If you have a nonstandard compiler and no
+ default compiler, you may have to pass the value of this option on
+ the commandline, for example::
+
+ cmake ../src -DCMAKE_CXX_COMPILER=gcc-4.4
+
+ On windows you can set this in the gui, but you will probably prefer
+ to have cmake generate a set of nmake or project files by choosing
+ an appropriate generator.
+
+.. index:: BUILD_SOVERSIONED
+.. index:: soversion
+.. index:: soname
+.. _BUILD_SOVERSIONED:
+
+BUILD_SOVERSIONED
+^^^^^^^^^^^^^^^^^
+
+Enables the setting of SOVERSION in built libraries. If
+this is on::
+
+ % ls -l libboost_thread*.so*
+ lrwxrwxrwx 1 troy troy 30 Oct 29 18:37 libboost_thread-mt-d.so -> libboost_thread-mt-d.so.1.41.0*
+ -rwxr-xr-x 1 troy troy 571361 Oct 29 18:37 libboost_thread-mt-d.so.1.41.0*
+ lrwxrwxrwx 1 troy troy 28 Oct 29 18:37 libboost_thread-mt.so -> libboost_thread-mt.so.1.41.0*
+ -rwxr-xr-x 1 troy troy 114963 Oct 29 18:37 libboost_thread-mt.so.1.41.0*
+
+ % readelf -a libboost_thread-mt.so | grep SONAME
+ 0x000000000000000e (SONAME) Library soname: [libboost_thread-mt.so.1.41.0]
+
+and if off::
+
+ % ls -l lib/*signals*
+ -rwxr-xr-x 1 troy troy 835522 Oct 29 15:10 lib/libboost_signals-mt-d.so*
+ -rwxr-xr-x 1 troy troy 121886 Oct 29 15:10 lib/libboost_signals-mt.so*
+
+(Unix only, ``ON`` by default)
+
+This setting also determines whether libraries are *installed*
+with/without soversions. See also :ref:`INSTALL_VERSIONED`.
diff --git a/tools/build/CMake/docs/source/build_installer.rst b/tools/build/CMake/docs/source/build_installer.rst
new file mode 100644
index 0000000..38030ea
--- /dev/null
+++ b/tools/build/CMake/docs/source/build_installer.rst
@@ -0,0 +1,57 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Building a Binary Installer
+===========================
+
+CMake can easily build binary installers for a variety of
+platforms. On Windows and Mac OS X, CMake builds graphical
+installation programs. For other Unix operating systems, CMake
+currently builds tarballs and self-installing shell scripts. This
+CMake functionality, provided by the
+`CPack <http://www.cmake.org/Wiki/CMake:Packaging_With_CPack>`_ program
+that is part of CMake, is used to create all of CMake's binary
+installers. We use CPack to build binary installers for Boost. To
+build a binary installer for Boost, follow these steps:
+
+1. Build Boost using CMake. (see :ref:`quickstart`)
+
+2. ('''Windows only''') Download and install the `Nullsoft Scriptable
+ Install System (NSIS) <http://nsis.sourceforge.net/Main_Page>`_,
+ which is used to create graphical installers on Windows. Unix users
+ do not need to install any extra tools.
+
+3. Using the same development tools for building Boost, build the
+ "package" target to create the binary installers.
+
+ * With Microsoft Visual Studio, build the target named ``PACKAGE``
+ * With makefiles, run ` make package``.
+
+The output of the packaging process will be one or more binary
+packages of the form Boost-*version*\ -*platform*\ \.*extension*\ . The
+type of package will differ from one platform to another:
+
+* On Windows: The primary output is an executable (``.exe``) that
+ provides a graphical installer.
+
+* On Mac OS X: The primary output is a disk image (``.dmg``) that
+ contains a graphical installer package.
+
+* On Unix: Packaging produces compressed tarballs (``.tar.gz``) and
+ a self-installing shell script (``.sh``)
+
+
+Windows installer:
+
+.. image:: WindowsInstaller.png
+
+
+Mac installer:
+
+.. image:: MacInstaller.png
+
diff --git a/tools/build/CMake/docs/source/build_variants.rst b/tools/build/CMake/docs/source/build_variants.rst
new file mode 100644
index 0000000..0ed4eca
--- /dev/null
+++ b/tools/build/CMake/docs/source/build_variants.rst
@@ -0,0 +1,283 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: variants
+.. index:: features
+
+.. _VARIANTS:
+.. _features:
+
+Build Variants and Features
+===========================
+
+Different compilation and linking flags affect how source code and
+libraries are compiled. Boost's build system abstracts some of these
+properties into specific *features* of the build, which indicate (at
+a high level) what options are being used, e.g., multi-threaded,
+release-mode, shared libraries, etc. Each feature brings with it
+certain compilation options (which vary from one compiler to the next)
+that need to be used when building that variant. For example, on Unix
+systems, one often must link against the `pthread` library for
+multi-threaded programs and libraries, which requires the addition of
+the `-lpthread` flag to the link line. The ''features'' feature of the
+build system encapsulates this knowledge.
+
+A library built with a given set of **features** is called a library
+**variant**. For example, we could have a multi-threaded release variant
+of a shared library, which would be built with all of the options
+needed to support multi-threading, optimization, elimination of
+debugging symbols, and for building a shared library. Each variant of
+a library is given a unique name based on the features in that
+variant, so that one can readily identify the library, for example,
+`libboost_signals-gcc40-mt-d.so` is the multi-threaded, debug version
+of the shared library for Boost.Signals on a typical Linux system. The
+`Boost Getting Started guide
+<http://www.boost.org/more/getting_started/windows.html#library-naming>`_
+describes the library naming conventions used for the variants.
+
+The configuration and build of the library for each *feature* is
+(dis|en)abled with a boolean option ``ENABLE_``\ *feature*, which set
+in :ref:`cmakecache.txt`. The available features are:
+
+.. _name_mangling:
+
+Name Mangling
+-------------
+
+Libraries have their features mangled in to distinguish the variants
+from one another. CMake's symbolic target names correspond:
+
+============== =========== ======================
+Feature Target Name Library Name Component
+============== =========== ======================
+shared -shared (none)
+static -static (none)
+multithreaded -mt -mt
+release (none) (none)
+debug -debug -d
+pydebug -pydebug -yd
+============== =========== ======================
+
+The make target ``help`` will show the available options::
+
+ ``make help`` shows a list::
+
+ % make help | grep signals
+ ... boost_signals
+ ... boost_signals-mt-shared
+ ... boost_signals-mt-shared-debug
+ ... boost_signals-mt-static
+ ... boost_signals-mt-static-debug
+ ... boost_signals-shared
+ ... boost_signals-shared-debug
+ ... boost_signals-static
+ ... boost_signals-static-debug
+
+And you can see the correspondence to the libraries on disk::
+
+ % ls lib/libboost_signals*
+ lib/libboost_signals-d.a lib/libboost_signals-mt.a
+ lib/libboost_signals-d.so lib/libboost_signals-mt.so
+ lib/libboost_signals-mt-d.a lib/libboost_signals.a
+ lib/libboost_signals-mt-d.so lib/libboost_signals.so
+
+(Note: on most unix you will see more than this, as some of them
+contain version numbers and are symbolic links to one another).
+
+Configuring features
+--------------------
+
+You can globally (en|dis)able the build of these various features
+through the following cmake variables:
+
+.. index::
+ single: ENABLE_STATIC
+ pair: STATIC; feature
+
+.. _enable_static:
+
+ENABLE_STATIC
+^^^^^^^^^^^^^
+
+ The `STATIC` feature identifies static builds of libraries, i.e., a
+ `.lib` (library) file on Microsoft Windows or a `.a` (archive) file
+ on Unix systems.
+
+.. index::
+ single: ENABLE_SHARED
+ pair: SHARED; feature
+
+ENABLE_SHARED
+^^^^^^^^^^^^^
+
+ The `SHARED` feature identifies shared builds of libraries, i.e.,
+ a `.dll` (dynamically linked library) file on Microsoft Windows or
+ a `.so`(shared object) or `.dylib` (dynamic library) file on Unix
+ systems. In some cases, `SHARED` variants actually refer to
+ "modules", which are a special kind of shared library on some
+ systems (e.g., Mac OS X).
+
+.. index::
+ single: ENABLE_DEBUG
+ pair: DEBUG; feature
+
+ENABLE_DEBUG
+^^^^^^^^^^^^
+
+ The `DEBUG` feature identifies builds of libraries that retain
+ complete debugging information and prohibit optimization, making
+ these builds far easier to use for debugging programs.
+
+.. index::
+ single: ENABLE_RELEASE
+ pair: RELEASE; feature
+
+ENABLE_RELEASE
+^^^^^^^^^^^^^^
+
+ The `RELEASE` feature identifies builds of libraries that use full
+ optimization and eliminate extraneous information such as debug
+ symbols, resulting in builds of libraries that are typically much
+ smaller than (and execute faster than) their debug library
+ counterparts.
+
+
+.. index::
+ single: ENABLE_SINGLE_THREADED
+ pair: SINGLE_THREADED; feature
+
+ENABLE_SINGLE_THREADED
+^^^^^^^^^^^^^^^^^^^^^^
+
+ The `SINGLE_THREADED` feature identifies builds of libraries that
+ assume that the program using them is single-threaded. These
+ libraries typically avoid costly atomic operations or locks, and
+ make use of no multi-threaded features.
+
+
+.. index::
+ single: ENABLE_MULTI_THREADED
+ pair: MULTI_THREADED; feature
+
+ENABLE_MULTI_THREADED
+^^^^^^^^^^^^^^^^^^^^^
+
+ The `MULTI_THREADED` feature identifies builds of libraries that
+ assume that the program using them is multi-threaded. These
+ libraries may introduce additional code (relative to their
+ single-threaded variants) that improves the behavior of the
+ library in a multi-threade context, often at the cost of
+ single-thread performance.
+
+
+.. index::
+ single: ENABLE_STATIC_RUNTIME
+ pair: STATIC_RUNTIME; feature
+
+ENABLE_STATIC_RUNTIME
+^^^^^^^^^^^^^^^^^^^^^
+
+ The `STATIC_RUNTIME` feature identifies builds that link against
+ the C and C++ run-time libraries statically, which directly
+ includes the code from those run-time libraries into the Boost
+ library or executable.
+
+
+.. index::
+ single: ENABLE_DYNAMIC_RUNTIME
+ pair: DYNAMIC_RUNTIME; feature
+
+ENABLE_DYNAMIC_RUNTIME
+^^^^^^^^^^^^^^^^^^^^^^
+
+ The `DYNAMIC_RUNTIME` feature identifies builds that link against
+ the dynamic C and C++ run-time libraries.
+
+.. _per_feature_flags:
+
+Per-feature Compilation and Linker Options
+------------------------------------------
+
+For each feature above, the Boost build system defines three variables
+used to provide compilation flags, linking flags, and extra libraries
+to link against when using that feature. These flags are automatically
+added to the build commands for variants using that feature. The
+particular flags and libraries are described by the following global
+variables:
+
+feature_COMPILE_FLAGS
+^^^^^^^^^^^^^^^^^^^^^
+
+ A string containing extra flags that will be added to the compile
+ line, including macro definitions and compiler-specific flags
+ needed to enable this particular feature.
+
+feature_LINK_FLAGS
+^^^^^^^^^^^^^^^^^^
+
+ A string containing extra flags that will be added to the
+ beginning of the link line. Note that these flags should '''not'''
+ contain extra libraries that one needs to link against. Those
+ should go into `feature_LINK_LIBS`.
+
+feature_LINK_LIBS
+^^^^^^^^^^^^^^^^^
+
+ A CMake list containing the names of additional libraries that
+ will be linked into libraries and executables that require this
+ feature. The elements in this list should name the library (e.g.,
+ `pthread`) rather than providing the link command itself (e.g.,
+ `-lpthread`), so that linking will be more portable.
+
+Each of these variables can be expanded for any feature, e.g.,
+`MULTI_THREADED_LINK_LIBS` contains libraries that multi-threaded
+variants should link against.
+
+All of the flags provided for each feature are typically detected by
+the Boost CMake configuration module in
+``tools/build/CMake/BoostConfig.cmake``.
+
+.. note:: These are **global** per-feature flags, ie
+ RELEASE_COMPILE_FLAGS defines flags used for the compilation
+ of all ``.cpp`` files that go into release libraries. See
+ :ref:`boost_add_library_macro` for per-feature flags that apply only to
+ individual libraries.
+
+Default Variants
+----------------
+
+By default, Boost's build system will build every permutation of
+libraries in the feature space
+
+ (`STATIC` or `SHARED`) x (`DEBUG` or `RELEASE`) x
+ (`SINGLE_THREADED` or `MULTI_THREADED`)
+
+resulting in 8 different copies of each library, modulo certain cases
+where variants are disabled [#disabled_variants]_. On Windows, where
+the distinction between static and dynamic run-time libraries is very
+important, the default build also creates permutations with
+(`STATIC_RUNTIME` or `DYNAMIC_RUNTIME`). Certain non-sensical
+combinations of libraries will automatically be eliminated, e.g., it
+does not generally make sense to create a shared library that links
+against the static C and C++ run-time libraries. However, this still
+means that the default build creates between 8 and 12 different
+variants of each Boost library.
+
+Users who only need a few variants of each library can change which
+variants of Boost libraries are build by default using various
+configuration options. For each feature, CMake's configuration will
+contain an option `ENABLE_feature`. When the feature is ON, the build
+system will produce variants with that feature. When the feature is
+OFF, the build system will suppress variants with that feature. For
+example, toggling `ENABLE_DEBUG` to `OFF` will inhibit the creation of
+the debug variants, drastically improving overall build times.
+
+.. rubric:: Footnotes
+
+.. [#disabled_variants] For instance, the **SINGLE_THREADED** variant
+ of the *boost_thread* project is disabled.
diff --git a/tools/build/CMake/docs/source/cmake.py b/tools/build/CMake/docs/source/cmake.py
new file mode 100644
index 0000000..c6ac4fe
--- /dev/null
+++ b/tools/build/CMake/docs/source/cmake.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+"""
+ sphinx.ext.todo
+ ~~~~~~~~~~~~~~~
+
+ Allow todos to be inserted into your documentation. Inclusion of todos can
+ be switched of by a configuration variable. The todolist directive collects
+ all todos of your project and lists them along with a backlink to the
+ original location.
+
+ :copyright: Copyright 2007-2009 by the Sphinx team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from docutils import nodes
+import re, string
+from sphinx.util.compat import Directive, make_admonition
+from sphinx.directives import DescDirective, PythonDesc
+from sphinx import addnodes
+
+class CMake(PythonDesc):
+ """
+ Description of a cmake macro
+ """
+
+ def needs_arglist(self):
+ return self.desctype == 'cmake'
+
+ def get_index_text(self, modname, name_cls):
+ return _('%s') % name_cls[0]
+
+def setup(app):
+
+ app.add_directive('cmake', CMake)
+
+
diff --git a/tools/build/CMake/docs/source/conf.py b/tools/build/CMake/docs/source/conf.py
new file mode 100644
index 0000000..a07907e
--- /dev/null
+++ b/tools/build/CMake/docs/source/conf.py
@@ -0,0 +1,214 @@
+# -*- coding: utf-8 -*-
+#
+# boost-cmake documentation build configuration file, created by
+# sphinx-quickstart on Mon May 11 08:53:19 2009.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os, subprocess
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+sys.path.append(os.path.abspath('.'))
+
+import boost_cmake_version
+
+# -- General configuration -----------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.ifconfig', 'sphinx.ext.todo', 'cmake', 'GitLexer']
+todo_include_todos = True
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8'
+
+show_sphinx = False
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Boost.CMake'
+gitcmd = 'git log -n1 --pretty=format:%cD'.split()
+print gitcmd
+
+lastmod = subprocess.Popen(gitcmd, stdout=subprocess.PIPE).communicate()[0]
+dochash = subprocess.Popen('git log -n1 --pretty=format:%H'.split(),
+ stdout=subprocess.PIPE).communicate()[0]
+
+copyright = u'2008-2009, Troy D. Straszheim, 2008 Douglas Gregor -- ' + ' Version ' + dochash + ", " + ' '.join(lastmod.split(' ')[:4])
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = boost_cmake_version.version
+# The full version, including alpha/beta/rc tags.
+release = boost_cmake_version.release
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = []
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+show_authors = True
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+html_theme = 'boost'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+# html_theme_options = { 'rightsidebar' : 'true' }
+
+# Add any paths that contain custom themes here, relative to this directory.
+html_theme_path = ['.']
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+html_title = 'Boost.CMake ' + release
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+html_logo = 'alt.boost.png'
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#
+# tds: We don't use this, we use the git timestamp
+#
+# html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_use_modindex = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'boost-cmakedoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+# The paper size ('letter' or 'a4').
+#latex_paper_size = 'letter'
+
+# The font size ('10pt', '11pt' or '12pt').
+#latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+ ('index', 'boost-' + boost_cmake_version.release + '.tex', ur'Boost.CMake',
+ ur'troy d. straszheim', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_use_modindex = True
+
+rst_epilog="""
+
+
+"""
diff --git a/tools/build/CMake/docs/source/diff.rst b/tools/build/CMake/docs/source/diff.rst
new file mode 100644
index 0000000..9b3fd8b
--- /dev/null
+++ b/tools/build/CMake/docs/source/diff.rst
@@ -0,0 +1,17 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Differences between this release and upstream
+=============================================
+
+The only differences below should be in the build system... but there
+should be a *lot* of them. :)
+
+
+.. literalinclude:: git_diff.txt
+
diff --git a/tools/build/CMake/docs/source/exported_targets.rst b/tools/build/CMake/docs/source/exported_targets.rst
new file mode 100644
index 0000000..d3fdfda
--- /dev/null
+++ b/tools/build/CMake/docs/source/exported_targets.rst
@@ -0,0 +1,257 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _find_package: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package
+.. _FindBoost.cmake: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:FindBoost
+
+.. _CMAKE_PREFIX_PATH: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_PREFIX_PATH
+
+.. _CMAKE_INSTALL_PREFIX: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_PREFIX
+
+.. index:: targets, exported
+.. index:: uninstalled tree, building against
+.. _exported_targets:
+
+
+Tricks for Building against Boost with CMake
+============================================
+
+Boost.CMake *exports* its targets, making developing independent
+projects against an installed boost, or simply against a build tree
+sitting on disk. There are a variety of ways to use these to ease
+configuration of boost in your external project.
+
+.. index:: Building against uninstalled boost
+.. _uninstalled:
+
+With an uninstalled build
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You only need to do three things:
+
+1. Add the appropriate include directory with
+ ``include_directories()``. This is the toplevel of the boost
+ source tree.
+
+2. ``include`` the generated ``Exports.cmake`` from the build tree
+ containing the exported targets. I is located in
+ ``${``:ref:`CMAKE_BINARY_DIR`\ ``}/lib/Exports.cmake``
+
+3. Tell cmake about your link dependencies with
+ ``target_link_libraries``. Note that you use the **names of the
+ cmake targets**, not the shorter names that the libraries have on
+ disk. ``make help`` shows a list::
+
+ % make help | grep signals
+ ... boost_signals
+ ... boost_signals-mt-shared
+ ... boost_signals-mt-shared-debug
+ ... boost_signals-mt-static
+ ... boost_signals-mt-static-debug
+
+ See also :ref:`name_mangling` for details on the naming
+ conventions.
+
+Since these are exported targets, CMake will add appropriate *rpaths*
+as necessary; fiddling with ``LD_LIBRARY_PATH`` should not be
+necessary.
+
+**If you get the target name wrong**, cmake will assume that you are
+talking about a library in the linker's default search path, not an
+imported target name and you will get an error when cmake tries to
+link against the nonexistent target. For instance, if I specify::
+
+ target_link_libraries(main boost_thread-mt-d)
+
+on linux my error will be something like::
+
+ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+ Linking CXX executable main
+ /usr/bin/ld: cannot find -lboost_thread-mt-d
+ collect2: ld returned 1 exit status
+
+The problem here is that the real name of the multithreaded, shared,
+debug library **target** is ``boost_thread-mt-shared-debug``. I know this is
+confusing; much of this is an attempt to be compatible with
+boost.build.
+
+If you are having trouble, have a look inside that file
+``Exports.cmake``. For each available target, you'll see::
+
+ # Create imported target boost_thread-mt-shared-debug
+ ADD_LIBRARY(boost_thread-mt-shared-debug SHARED IMPORTED)
+
+ # Import target "boost_thread-mt-shared-debug" for configuration "Release"
+ SET_PROPERTY(TARGET boost_thread-mt-shared-debug APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ SET_TARGET_PROPERTIES(boost_thread-mt-shared-debug PROPERTIES
+ IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE "pthread;rt"
+ IMPORTED_LOCATION_RELEASE "/home/troy/Projects/boost/cmake/cmaketest/build/boost/lib/libboost_thread-mt-d.so.1.41.0"
+ IMPORTED_SONAME_RELEASE "libboost_thread-mt-d.so.1.41.0"
+ )
+
+it is the name in the ``ADD_LIBRARY`` line that you pass to
+``target_link_libraries()``.
+
+
+
+Example
+-------
+
+There is an unpacked boost in ``/home/troy/boost-1.41.0/src`` and
+built boost in directory ``/home/troy/boost/1.41.0/build``. I have a
+program that builds from one file, ``main.cpp`` and uses boost
+threads. My ``CMakeLists.txt`` looks like this::
+
+ include_directories(
+ /home/troy/boost-1.41.0/src
+ /home/troy/boost-1.41.0/build/lib/Exports.cmake
+ )
+
+ add_executable(my_program main.cpp)
+
+ target_link_libraries(my_program boost_thread-mt-shared-debug)
+
+When I build, I see
+(wrapped, and some output replaced with ... for brevity)::
+
+ % make VERBOSE=1
+ ...
+ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+ /usr/bin/c++ -I/home/troy/boost-1.41.0/src -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/myproject/main.cpp
+ ...
+ linking CXX executable main
+ /usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /home/troy/boost-1.41.0/build/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/home/troy/boost-1.41.0/build/lib
+ ...
+ [100%] Built target main
+
+With an installed boost
+^^^^^^^^^^^^^^^^^^^^^^^
+
+The process by which cmake discovers an installed boost is a big
+topic, outside the scope of this document. Boost.CMake makes every
+effort to install things cleanly and behave in a backwards-compatible
+manner.
+
+.. index:: CMAKE_PREFIX_PATH
+.. index:: CMAKE_INSTALL_PREFIX
+.. index:: BOOST_INSTALL_CMAKE_DRIVERS
+
+The variable :ref:`BOOST_INSTALL_CMAKE_DRIVERS` controls whether
+Boost.CMake installs two files which help out in case multiple
+versions of boost are installed. If there is only one version
+present, the situation is simpler: typically this is simply a
+matter of either installing boost to a directory that on cmake's
+built-in CMAKE_PREFIX_PATH_, or adding the directory to
+CMAKE_PREFIX_PATH_ in your environment if it is not. You can see
+built-in search path by running ``cmake --system-information`` and
+looking for ``CMAKE_SYSTEM_PREFIX_PATH``.
+
+Try this first
+--------------
+
+Make a subdirectory for your project and create a file ``main.cpp``::
+
+ #include <iostream>
+ #include <boost/version.hpp>
+ #include <boost/thread/thread.hpp>
+
+ void helloworld()
+ {
+ std::cout << BOOST_VERSION << std::endl;
+ }
+
+ int main()
+ {
+ boost::thread thrd(&helloworld);
+ thrd.join();
+ }
+
+.. index:: NO_MODULE
+
+Create a ``CMakeLists.txt`` in the same directory containing the
+following::
+
+ find_package(Boost 1.41.0 COMPONENTS thread NO_MODULE)
+ ^^^^^^^^^--- NOTE THIS
+ include(${Boost_INCLUDE_DIR})
+ add_executable(main main.cpp)
+ target_link_libraries(main ${Boost_LIBRARIES})
+
+The ``NO_MODULE`` above is currently **required**, pending updates to
+FindBoost.cmake_ in a cmake release.
+
+Then run ``cmake .`` in that directory (note the dot). Then run make.
+If all is well you will see::
+
+ % make VERBOSE=1
+ ...
+ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
+ /usr/bin/c++ -I/usr/local/boost-1.41.0/include -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/Projects/boost/cmake/proj/main.cpp
+ ...
+ Linking CXX executable main
+ /usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /usr/local/boost-1.41.0/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/usr/local/boost-1.41.0/lib
+ ...
+ [100%] Built target main
+
+If all is not well, set CMAKE_PREFIX_PATH_ in your environment or in
+your ``CMakeLists.txt``. Add the CMAKE_INSTALL_PREFIX_ that you used
+when you installed boost::
+
+ export CMAKE_PREFIX_PATH=/my/unusual/location
+
+and try again.
+
+Alternative: via Boost_DIR
+--------------------------
+
+If the above didn't work, you can help cmake find your boost
+installation by setting ``Boost_DIR`` (in your ``CMakeLists.txt`` to
+the :ref:`BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR` that was set when you
+compiled. ``Boost_DIR`` will override any other settings.
+
+Given a (versioned) boost installation in ``/net/someplace``,
+Your CMakeLists.txt would look like this::
+
+ include_directories(/net/someplace/include/boost-1.41.0)
+
+ # you can also set Boost_DIR in your environment
+ set(Boost_DIR /net/someplace/share/boost-1.41.0/cmake)
+
+ find_package(Boost NO_MODULE)
+
+ add_executable(main main.cpp)
+
+ target_link_libraries(main boost_thread-mt-shared-debug)
+
+
+Multiple versions of boost installed
+------------------------------------
+
+The only recommended way to do this is the following:
+
+* Install all versions of boost to the same CMAKE_INSTALL_PREFIX_. One
+ or more of them must have been installed with
+ :ref:`BOOST_INSTALL_CMAKE_DRIVERS` on. :ref:`INSTALL_VERSIONED`
+ should be `OFF` for one of them at most.
+
+* Add the setting for CMAKE_INSTALL_PREFIX_ to CMAKE_PREFIX_PATH_, if
+ it is nonstandard.
+
+* Pass ``NO_MODULE`` to find_package_ when you call it (as above).
+
+At this point passing a version argument to find_package_ (see also
+docs for FindBoost.cmake_) should result in correct behavior.
+
+.. rubric:: Footnotes
+
+.. [#libsuffix] If your distribution specifies a :ref:`LIB_SUFFIX`
+ (e.g. if it installs libraries to
+ ``${``:ref:`CMAKE_INSTALL_PREFIX`\ ``/lib64``, you
+ will find `Boost.cmake` there. If the installation is
+ 'versioned', the ``Boost.cmake`` file may be in a
+ versioned subdirectory of lib, e.g. ``lib/boost-1.41.0``.
diff --git a/tools/build/CMake/docs/source/externals/bzip2.rst b/tools/build/CMake/docs/source/externals/bzip2.rst
new file mode 100644
index 0000000..db6927a
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/bzip2.rst
@@ -0,0 +1,19 @@
+.. index:: bzip2, external dependency
+.. _bzip2:
+
+
+BZip2
+=====
+
+If ``WITH_BZIP2`` is ``ON``, BZip2 is detected via the standard cmake
+``find_package(BZip2)``. The following variables are set:
+
++----------------------+----------------------------------------+
+|``BZIP2_FOUND`` |Bzip2 was found |
++----------------------+----------------------------------------+
+|``BZIP2_INCLUDE_DIR`` |Path to BZip2 includes |
++----------------------+----------------------------------------+
+|``BZIP2_DEFINITIONS`` |Compile line flags for BZip2 |
++----------------------+----------------------------------------+
+|``BZIP2_LIBRARIES`` |Libraries to link to when using BZip2 |
++----------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/source/externals/doxygen.rst b/tools/build/CMake/docs/source/externals/doxygen.rst
new file mode 100644
index 0000000..954d10c
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/doxygen.rst
@@ -0,0 +1,10 @@
+.. index:: doxygen, external dependency
+.. _doxygen:
+
+
+Doxygen
+=======
+
+If ``WITH_DOXYGEN`` is ``ON``, doxygen is detected via the standard
+cmake ``find_package(Doxygen)``. See the cmake documentation for more
+information
diff --git a/tools/build/CMake/docs/source/externals/expat.rst b/tools/build/CMake/docs/source/externals/expat.rst
new file mode 100644
index 0000000..55fa297
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/expat.rst
@@ -0,0 +1,10 @@
+.. index:: expat, external dependency
+.. _expat:
+
+
+Expat
+=====
+
+If ``WITH_EXPAT`` is ``ON``, expat is detected via the standard
+cmake ``find_package(Expat)``. See the cmake documentation for more
+information
diff --git a/tools/build/CMake/docs/source/externals/icu.rst b/tools/build/CMake/docs/source/externals/icu.rst
new file mode 100644
index 0000000..4eb7ac5
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/icu.rst
@@ -0,0 +1,22 @@
+.. index:: ICU, external dependency
+.. _icu:
+
+
+ICU (International Components for Unicode)
+==========================================
+
+If ``WITH_ICU`` is ``ON``, ICU is detected via the standard cmake
+``find_package(ICU)``. The following variables are set:
+
++-----------------------+----------------------------------------+
+|``ICU_FOUND`` |ON if icu was found |
++-----------------------+----------------------------------------+
+|``ICU_I18N_FOUND`` |ON if the i18n part (whatever that is) |
+| |of ICU was found. |
++-----------------------+----------------------------------------+
+|``ICU_INCLUDE_DIRS`` |path to ICU headers |
++-----------------------+----------------------------------------+
+|``ICU_LIBRARIES`` |full paths to ICU libraries |
++-----------------------+----------------------------------------+
+|``ICU_I18N_LIBRARIES`` |full paths to the i18n libraries |
++-----------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/source/externals/index.rst b/tools/build/CMake/docs/source/externals/index.rst
new file mode 100644
index 0000000..0b5dd3c
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/index.rst
@@ -0,0 +1,44 @@
+.. index:: External Dependencies; selectively disabling
+
+.. _external_dependencies:
+
+External Dependencies
+=====================
+
+Each external dependency has an associated option ``WITH_``\
+*dependency* that controls whether detection of the dependency will
+happen at all. These options default to ``ON``.
+
+Each external will set a variable *external*\ ``_FOUND`` if detection
+was successful. If this variable is empty (or ``FALSE``, 0, or
+``NO``) detection will be reattempted each time you configure.
+
+To **disable** the detection of any given external dependency and
+thereby any libraries or features that depend on it, set option
+``WITH_``\ *dependency* to ``NO`` (or ``OFF``, etc.)::
+
+ % cmake ../src -DWITH_PYTHON=OFF
+ -- The C compiler identification is GNU
+ -- The CXX compiler identification is GNU
+ ... more output ...
+ --
+ -- Python:
+ -- Disabled since WITH_PYTHON=OFF
+ --
+ ... more output ...
+ -- + python
+ -- +-- disabled since PYTHON_FOUND is false
+ --
+
+.. toctree::
+ :maxdepth: 3
+
+ bzip2
+ doxygen
+ expat
+ icu
+ mpi
+ python
+ xsltproc
+ valgrind
+ zlib
diff --git a/tools/build/CMake/docs/source/externals/mpi.rst b/tools/build/CMake/docs/source/externals/mpi.rst
new file mode 100644
index 0000000..09c337e
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/mpi.rst
@@ -0,0 +1,10 @@
+.. index:: MPI, external dependency
+.. _MPI:
+
+
+MPI
+===
+
+If ``WITH_MPI`` is ``ON``, MPI is detected via the standard
+cmake ``find_package(MPI)``. See the cmake documentation for more
+information.
diff --git a/tools/build/CMake/docs/source/externals/python.rst b/tools/build/CMake/docs/source/externals/python.rst
new file mode 100644
index 0000000..dcceff0
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/python.rst
@@ -0,0 +1,88 @@
+.. index:: Python
+.. _python_external:
+
+========
+ Python
+========
+
+By default, Boost.CMake will use the python detection built in to
+cmake. The relevant variables (command line or environment) are:
+
+.. index:: PYTHON_EXECUTABLE
+.. _python_executable:
+
+PYTHON_EXECUTABLE
+-----------------
+
+The path to the python executable, e.g. ``/usr/local/Python-3.1.1/bin/python3``
+
+.. index:: PYTHON_DEBUG_LIBRARIES
+.. _python_debug_libraries:
+
+PYTHON_DEBUG_LIBRARIES
+----------------------
+
+The path to the python debug library, typically only used by developers.
+
+.. index:: PYTHON_LIBRARIES
+.. _python_libraries:
+
+PYTHON_LIBRARIES
+----------------
+
+The path to the python library,
+e.g. ``/usr/local/Python-3.1.1/lib/libpython3.1.so``
+
+.. index:: PYTHON_INCLUDE_PATH
+.. index:: Python.h
+.. _python_include_path:
+
+PYTHON_INCLUDE_PATH
+-------------------
+
+The path to the include directory,
+e.g. ``/usr/local/Python-3.1.1/include/python3.1``. Note that cmake
+will check for the file ``Python.h`` in this directory and complain if
+it is not found.
+
+There are two ways to specify these, on the command line or via
+environment variables. Environment variables will override command
+line flags if present.
+
+.. rubric:: Command line
+
+::
+
+ % cmake ../src -DPYTHON_EXECUTABLE=/path/to/bin/python3 \
+ -DPYTHON_LIBRARIES=/path/to/libpython3.1.so \
+ -DPYTHON_INCLUDE_PATH=/path/to/include/python3.1
+
+.. rubric:: Exported environment variables
+
+::
+
+ % export PYTHON_EXECUTABLE=/path/to/bin/python
+ % export PYTHON_LIBRARIES=/path/to/libpython3.1.so
+ % export PYTHON_INCLUDE_PATH=/path/to/include/python3.1
+ % cmake ../src
+
+Either way, in the configuration output, you should see something
+like::
+
+ -- Testing PYTHON_EXECUTABLE from environment
+ -- Ok, using /path/to/bin/python3
+ -- Testing PYTHON_LIBRARIES from environment
+ -- Ok, using /path/to/lib/libpython3.1.so.
+ -- Skipping optional PYTHON_DEBUG_LIBRARIES: not set.
+ -- Testing PYTHON_INCLUDE_PATH from environment
+ -- Ok, using /path/to/include/python3.1
+ -- Python:
+ -- executable: /path/to/bin/python3
+ -- lib: /path/to/lib/libpython3.1.so
+ -- debug lib:
+ -- include path: /path/to/include/python3.1
+
+**NOTE**, once successfully detected, the python configuration will
+not be redetected. To modify, edit the relevant entries in your
+CMakeCache.txt, or delete it entirely to trigger redetection.
+
diff --git a/tools/build/CMake/docs/source/externals/valgrind.rst b/tools/build/CMake/docs/source/externals/valgrind.rst
new file mode 100644
index 0000000..e283a30
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/valgrind.rst
@@ -0,0 +1,27 @@
+.. index:: Valgrind, external dependency
+.. _Valgrind:
+
+
+Valgrind
+========
+
+Boost.cmake does a standard path search for ``valgrind``. If found,
+it sets the following variables
+
+
++----------------------------------------+----------------------------------------+
+|``VALGRIND_FOUND`` |Was valgrind found |
++----------------------------------------+----------------------------------------+
+|``VALGRIND_FLAGS`` |"--tool=memcheck" |
++----------------------------------------+----------------------------------------+
+|``VALGRIND_EXECUTABLE`` |path to the executable |
++----------------------------------------+----------------------------------------+
+
+.. index:: WITH_VALGRIND
+
+If the setting ``WITH_VALGRIND`` is ``ON``, (see
+:ref:`external_dependencies`) then tests will be run under valgrind.
+Tip: CTest's ``-V`` flag will show you the exact commands run and
+output of each test.
+
+
diff --git a/tools/build/CMake/docs/source/externals/xsltproc.rst b/tools/build/CMake/docs/source/externals/xsltproc.rst
new file mode 100644
index 0000000..9fbc951
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/xsltproc.rst
@@ -0,0 +1,18 @@
+.. index:: Xsltproc, external dependency
+.. _Xsltproc:
+
+
+Xsltproc
+========
+
+Boost.cmake does a standard path search for ``xsltproc``. If found,
+it sets the following variables
+
+
++----------------------------------------+----------------------------------------+
+|``XSLTPROC_FOUND`` |Was xsltproc found |
++----------------------------------------+----------------------------------------+
+|``XSLTPROC_FLAGS`` |"--xinclude" |
++----------------------------------------+----------------------------------------+
+|``XSLTPROC_EXECUTABLE`` |path to the executable |
++----------------------------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/source/externals/zlib.rst b/tools/build/CMake/docs/source/externals/zlib.rst
new file mode 100644
index 0000000..3c4e86c
--- /dev/null
+++ b/tools/build/CMake/docs/source/externals/zlib.rst
@@ -0,0 +1,17 @@
+.. index:: zlib, external dependency
+.. _zlib:
+
+
+Zlib
+=====
+
+If ``WITH_ZLIB`` is ``ON``, Zlib is detected via the standard cmake
+``find_package(Zlib)``. The following variables are set:
+
++----------------------+----------------------------------------+
+|``ZLIB_FOUND`` |Zlib was found |
++----------------------+----------------------------------------+
+|``ZLIB_INCLUDE_DIR`` |Path to Zlib includes |
++----------------------+----------------------------------------+
+|``ZLIB_LIBRARIES`` |Libraries to link to when using Zlib |
++----------------------+----------------------------------------+
diff --git a/tools/build/CMake/docs/source/faq.rst b/tools/build/CMake/docs/source/faq.rst
new file mode 100644
index 0000000..614bd19
--- /dev/null
+++ b/tools/build/CMake/docs/source/faq.rst
@@ -0,0 +1,42 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _faq:
+
+FAQ
+===
+
+A collection of asked questions.
+
+
+How do I set ``/D _SECURE_SCL=0`` on the commandline for release builds?
+------------------------------------------------------------------------
+
+* Run the cmake gui, pick the source and build directories, click
+ *Configure*
+
+* Find the entry called ``RELEASE_COMPILE_FLAGS`` and modify to taste.
+ (See also :ref:`per_feature_flags`)
+
+* Click *Configure* again, settings will be regenerated with your
+ flags intact.
+
+* Click *Generate*
+
+* Run Visual Studio, navigate to the build directory, open
+ ``Boost.sln``, build, profit.
+
+Note: I couldn't find the magic checkbox to tell visual studio show me
+what commands it executes while building. I switched the cmake gui to
+'advanced mode' and change CMAKE_VERBOSE_MAKEFILES to TRUE. Is there a
+more 'visualstudioesque' way to do this?
+
+-t
+
+
+
diff --git a/tools/build/CMake/docs/source/find_package_boost.rst b/tools/build/CMake/docs/source/find_package_boost.rst
new file mode 100644
index 0000000..c53289c
--- /dev/null
+++ b/tools/build/CMake/docs/source/find_package_boost.rst
@@ -0,0 +1,60 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: find_package(Boost)
+.. index:: FindBoost.cmake
+
+.. _find_package_boost:
+
+find_package(Boost)
+===================
+
+See :ref:`install_customization` for more information about variables
+used in this section.
+
+If you plan on using the ``FindBoost.cmake`` packaged with cmake
+versions 2.8.0 and earlier, (that is, third party packages that build
+with cmake need to find this boost installation via the cmake command
+``find_package(Boost...``), you will need to layout your boost
+installation in a way that is consistent with the way boost was
+installed by bjam during the many Dark Years. Michael Jackson of
+bluequartz.net reports success with the configuration below. He
+refers to boost.cmake variables :ref:`install_versioned`,
+:ref:`boost_include_install_dir`, and :ref:`boost_lib_install_dir`::
+
+ > Set INSTALL_VERSIONED=OFF
+ > set BOOST_INCLUDE_INSTALL_DIR=include/boost-1_41
+ > set BOOST_LIB_INSTALL_DIR=lib
+ >
+ > and then go. I also set an environment variable BOOST_ROOT to the
+ > CMAKE_INSTALL_PREFIX.
+ >
+ > In my CMake file I have the following;
+ >
+ > # ---------- Find Boost Headers/Libraries -----------------------
+ > SET (Boost_FIND_REQUIRED TRUE)
+ > SET (Boost_FIND_QUIETLY TRUE)
+ > set (Boost_USE_MULTITHREADED TRUE)
+ > set (Boost_USE_STATIC_LIBS TRUE)
+ > SET (Boost_ADDITIONAL_VERSIONS "1.41" "1.41.0")
+ >
+ > if ( NOT MXA_BOOST_HEADERS_ONLY)
+ > set (MXA_BOOST_COMPONENTS program_options unit_test_framework
+ > test_exec_monitor)
+ > endif()
+ > FIND_PACKAGE(Boost COMPONENTS ${MXA_BOOST_COMPONENTS} )
+ > INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
+ > LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
+ >
+ > This successfully works with the FindBoost.cmake that is included with CMake 2.6.4
+ >
+
+Currently in development there are other, perhaps easier, ways to
+detect your boost installations if you aren't dependent on this older
+FindBoost; see :ref:`exported_targets`.
+
diff --git a/tools/build/CMake/docs/source/git.rst b/tools/build/CMake/docs/source/git.rst
new file mode 100644
index 0000000..6658d28
--- /dev/null
+++ b/tools/build/CMake/docs/source/git.rst
@@ -0,0 +1,190 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. highlight:: git_shell
+
+.. _hacking_cmake_with_git:
+
+Hacking Boost.CMake with Git
+============================
+
+Boost-cmake, in addition to using an alternative build system, uses
+alternate version control. This makes boost.cmake feasable: without
+distributed version control it would be very difficult to maintain a
+build system against upstream boost.
+
+This document will review some common version-control procedures for
+those who are unfamiliar with git. More documentation is available at
+`Hacking Boost via Git
+<http://gitorious.org/boost/git-docs/blobs/raw/master/build/html/index.html>`_.
+
+
+The first step is to get `Git <http://git-scm.com>`_. Any recent
+version will do. On windows, git downloads come with a bash shell, so
+the commandline interface is essentially identical. There is also
+`TortoiseGit <http://code.google.com/p/tortoisegit/>`_, which is
+evolving quickly and quite usable.
+
+I just want to try the HEAD of the <whatever> branch
+----------------------------------------------------
+
+Pick some directory to work in. Here I'll use ``/tmp``. My prompt is
+a percent sign. Clone the repository to a subdirectory called
+``src``. This will take a while the first time, after that things
+will be very fast.
+
+::
+
+ % git clone git://gitorious.org/boost/cmake.git src
+ Initialized empty Git repository in /tmp/src/.git/
+ remote: Counting objects: 425396, done.
+ remote: Compressing objects: 100% (129689/129689), done.
+ remote: Total 425396 (delta 298454), reused 419119 (delta 292368)
+ Receiving objects: 100% (425396/425396), 135.56 MiB | 1260 KiB/s, done.
+ Resolving deltas: 100% (298454/298454), done.
+ Checking out files: 100% (23865/23865), done.
+
+inside this directory you'll see the branch that is checked out::
+
+ % cd src
+ % git branch -l
+ * 1.41.0
+
+This means I'm on the ``1.41.0`` branch, and the files are checked
+out::
+
+ % ls
+ CMakeLists.txt boost/ bootstrap.sh* libs/ tools/
+ CTestConfig.cmake boost-build.jam build/ more/ wiki/
+ INSTALL boost.css doc/ people/
+ Jamroot boost.png index.htm rst.css
+ LICENSE_1_0.txt bootstrap.bat index.html status/
+
+Now you can go ahead and do your out-of-source build.
+
+I want to svn update
+--------------------
+
+When new changes arrive upstream, you'll want to ``git pull``::
+
+ % git pull
+ remote: Counting objects: 310, done.
+ remote: Compressing objects: 100% (45/45), done.
+ remote: Total 205 (delta 154), reused 203 (delta 152)
+ Receiving objects: 100% (205/205), 49.59 KiB, done.
+ Resolving deltas: 100% (154/154), completed with 81 local objects.
+ From git://gitorious.org/boost/cmake
+ 1818334..b945719 1.41.0 -> origin/1.41.0
+ Updating 1818334..b945719
+ Fast forward
+ CMakeLists.txt | 6 +-
+ CTestConfig.cmake | 5 +-
+ ...
+ 83 files changed, 1071 insertions(+), 537 deletions(-)
+
+.. _makeremote:
+
+But I want a different branch than that
+---------------------------------------
+
+``git branch -r`` will show your 'remote' branches::
+
+ % git branch -r
+ origin/1.40.0
+ origin/1.41.0
+ origin/HEAD -> origin/1.41.0
+ origin/master
+
+This shows that in *origin* (the repository you cloned from), there
+are *1.40.0*, *1.41.0*, and *master* branches. To switch to e.g. the
+*1.40.0* branch, you make a local branch that 'tracks' the upstream
+branch::
+
+ % git checkout -b 1.40.0 origin/1.40.0
+ Branch 1.40.0 set up to track remote branch 1.40.0 from origin.
+ Switched to a new branch '1.40.0'
+
+Now you will see this new local branch in your branch list::
+
+ % git branch -l
+ * 1.40.0 # the star means this one is checked out
+ 1.41.0
+
+And your status will show it as well::
+
+ % git status
+ # On branch 1.40.0
+ nothing to commit (working directory clean)
+
+now, any *git pull*\ -ing you do will come from the upstream *1.40.0*
+branch in to your local 1.40.0 branch.
+
+I have changes, how do I make a patch?
+--------------------------------------
+
+Just change the files and ``git diff``::
+
+ % git diff
+ diff --git a/CMakeLists.txt b/CMakeLists.txt
+ index d2bc809..d5e055e 100644
+ --- a/CMakeLists.txt
+ +++ b/CMakeLists.txt
+ @@ -27,6 +27,10 @@
+ cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
+ project(Boost)
+
+ +#
+ +# These are my changes
+ +#
+ +
+ ##########################################################################
+ # Version information #
+ ##########################################################################
+ @@ -323,6 +327,7 @@ endif()
+
+ mark_as_advanced(BOOST_EXPORTS_FILE BOOST_INSTALL_EXPORTS_FILE)
+
+ +# and some here too
+ # Add build rules for documentation
+ add_subdirectory(doc)
+
+and mail it in.
+
+Oops, I screwed up and want to revert
+-------------------------------------
+
+Use ``git reset``::
+
+ % git reset --hard HEAD
+ HEAD is now at e26008e Don't build tools by default. All they do is break.
+
+I want to switch branches
+-------------------------
+
+If you've already created a local branch, i.e. it appears in the
+output of ``git branch -l``::
+
+ % git branch -l
+ * 1.40.0
+ 1.41.0
+
+Then just check it out::
+
+ % git checkout 1.41.0
+ Switched to branch '1.41.0'
+
+ % git branch -l
+ 1.40.0
+ * 1.41.0
+
+ % git status
+ # On branch 1.41.0
+ nothing to commit (working directory clean)
+
+If not (i.e. it only appears in the output of ``git branch -r``),
+see :ref:`makeremote`.
diff --git a/tools/build/CMake/docs/source/git_diff.txt b/tools/build/CMake/docs/source/git_diff.txt
new file mode 100644
index 0000000..a069a13
--- /dev/null
+++ b/tools/build/CMake/docs/source/git_diff.txt
@@ -0,0 +1,502 @@
+% git diff --stat=100,90 Boost_1_41_0
+ .gitignore | 8 +
+ CMakeLists.txt | 413 ++-
+ CTestConfig.cmake | 21 +
+ doc/CMakeLists.txt | 9 +
+ doc/src/CMakeLists.txt | 19 +
+ libs/CMakeLists.txt | 99 +
+ libs/accumulators/CMakeLists.txt | 21 +
+ libs/accumulators/doc/CMakeLists.txt | 8 +
+ libs/accumulators/example/CMakeLists.txt | 8 +
+ libs/accumulators/module.cmake | 1 +
+ libs/accumulators/test/CMakeLists.txt | 82 +
+ libs/algorithm/CMakeLists.txt | 22 +
+ libs/algorithm/minmax/test/CMakeLists.txt | 10 +
+ libs/algorithm/module.cmake | 4 +
+ libs/algorithm/string/test/CMakeLists.txt | 18 +
+ libs/any/CMakeLists.txt | 27 +
+ libs/any/module.cmake | 1 +
+ libs/any/test/CMakeLists.txt | 11 +
+ libs/array/CMakeLists.txt | 27 +
+ libs/array/module.cmake | 1 +
+ libs/array/test/CMakeLists.txt | 14 +
+ libs/asio/CMakeLists.txt | 28 +
+ libs/asio/module.cmake | 3 +
+ libs/asio/test/CMakeLists.txt | 127 +
+ libs/asio/test/ip/CMakeLists.txt | 32 +
+ libs/asio/test/local/CMakeLists.txt | 16 +
+ libs/asio/test/posix/CMakeLists.txt | 17 +
+ libs/asio/test/ssl/CMakeLists.txt | 78 +
+ libs/assign/CMakeLists.txt | 28 +
+ libs/assign/module.cmake | 1 +
+ libs/assign/test/CMakeLists.txt | 28 +
+ libs/bimap/CMakeLists.txt | 28 +
+ libs/bimap/module.cmake | 1 +
+ libs/bimap/test/CMakeLists.txt | 49 +
+ libs/bind/CMakeLists.txt | 28 +
+ libs/bind/module.cmake | 1 +
+ libs/bind/test/CMakeLists.txt | 47 +
+ libs/circular_buffer/CMakeLists.txt | 29 +
+ libs/circular_buffer/module.cmake | 1 +
+ libs/circular_buffer/test/CMakeLists.txt | 13 +
+ libs/compatibility/CMakeLists.txt | 27 +
+ libs/compatibility/module.cmake | 2 +
+ libs/concept_check/CMakeLists.txt | 29 +
+ libs/concept_check/module.cmake | 1 +
+ libs/concept_check/test/CMakeLists.txt | 14 +
+ libs/config/CMakeLists.txt | 28 +
+ libs/config/test/CMakeLists.txt | 37 +
+ libs/conversion/CMakeLists.txt | 28 +
+ libs/conversion/test/CMakeLists.txt | 20 +
+ libs/crc/CMakeLists.txt | 27 +
+ libs/crc/module.cmake | 1 +
+ libs/crc/test/CMakeLists.txt | 10 +
+ libs/date_time/CMakeLists.txt | 28 +
+ libs/date_time/module.cmake | 1 +
+ libs/date_time/src/CMakeLists.txt | 13 +
+ libs/date_time/test/CMakeLists.txt | 187 +
+ libs/detail/CMakeLists.txt | 27 +
+ libs/detail/module.cmake | 1 +
+ libs/disjoint_sets/CMakeLists.txt | 29 +
+ libs/disjoint_sets/module.cmake | 1 +
+ libs/disjoint_sets/test/CMakeLists.txt | 7 +
+ libs/dynamic_bitset/CMakeLists.txt | 30 +
+ libs/dynamic_bitset/module.cmake | 1 +
+ libs/dynamic_bitset/test/CMakeLists.txt | 13 +
+ libs/exception/CMakeLists.txt | 29 +
+ libs/exception/module.cmake | 1 +
+ libs/exception/test/CMakeLists.txt | 55 +
+ libs/filesystem/CMakeLists.txt | 28 +
+ libs/filesystem/module.cmake | 1 +
+ libs/filesystem/src/CMakeLists.txt | 14 +
+ libs/filesystem/test/CMakeLists.txt | 30 +
+ libs/flyweight/CMakeLists.txt | 18 +
+ libs/flyweight/module.cmake | 1 +
+ libs/flyweight/test/CMakeLists.txt | 53 +
+ libs/foreach/CMakeLists.txt | 27 +
+ libs/foreach/module.cmake | 1 +
+ libs/foreach/test/CMakeLists.txt | 40 +
+ libs/format/CMakeLists.txt | 28 +
+ libs/format/module.cmake | 1 +
+ libs/format/test/CMakeLists.txt | 13 +
+ libs/function/CMakeLists.txt | 28 +
+ libs/function/doc/CMakeLists.txt | 8 +
+ libs/function/module.cmake | 1 +
+ libs/function/test/CMakeLists.txt | 29 +
+ libs/function_types/CMakeLists.txt | 27 +
+ libs/function_types/module.cmake | 1 +
+ libs/function_types/test/CMakeLists.txt | 76 +
+ libs/functional/CMakeLists.txt | 28 +
+ libs/functional/hash/doc/CMakeLists.txt | 8 +
+ libs/functional/hash/examples/CMakeLists.txt | 15 +
+ libs/functional/hash/test/CMakeLists.txt | 58 +
+ libs/functional/module.cmake | 1 +
+ libs/functional/test/CMakeLists.txt | 7 +
+ libs/fusion/CMakeLists.txt | 29 +
+ libs/fusion/module.cmake | 1 +
+ libs/gil/CMakeLists.txt | 28 +
+ libs/gil/module.cmake | 1 +
+ libs/gil/test/CMakeLists.txt | 16 +
+ libs/graph/CMakeLists.txt | 24 +
+ libs/graph/module.cmake | 4 +
+ libs/graph/src/CMakeLists.txt | 38 +
+ libs/graph/test/CMakeLists.txt | 71 +
+ libs/graph_parallel/CMakeLists.txt | 25 +
+ libs/graph_parallel/doc/CMakeLists.txt | 70 +
+ libs/graph_parallel/example/CMakeLists.txt | 59 +
+ libs/graph_parallel/module.cmake | 1 +
+ libs/graph_parallel/src/CMakeLists.txt | 22 +
+ libs/graph_parallel/test/CMakeLists.txt | 121 +
+ libs/integer/CMakeLists.txt | 31 +
+ libs/integer/module.cmake | 1 +
+ libs/integer/test/CMakeLists.txt | 14 +
+ libs/interprocess/CMakeLists.txt | 27 +
+ libs/interprocess/module.cmake | 1 +
+ libs/interprocess/test/CMakeLists.txt | 14 +
+ libs/intrusive/CMakeLists.txt | 28 +
+ libs/intrusive/module.cmake | 1 +
+ libs/io/CMakeLists.txt | 28 +
+ libs/io/module.cmake | 1 +
+ libs/io/test/CMakeLists.txt | 12 +
+ libs/iostreams/CMakeLists.txt | 27 +
+ libs/iostreams/example/CMakeLists.txt | 10 +
+ libs/iostreams/module.cmake | 1 +
+ libs/iostreams/src/CMakeLists.txt | 36 +
+ libs/iostreams/test/CMakeLists.txt | 69 +
+ libs/iterator/CMakeLists.txt | 30 +
+ libs/iterator/module.cmake | 1 +
+ libs/iterator/test/CMakeLists.txt | 39 +
+ libs/lambda/CMakeLists.txt | 27 +
+ libs/lambda/module.cmake | 1 +
+ libs/lambda/test/CMakeLists.txt | 24 +
+ libs/logic/CMakeLists.txt | 27 +
+ libs/logic/module.cmake | 3 +
+ libs/logic/test/CMakeLists.txt | 12 +
+ libs/math/CMakeLists.txt | 28 +
+ libs/math/module.cmake | 1 +
+ libs/math/test/CMakeLists.txt | 33 +
+ libs/mpi/CMakeLists.txt | 31 +
+ libs/mpi/doc/CMakeLists.txt | 36 +
+ libs/mpi/module.cmake | 1 +
+ libs/mpi/src/CMakeLists.txt | 84 +
+ libs/mpi/test/CMakeLists.txt | 77 +
+ libs/mpl/CMakeLists.txt | 28 +
+ libs/mpl/module.cmake | 1 +
+ libs/mpl/test/CMakeLists.txt | 97 +
+ libs/multi_array/CMakeLists.txt | 28 +
+ libs/multi_array/module.cmake | 2 +
+ libs/multi_array/test/CMakeLists.txt | 47 +
+ libs/multi_index/CMakeLists.txt | 29 +
+ libs/multi_index/module.cmake | 1 +
+ libs/multi_index/test/CMakeLists.txt | 34 +
+ libs/numeric/CMakeLists.txt | 27 +
+ libs/numeric/conversion/test/CMakeLists.txt | 17 +
+ libs/numeric/interval/test/CMakeLists.txt | 34 +
+ libs/numeric/module.cmake | 1 +
+ libs/numeric/ublas/test/CMakeLists.txt | 86 +
+ libs/optional/CMakeLists.txt | 28 +
+ libs/optional/module.cmake | 1 +
+ libs/optional/test/CMakeLists.txt | 23 +
+ libs/parameter/CMakeLists.txt | 29 +
+ libs/parameter/module.cmake | 1 +
+ libs/parameter/test/CMakeLists.txt | 31 +
+ libs/pool/CMakeLists.txt | 27 +
+ libs/pool/module.cmake | 1 +
+ libs/pool/test/CMakeLists.txt | 9 +
+ libs/preprocessor/CMakeLists.txt | 28 +
+ libs/preprocessor/module.cmake | 4 +
+ libs/preprocessor/test/CMakeLists.txt | 23 +
+ libs/program_options/CMakeLists.txt | 28 +
+ libs/program_options/module.cmake | 1 +
+ libs/program_options/src/CMakeLists.txt | 11 +
+ libs/program_options/test/CMakeLists.txt | 39 +
+ libs/property_map/CMakeLists.txt | 28 +
+ libs/property_map/module.cmake | 1 +
+ libs/property_map/test/CMakeLists.txt | 11 +
+ libs/proto/CMakeLists.txt | 27 +
+ libs/proto/module.cmake | 2 +
+ libs/proto/test/CMakeLists.txt | 58 +
+ libs/ptr_container/CMakeLists.txt | 27 +
+ libs/ptr_container/module.cmake | 1 +
+ libs/ptr_container/test/CMakeLists.txt | 28 +
+ libs/python/CMakeLists.txt | 21 +
+ libs/python/module.cmake | 3 +
+ libs/python/src/CMakeLists.txt | 70 +
+ libs/python/test/CMakeLists.txt | 231 +
+ libs/random/CMakeLists.txt | 28 +
+ libs/random/module.cmake | 3 +
+ libs/random/test/CMakeLists.txt | 34 +
+ libs/range/CMakeLists.txt | 28 +
+ libs/range/doc/CMakeLists.txt | 7 +
+ libs/range/module.cmake | 1 +
+ libs/range/test/CMakeLists.txt | 25 +
+ libs/rational/CMakeLists.txt | 28 +
+ libs/rational/module.cmake | 1 +
+ libs/rational/test/CMakeLists.txt | 14 +
+ libs/regex/CMakeLists.txt | 51 +
+ libs/regex/example/CMakeLists.txt | 76 +
+ libs/regex/module.cmake | 1 +
+ libs/regex/src/CMakeLists.txt | 51 +
+ libs/regex/test/CMakeLists.txt | 93 +
+ libs/serialization/CMakeLists.txt | 28 +
+ libs/serialization/module.cmake | 3 +
+ libs/serialization/src/CMakeLists.txt | 56 +
+ libs/serialization/test/CMakeLists.txt | 184 +
+ libs/signals/CMakeLists.txt | 29 +
+ libs/signals/module.cmake | 3 +
+ libs/signals/src/CMakeLists.txt | 13 +
+ libs/signals/test/CMakeLists.txt | 15 +
+ libs/signals2/CMakeLists.txt | 19 +
+ libs/signals2/module.cmake | 1 +
+ libs/signals2/test/CMakeLists.txt | 26 +
+ libs/smart_ptr/CMakeLists.txt | 36 +
+ libs/smart_ptr/module.cmake | 1 +
+ libs/smart_ptr/test/CMakeLists.txt | 56 +
+ libs/spirit/CMakeLists.txt | 30 +
+ libs/spirit/module.cmake | 1 +
+ libs/spirit/test/CMakeLists.txt | 121 +
+ libs/statechart/CMakeLists.txt | 27 +
+ libs/statechart/example/CMakeLists.txt | 31 +
+ libs/statechart/module.cmake | 1 +
+ libs/statechart/test/CMakeLists.txt | 93 +
+ libs/static_assert/CMakeLists.txt | 28 +
+ libs/static_assert/module.cmake | 1 +
+ libs/static_assert/test/CMakeLists.txt | 19 +
+ libs/system/CMakeLists.txt | 27 +
+ libs/system/module.cmake | 1 +
+ libs/system/src/CMakeLists.txt | 13 +
+ libs/test/CMakeLists.txt | 27 +
+ libs/test/build/Jamfile.v2 | 2 +-
+ libs/test/module.cmake | 5 +
+ libs/test/src/CMakeLists.txt | 70 +
+ libs/test/test/CMakeLists.txt | 49 +
+ libs/thread/CMakeLists.txt | 29 +
+ libs/thread/example/CMakeLists.txt | 17 +
+ libs/thread/module.cmake | 1 +
+ libs/thread/src/CMakeLists.txt | 20 +
+ libs/thread/test/CMakeLists.txt | 39 +
+ libs/timer/CMakeLists.txt | 28 +
+ libs/timer/module.cmake | 1 +
+ libs/timer/test/CMakeLists.txt | 9 +
+ libs/tokenizer/CMakeLists.txt | 27 +
+ libs/tokenizer/module.cmake | 1 +
+ libs/tokenizer/test/CMakeLists.txt | 15 +
+ libs/tr1/CMakeLists.txt | 27 +
+ libs/tr1/module.cmake | 1 +
+ libs/tr1/test/CMakeLists.txt | 75 +
+ libs/tuple/CMakeLists.txt | 27 +
+ libs/tuple/module.cmake | 2 +
+ libs/tuple/test/CMakeLists.txt | 11 +
+ libs/type_traits/CMakeLists.txt | 40 +
+ libs/type_traits/module.cmake | 1 +
+ libs/type_traits/test/CMakeLists.txt | 13 +
+ libs/typeof/CMakeLists.txt | 27 +
+ libs/typeof/module.cmake | 1 +
+ libs/typeof/test/CMakeLists.txt | 30 +
+ libs/units/CMakeLists.txt | 28 +
+ libs/units/doc/CMakeLists.txt | 8 +
+ libs/units/module.cmake | 2 +
+ libs/units/test/CMakeLists.txt | 70 +
+ libs/unordered/CMakeLists.txt | 29 +
+ libs/unordered/module.cmake | 1 +
+ libs/unordered/test/CMakeLists.txt | 24 +
+ libs/unordered/test/exception/CMakeLists.txt | 25 +
+ libs/unordered/test/unordered/CMakeLists.txt | 43 +
+ libs/utility/CMakeLists.txt | 37 +
+ libs/utility/enable_if/test/CMakeLists.txt | 20 +
+ libs/utility/module.cmake | 1 +
+ libs/utility/swap/test/CMakeLists.txt | 41 +
+ libs/utility/test/CMakeLists.txt | 47 +
+ libs/variant/CMakeLists.txt | 28 +
+ libs/variant/module.cmake | 1 +
+ libs/variant/test/CMakeLists.txt | 15 +
+ libs/wave/CMakeLists.txt | 28 +
+ libs/wave/module.cmake | 1 +
+ libs/wave/src/CMakeLists.txt | 24 +
+ libs/wave/test/CMakeLists.txt | 8 +
+ libs/xpressive/CMakeLists.txt | 27 +
+ libs/xpressive/module.cmake | 1 +
+ libs/xpressive/test/CMakeLists.txt | 84 +
+ tools/CMakeLists.txt | 122 +
+ tools/bcp/CMakeLists.txt | 32 +
+ tools/build/CMake/Boost.bmp | Bin 0 -> 71674 bytes
+ tools/build/CMake/Boost.png | Bin 0 -> 6308 bytes
+ tools/build/CMake/BoostConfig.cmake | 249 +
+ tools/build/CMake/BoostCore.cmake | 1509 +++++
+ tools/build/CMake/BoostDocs.cmake | 526 ++
+ tools/build/CMake/BoostExternals.cmake | 55 +
+ tools/build/CMake/BoostTesting.cmake | 494 ++
+ tools/build/CMake/BoostUtils.cmake | 275 +
+ tools/build/CMake/CMakeLists.txt | 91 +
+ tools/build/CMake/CTestCustom.cmake.in | 5 +
+ tools/build/CMake/CompileTest/CMakeLists.txt | 12 +
+ tools/build/CMake/FindICU.cmake | 51 +
+ tools/build/CMake/LinkTest/CMakeLists.txt | 26 +
+ tools/build/CMake/catalog.xml.in | 9 +
+ tools/build/CMake/docs/.gitignore | 4 +
+ tools/build/CMake/docs/Makefile.in | 101 +
+ tools/build/CMake/docs/build/html/.buildinfo | 4 +
+ tools/build/CMake/docs/build/html/_images/MacInstaller.png | Bin 0 -> 185943 bytes
+ tools/build/CMake/docs/build/html/_images/WindowsInstaller.png | Bin 0 -> 88166 bytes
+ tools/build/CMake/docs/build/html/_sources/add_boost_library.txt | 49 +
+ tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt | 231 +
+ tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt | 107 +
+ tools/build/CMake/docs/build/html/_sources/build_configuration.txt | 289 +
+ tools/build/CMake/docs/build/html/_sources/build_installer.txt | 49 +
+ tools/build/CMake/docs/build/html/_sources/build_variants.txt | 275 +
+ tools/build/CMake/docs/build/html/_sources/diff.txt | 9 +
+ tools/build/CMake/docs/build/html/_sources/exported_targets.txt | 247 +
+ tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt | 19 +
+ tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt | 10 +
+ tools/build/CMake/docs/build/html/_sources/externals/expat.txt | 10 +
+ tools/build/CMake/docs/build/html/_sources/externals/icu.txt | 22 +
+ tools/build/CMake/docs/build/html/_sources/externals/index.txt | 44 +
+ tools/build/CMake/docs/build/html/_sources/externals/mpi.txt | 10 +
+ tools/build/CMake/docs/build/html/_sources/externals/python.txt | 88 +
+ tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt | 27 +
+ tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt | 18 +
+ tools/build/CMake/docs/build/html/_sources/externals/zlib.txt | 17 +
+ tools/build/CMake/docs/build/html/_sources/faq.txt | 39 +
+ tools/build/CMake/docs/build/html/_sources/git.txt | 182 +
+ tools/build/CMake/docs/build/html/_sources/index.txt | 137 +
+ tools/build/CMake/docs/build/html/_sources/individual_libraries.txt | 152 +
+ tools/build/CMake/docs/build/html/_sources/install_customization.txt | 197 +
+ tools/build/CMake/docs/build/html/_sources/notes_by_version.txt | 218 +
+ tools/build/CMake/docs/build/html/_sources/quickstart.txt | 244 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt | 132 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt | 192 +
+ .../CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt | 36 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt | 95 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt | 6 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt | 6 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt | 7 +
+ tools/build/CMake/docs/build/html/_sources/testing.txt | 428 ++
+ tools/build/CMake/docs/build/html/_static/alt.boost.png | Bin 0 -> 8906 bytes
+ tools/build/CMake/docs/build/html/_static/basic.css | 405 ++
+ tools/build/CMake/docs/build/html/_static/boost.css | 221 +
+ tools/build/CMake/docs/build/html/_static/contents.png | Bin 0 -> 202 bytes
+ tools/build/CMake/docs/build/html/_static/doctools.js | 232 +
+ tools/build/CMake/docs/build/html/_static/file.png | Bin 0 -> 392 bytes
+ tools/build/CMake/docs/build/html/_static/jquery.js | 32 +
+ tools/build/CMake/docs/build/html/_static/minus.png | Bin 0 -> 199 bytes
+ tools/build/CMake/docs/build/html/_static/navigation.png | Bin 0 -> 218 bytes
+ tools/build/CMake/docs/build/html/_static/plus.png | Bin 0 -> 199 bytes
+ tools/build/CMake/docs/build/html/_static/pygments.css | 59 +
+ tools/build/CMake/docs/build/html/_static/searchtools.js | 467 ++
+ tools/build/CMake/docs/build/html/_static/sphinxdoc.css | 349 +
+ tools/build/CMake/docs/build/html/add_boost_library.html | 146 +
+ tools/build/CMake/docs/build/html/add_compiled_library.html | 319 +
+ tools/build/CMake/docs/build/html/adding_regression_tests.html | 201 +
+ tools/build/CMake/docs/build/html/build_configuration.html | 359 +
+ tools/build/CMake/docs/build/html/build_installer.html | 139 +
+ tools/build/CMake/docs/build/html/build_variants.html | 371 +
+ tools/build/CMake/docs/build/html/diff.html | 1102 +++
+ tools/build/CMake/docs/build/html/exported_targets.html | 320 +
+ tools/build/CMake/docs/build/html/externals/bzip2.html | 127 +
+ tools/build/CMake/docs/build/html/externals/doxygen.html | 108 +
+ tools/build/CMake/docs/build/html/externals/expat.html | 108 +
+ tools/build/CMake/docs/build/html/externals/icu.html | 131 +
+ tools/build/CMake/docs/build/html/externals/index.html | 140 +
+ tools/build/CMake/docs/build/html/externals/mpi.html | 108 +
+ tools/build/CMake/docs/build/html/externals/python.html | 170 +
+ tools/build/CMake/docs/build/html/externals/valgrind.html | 128 +
+ tools/build/CMake/docs/build/html/externals/xsltproc.html | 124 +
+ tools/build/CMake/docs/build/html/externals/zlib.html | 124 +
+ tools/build/CMake/docs/build/html/faq.html | 130 +
+ tools/build/CMake/docs/build/html/genindex.html | 360 +
+ tools/build/CMake/docs/build/html/git.html | 278 +
+ tools/build/CMake/docs/build/html/index.html | 365 +
+ tools/build/CMake/docs/build/html/individual_libraries.html | 241 +
+ tools/build/CMake/docs/build/html/install_customization.html | 252 +
+ tools/build/CMake/docs/build/html/notes_by_version.html | 318 +
+ tools/build/CMake/docs/build/html/objects.inv | 6 +
+ tools/build/CMake/docs/build/html/quickstart.html | 338 +
+ tools/build/CMake/docs/build/html/reference/boost_add_executable.html | 210 +
+ tools/build/CMake/docs/build/html/reference/boost_add_library.html | 295 +
+ tools/build/CMake/docs/build/html/reference/boost_additional_test_dependencies.html | 142 +
+ tools/build/CMake/docs/build/html/reference/boost_library_project.html | 184 +
+ tools/build/CMake/docs/build/html/reference/boost_module.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_python_module.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_compile.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_compile_fail.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_run.html | 103 +
+ tools/build/CMake/docs/build/html/reference/boost_test_run_fail.html | 93 +
+ tools/build/CMake/docs/build/html/search.html | 100 +
+ tools/build/CMake/docs/build/html/searchindex.js | 1 +
+ tools/build/CMake/docs/build/html/testing.html | 516 ++
+ tools/build/CMake/docs/source/.gitignore | 1 +
+ tools/build/CMake/docs/source/GitLexer.py | 49 +
+ tools/build/CMake/docs/source/MacInstaller.png | Bin 0 -> 185943 bytes
+ tools/build/CMake/docs/source/WindowsInstaller.png | Bin 0 -> 88166 bytes
+ tools/build/CMake/docs/source/_static/boost.css | 221 +
+ tools/build/CMake/docs/source/_static/pygments.css | 59 +
+ tools/build/CMake/docs/source/_static/sphinxdoc.css | 349 +
+ tools/build/CMake/docs/source/_templates/layout.html | 7 +
+ tools/build/CMake/docs/source/add_boost_library.rst | 49 +
+ tools/build/CMake/docs/source/add_compiled_library.rst | 231 +
+ tools/build/CMake/docs/source/adding_regression_tests.rst | 107 +
+ tools/build/CMake/docs/source/alt.boost.png | Bin 0 -> 8906 bytes
+ tools/build/CMake/docs/source/boost-dark-trans.png | Bin 0 -> 8312 bytes
+ tools/build/CMake/docs/source/boost-small.png | Bin 0 -> 8899 bytes
+ tools/build/CMake/docs/source/boost.png | Bin 0 -> 6308 bytes
+ tools/build/CMake/docs/source/boost/theme.conf | 9 +
+ tools/build/CMake/docs/source/boost/todo.py | 147 +
+ tools/build/CMake/docs/source/boost_cmake_version.py.in | 2 +
+ tools/build/CMake/docs/source/build_configuration.rst | 289 +
+ tools/build/CMake/docs/source/build_installer.rst | 49 +
+ tools/build/CMake/docs/source/build_variants.rst | 275 +
+ tools/build/CMake/docs/source/cmake.py | 36 +
+ tools/build/CMake/docs/source/conf.py | 214 +
+ tools/build/CMake/docs/source/diff.rst | 9 +
+ tools/build/CMake/docs/source/exported_targets.rst | 247 +
+ tools/build/CMake/docs/source/externals/bzip2.rst | 19 +
+ tools/build/CMake/docs/source/externals/doxygen.rst | 10 +
+ tools/build/CMake/docs/source/externals/expat.rst | 10 +
+ tools/build/CMake/docs/source/externals/icu.rst | 22 +
+ tools/build/CMake/docs/source/externals/index.rst | 44 +
+ tools/build/CMake/docs/source/externals/mpi.rst | 10 +
+ tools/build/CMake/docs/source/externals/python.rst | 88 +
+ tools/build/CMake/docs/source/externals/valgrind.rst | 27 +
+ tools/build/CMake/docs/source/externals/xsltproc.rst | 18 +
+ tools/build/CMake/docs/source/externals/zlib.rst | 17 +
+ tools/build/CMake/docs/source/faq.rst | 39 +
+ tools/build/CMake/docs/source/git.rst | 182 +
+ tools/build/CMake/docs/source/git_diff.txt | 1 +
+ tools/build/CMake/docs/source/index.rst | 138 +
+ tools/build/CMake/docs/source/individual_libraries.rst | 152 +
+ tools/build/CMake/docs/source/install_customization.rst | 197 +
+ tools/build/CMake/docs/source/modularize_library.rst.set_aside | 183 +
+ tools/build/CMake/docs/source/notes_by_version.rst | 218 +
+ tools/build/CMake/docs/source/quickstart.rst | 244 +
+ tools/build/CMake/docs/source/reference/boost_add_executable.rst | 132 +
+ tools/build/CMake/docs/source/reference/boost_add_library.rst | 192 +
+ tools/build/CMake/docs/source/reference/boost_additional_test_dependencies.rst | 36 +
+ tools/build/CMake/docs/source/reference/boost_library_project.rst | 95 +
+ tools/build/CMake/docs/source/reference/boost_module.rst | 7 +
+ tools/build/CMake/docs/source/reference/boost_python_module.rst | 7 +
+ tools/build/CMake/docs/source/reference/boost_test_compile.rst | 6 +
+ tools/build/CMake/docs/source/reference/boost_test_compile_fail.rst | 6 +
+ tools/build/CMake/docs/source/reference/boost_test_run.rst | 7 +
+ tools/build/CMake/docs/source/reference/boost_test_run_fail.rst | 7 +
+ tools/build/CMake/docs/source/testing.rst | 428 ++
+ tools/build/CMake/externals/BZip2.cmake | 11 +
+ tools/build/CMake/externals/Doxygen.cmake | 13 +
+ tools/build/CMake/externals/Expat.cmake | 13 +
+ tools/build/CMake/externals/ICU.cmake | 12 +
+ tools/build/CMake/externals/MPI.cmake | 11 +
+ tools/build/CMake/externals/Python.cmake | 161 +
+ tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp | 228 +
+ tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp | 403 ++
+ tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp | 391 ++
+ tools/build/CMake/externals/Valgrind.cmake | 18 +
+ tools/build/CMake/externals/Xsltproc.cmake | 18 +
+ tools/build/CMake/externals/ZLib.cmake | 13 +
+ tools/build/CMake/install_me/Boost-thisversion.cmake.in | 75 +
+ tools/build/CMake/install_me/BoostConfig.cmake.in | 80 +
+ tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in | 19 +
+ tools/build/CMake/install_me/BoostConfigVersion.cmake.in | 22 +
+ tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in | 69 +
+ tools/build/CMake/install_me/version.hpp.override.in | 35 +
+ tools/build/CMake/main.cpp | 7 +
+ tools/build/CMake/test/include/selftest_lib.ipp | 22 +
+ tools/build/CMake/test/include/selftest_main.ipp | 11 +
+ tools/build/CMake/test/include/selftest_report.hpp | 6 +
+ tools/build/CMake/test/libs/a/CMakeLists.txt | 27 +
+ tools/build/CMake/test/libs/a/module.cmake | 1 +
+ tools/build/CMake/test/libs/a/src/CMakeLists.txt | 38 +
+ tools/build/CMake/test/libs/a/src/lib.cpp | 22 +
+ tools/build/CMake/test/libs/a/src/main.cpp | 1 +
+ tools/build/CMake/test/libs/a/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/libs/b/CMakeLists.txt | 27 +
+ tools/build/CMake/test/libs/b/module.cmake | 1 +
+ tools/build/CMake/test/libs/b/src/CMakeLists.txt | 30 +
+ tools/build/CMake/test/libs/b/src/lib.cpp | 1 +
+ tools/build/CMake/test/libs/b/src/main.cpp | 1 +
+ tools/build/CMake/test/libs/b/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/libs/c/CMakeLists.txt | 27 +
+ tools/build/CMake/test/libs/c/src/CMakeLists.txt | 30 +
+ tools/build/CMake/test/libs/c/src/lib.cpp | 22 +
+ tools/build/CMake/test/libs/c/src/main.cpp | 12 +
+ tools/build/CMake/test/libs/c/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/tools/tool-a/CMakeLists.txt | 36 +
+ tools/build/CMake/test/tools/tool-a/main.cpp | 11 +
+ tools/build/CMake/test/tools/tool-a/module.cmake | 1 +
+ tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt | 36 +
+ tools/build/CMake/test/tools/tool-a/src/lib.cpp | 17 +
+ tools/build/CMake/test/tools/tool-a/src/main.cpp | 10 +
+ tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt | 21 +
+ tools/build/CMake/test/tools/tool-b/CMakeLists.txt | 35 +
+ tools/build/CMake/test/tools/tool-b/main.cpp | 10 +
+ tools/build/CMake/test/tools/tool-b/module.cmake | 1 +
+ tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt | 28 +
+ tools/build/CMake/test/tools/tool-b/src/lib.cpp | 17 +
+ tools/build/CMake/test/tools/tool-b/src/main.cpp | 10 +
+ tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt | 21 +
+ tools/inspect/CMakeLists.txt | 20 +
+ tools/jam/src/.gitignore | 3 +
+ tools/quickbook/CMakeLists.txt | 33 +
+ tools/wave/CMakeLists.txt | 22 +
+ 500 files changed, 32214 insertions(+), 13 deletions(-)
diff --git a/tools/build/CMake/docs/source/index.rst b/tools/build/CMake/docs/source/index.rst
new file mode 100644
index 0000000..489a329
--- /dev/null
+++ b/tools/build/CMake/docs/source/index.rst
@@ -0,0 +1,141 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Boost-CMake |release|
+=====================
+
+Boost.\ `CMake <http://www.cmake.org>`_ (or :ref:`alt.boost
+<alt_boost>`) is the boost distribution that all the cool kids are
+using. The effort started in earnest at `BoostCon '07
+<http://www.boostcon.com>`_; by the end of which it was possible to do
+a basic build of boost with cmake. In 2009, the project moved out to
+git version control. Today, ``Boost.CMake`` is stable, mature, and
+supported by the developers, a large base of expert users, and
+occasionally by the authors of CMake itself.
+
+.. index:: Mailing List, IRC
+
+**boost-cmake mailing list**
+
+ http://lists.boost.org/mailman/listinfo.cgi/boost-cmake
+
+**IRC**
+
+ ``#boost-cmake`` on the `freenode network <http://freenode.net>`_
+
+**CMake home page**
+
+ http://www.cmake.org
+
+**Source code**
+
+ Boost.CMake is distributed *separately* from upstream boost. Code
+ is in a `git <http://git-scm.com>`_ repository at
+ http://gitorious.org/boost/cmake.git. These documents correspond to
+ tag |release|. See also :ref:`hacking_cmake_with_git`.
+
+**Tarballs**
+
+ Tarballs and zipfiles are available at
+ http://sodium.resophonic.com/boost-cmake/ in subdirectory |release|.
+
+Users's guide
+=============
+
+.. toctree::
+ :maxdepth: 3
+
+ quickstart
+ build_configuration
+ build_variants
+ exported_targets
+ install_customization
+ find_package_boost
+ faq
+ externals/index
+ git
+ diff
+
+Developer's guide
+=================
+
+.. toctree::
+ :maxdepth: 3
+
+ individual_libraries
+ add_boost_library
+ add_compiled_library
+ testing
+ adding_regression_tests
+ build_installer
+ notes_by_version
+
+Reference
+=========
+
+.. toctree::
+ :maxdepth: 1
+
+ reference/boost_library_project
+ reference/boost_module
+ reference/boost_add_library
+ reference/boost_add_executable
+ reference/boost_python_module
+ reference/boost_additional_test_dependencies
+ reference/boost_test_compile
+ reference/boost_test_compile_fail
+ reference/boost_test_run
+ reference/boost_test_run_fail
+
+About this documentation
+========================
+
+This documentation was created with `Sphinx
+<http://sphinx.pocoo.org>`_.
+
+The source is in the restructuredtext files in subdirectory
+``tools/build/CMake/docs/source/``. Hack on them (see the
+`documentation for Sphinx <http://sphinx.pocoo.org/contents.html>`_).
+When you're ready to see the html::
+
+ make html
+
+Once you've written a ton of docs, push them someplace where I can see
+them (or use ``git diff`` to send a patch).
+
+Release checklist
+-----------------
+
+* Update ``BOOST_CMAKE_VERSION`` in toplevel ``CMakeLists.txt``
+* Update notes by version in ``tools/build/CMake/docs/notes_by_version.rst``
+* Reconfig cmake with ``BOOST_MAINTAINER`` set to ON
+* set UPSTREAM_TAG in root ``CMakeLists.txt``
+* make make-diff
+* Rebuild docs and commit
+* Tag commit with ``BOOST_CMAKE_VERSION``
+* ``make do-release``
+* push tag
+* update wiki
+
+.. index:: alt.boost
+ single: Anarchists; Lunatics, Terrorists and
+ single: Lunatics; Anarchists Terrorists and
+ single: Terrorists; Anarchists Lunatics and
+
+.. _alt_boost:
+
+Why "alt.boost"?
+----------------
+
+The 'alt' is a reference to the ``alt.*`` Usenet hierarchy. Here, as
+in Usenet, *alt* stands for `Anarchists, Lunatics and Terrorists
+<http://nylon.net/alt/index.htm>`_. This independent effort explores
+and applies alternate techniques/technologies in the areas of build,
+version control, testing, packaging, documentation and release
+management.
+
diff --git a/tools/build/CMake/docs/source/individual_libraries.rst b/tools/build/CMake/docs/source/individual_libraries.rst
new file mode 100644
index 0000000..54f0feb
--- /dev/null
+++ b/tools/build/CMake/docs/source/individual_libraries.rst
@@ -0,0 +1,160 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Building individual libraries with cmake
+========================================
+
+In a configured cmake workspace, ``make help`` will display a list of available targets. Example::
+
+ % make help
+ The following are some of the valid targets for this Makefile:
+ ... all (the default if no target is provided)
+ ... clean
+ ... depend
+ ... edit_cache
+ ... install
+ ... install/local
+ ... install/strip
+ ... list_install_components
+ ... package
+ ... package_source
+ ... rebuild_cache
+ ... boost_date_time
+ ... boost_date_time-mt-shared
+ ... boost_date_time-mt-shared-debug
+ ... boost_date_time-mt-static
+ ... boost_date_time-mt-static-debug
+ ... boost_date_time-shared
+ ... boost_date_time-shared-debug
+ ... boost_date_time-static
+ ... boost_date_time-static-debug
+ ... boost_filesystem
+ ... boost_filesystem-mt-shared
+ ... boost_filesystem-mt-shared-debug
+ ... boost_filesystem-mt-static
+ ... boost_filesystem-mt-static-debug
+ ... boost_filesystem-shared
+ ... boost_filesystem-shared-debug
+ ... boost_filesystem-static
+ ... boost_filesystem-static-debug
+ [etc]
+
+
+You can build any target by passing it as an argument::
+
+
+ % make boost_signals-static
+ [ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/trackable.cpp.o
+ [ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/connection.cpp.o
+ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/named_slot_map.cpp.o
+ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/signal_base.cpp.o
+ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/slot.cpp.o
+ Linking CXX static library ../../../lib/libboost_signals-gcc41-1_35.a
+ [100%] Built target boost_signals-static
+
+Preprocessing
+-------------
+
+In build directories corresponding to a source library containing a
+``CMakeLists.txt`` containing a :ref:`boost_add_library_macro` invocation
+(e.g. ``build/libs/signals/src, build/libs/filesystem/src``), more
+detailed targets are available::
+
+ % cd libs/signals/src
+ % make help
+ The following are some of the valid targets for this Makefile:
+ [many omitted]
+ ... signal_base.o
+ ... signal_base.i
+ ... signal_base.s
+ ... slot.o
+ ... slot.i
+ ... slot.s
+
+
+making ``slot.i`` will run ``slot.cpp`` through the preprocessor::
+
+ % make slot.i
+ Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i
+
+If you are always interested in seeing the compiler flags you can
+enable ``CMAKE_VERBOSE_MAKEFILES`` via ``ccmake``, or for a one-off
+just pass ``VERBOSE=1`` on the command line::
+
+ % make VERBOSE=1 slot.i
+ make[1]: Entering directory `/home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build'
+ Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i
+ cd /home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build/libs/signals/src && /usr/bin/gcc-4.1
+ -DBOOST_ALL_NO_LIB=1 -DBOOST_SIGNALS_NO_LIB=1 -Dboost_signals_mt_shared_EXPORTS -fPIC
+ -I/home/troy/Projects/boost/branches/CMake/Boost_1_35_0 -O3 -DNDEBUG -DBOOST_SIGNALS_DYN_LINK=1
+ -pthread -D_REENTRANT -E /home/troy/Projects/boost/branches/CMake/Boost_1_35_0/libs/signals/src/slot.cpp > CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i
+
+Tests and examples
+------------------
+
+Tests and examples are typically grouped into subdirectories, e.g.::
+
+ libs/
+ iostreams/
+ test/
+ examples/
+
+CMake builds a parallel directory hierarchy in the build directory. If
+you are working on, say, the examples for iostreams, you can just
+``cd`` into the directory $BUILDDIR/libs/iostreams/examples and type
+``make``::
+
+ % cd libs/iostreams/example
+ % make
+ [ 0%] Built target boost_iostreams-mt-static
+ Scanning dependencies of target iostreams-examples-boost_back_inserter_example
+ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-boost_back_inserter_example.dir/boost_back_inserter_example.cpp.o
+ Linking CXX executable ../../../bin/iostreams-examples-boost_back_inserter_example
+ [ 0%] Built target iostreams-examples-boost_back_inserter_example
+ Scanning dependencies of target iostreams-examples-container_device_example
+ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_device_example.dir/container_device_example.cpp.o
+ Linking CXX executable ../../../bin/iostreams-examples-container_device_example
+ [ 0%] Built target iostreams-examples-container_device_example
+ Scanning dependencies of target iostreams-examples-container_sink_example
+ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_sink_example.dir/container_sink_example.cpp.o
+
+Building individual targets, ignoring prerequisites
+---------------------------------------------------
+
+If you find yourself working on a compiler error in a file that takes
+a long time to compile, waiting for make to check all of the
+prerequisites might become tedious. You can have make skip the
+prerequisite testing (you do this at your own risk), by appending
+``/fast`` to the target name. For instance, bcp depends on the
+``system``, ``filesystem`` ``regex`` and ``prg_exec_monitor``
+libraries::
+
+ % cd tools/bcp
+ % make bcp
+ [ 0%] Built target boost_system-mt-static
+ [ 0%] Built target boost_filesystem-mt-static
+ [ 50%] Built target boost_regex-mt-static
+ [ 75%] Built target boost_prg_exec_monitor-mt-static
+ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o
+
+if I make ``bcp/fast``, the dependencies are assumed to be built
+already::
+
+ % make bcp/fast
+ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o
+ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/bcp_imp.cpp.o
+ (etc)
+
+
+
+
+
+
+
+
+
diff --git a/tools/build/CMake/docs/source/install_customization.rst b/tools/build/CMake/docs/source/install_customization.rst
new file mode 100644
index 0000000..514be24
--- /dev/null
+++ b/tools/build/CMake/docs/source/install_customization.rst
@@ -0,0 +1,204 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _install_customization:
+
+Customizing the install
+=======================
+
+Here you'll find ways to customize your installation. If you're
+trying to make the install play nice with cmake's ``find_package``,
+see :ref:`find_package_boost`.
+
+.. index:: CMAKE_INSTALL_PREFIX
+ single: installation
+
+.. _cmake_install_prefix:
+
+CMAKE_INSTALL_PREFIX
+--------------------
+
+This is a standard cmake option that sets the path to which boost
+will be installed.
+
+.. index:: DESTDIR
+
+CMake generates makefiles that play nice with ``DESTDIR``. e.g.
+if you configure like this::
+
+ cmake ../src -DCMAKE_INSTALL_PREFIX=/tmp/blah
+
+and install with ``DESTDIR=/foo make install``, you'll get files
+installed to ``/foo/tmp/blah``.
+
+.. index:: LIB_SUFFIX
+.. _lib_suffix:
+
+LIB_SUFFIX
+----------
+
+This defines the subdirectory of ``CMAKE_INSTALL_PREFIX`` to which
+libraries will be installed. It is empty by default. For example,
+if I'm on 64-bit fedora, I want the libs installed to
+``/usr/lib64``, I'd use::
+
+ cmake ../src -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64
+
+.. index:: INSTALL_VERSIONED
+.. _install_versioned:
+
+INSTALL_VERSIONED
+-----------------
+
+**ON** by default on unix, **OFF** on windows.
+
+This is a different mangling than :ref:`WINMANGLE_LIBNAMES`: this
+variable controls whether boost versions will be mangled into the
+paths into which boost is installed. This option **has effect only
+when CMake is run the first time**: they will be set as explained
+below the first time thereafter not modified, so that the paths are
+customizable by users. (ie If you have configured a build and change
+this option, it will have no effect, you must start "from scratch")
+
+.. rubric:: Example
+
+For boost version 1.41.0, with this option ON, the installation tree
+is::
+
+ $CMAKE_INSTALL_PREFIX/
+ include/
+ boost-1.41.0/
+ boost/
+ version.hpp
+ ...
+ lib/
+ boost-1.41.0/
+ libboost_signals-mt-d.so
+ ...
+
+and without it, ::
+
+ $CMAKE_INSTALL_PREFIX/
+ include/
+ boost/
+ version.hpp
+ ...
+ lib/
+ boost/
+ libboost_signals-mt-d.so
+ ...
+
+**Note:** ``lib/`` above will contain :ref:`LIB_SUFFIX` if set.
+
+See also :ref:`BUILD_SOVERSIONED`
+
+The relative lib and include pathnames can be controlled individually
+with the following two variables:
+
+.. index:: BOOST_LIB_INSTALL_DIR
+.. _boost_lib_install_dir:
+
+BOOST_LIB_INSTALL_DIR
+---------------------
+
+The directory to which libs will be installed under
+:ref:`CMAKE_INSTALL_PREFIX`.
+
+.. index:: BOOST_INCLUDE_INSTALL_DIR
+.. _boost_include_install_dir:
+
+BOOST_INCLUDE_INSTALL_DIR
+-------------------------
+
+The directory to which boost header files will be installed under
+:ref:`CMAKE_INSTALL_PREFIX`.
+
+.. index:: BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR
+.. _boost_cmake_infrastructure_install_dir:
+
+BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR
+--------------------------------------
+
+This is a directory to which the targets from this boost install will
+be exported, by default ``${CMAKE_INSTALL_PREFIX}/share/boost-``\
+|version|\ ``/cmake``: this significanly eases detection of boost
+installations by CMake. The name of the files are
+``BoostConfig.cmake`` and ``BoostConfigVersion.cmake`` [#findpackage]_.
+See :ref:`exported_targets` for
+more information about how users employ this file.
+
+If this is a full path, it will be used directly, otherwise it will be
+interpreted relative to ``${CMAKE_INSTALL_PREFIX}``.
+
+.. index:: BOOST_INSTALL_CMAKE_DRIVERS
+.. _boost_install_cmake_drivers:
+
+BOOST_INSTALL_CMAKE_DRIVERS
+---------------------------
+
+Specifies whether generic cmake driver files should be installed,
+see the next option to customize where. This variable is
+``ON`` by default.
+
+BOOST_CMAKE_DRIVERS_INSTALL_DIR
+-------------------------------
+
+There are two optional version-agnostic driver files that can be
+installed to a central location, by default
+``${CMAKE_INSTALL_PREFIX}/share/boost-``\ |version|\ ``/cmake``.
+
+named ``BoostConfig.cmake`` and ``BoostConfigVersion.cmake``. These
+two files coordinate with Boost-|version|.cmake to enable cmake
+developers who use both boost and cmake to find local boost
+installations via the standard cmake incantation::
+
+ find_package(Boost 1.41.0 COMPONENTS thread iostreams)
+
+These driver files should be the same from release to release.
+
+This variable allows modification of this location; If this is a full
+path, it will be used directly, otherwise it will be interpreted
+relative to ``${CMAKE_INSTALL_PREFIX}``.
+
+.. index:: BOOST_EXPORTS_FILE
+.. _BOOST_EXPORTS_FILE:
+
+BOOST_EXPORTS_FILE
+------------------
+
+This is the path *in the build tree* to the file that will contain
+CMake exported targets, by default it is::
+
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake
+
+See :ref:`exported_targets` for information on how to use this handy
+file when building against an **uninstalled** boost. *This variable
+has no effect on installation, and is only useful if building separate
+cmake projects against an uninstalled boost.*
+
+If this is a full path, it will be used directly, otherwise it will be
+interpreted relative to ``${CMAKE_BINARY_DIR}``.
+
+.. index:: BOOST_INSTALL_EXPORTS_FILE
+.. _BOOST_INSTALL_EXPORTS_FILE:
+
+BOOST_EXPORTS_INSTALL_DIR
+-------------------------
+
+This is the path to which exported targest will be installed. By
+default it is ``${BOOST_LIB_INSTALL_DIR}``. This must be a
+**relative** path.
+
+See :ref:`exported_targets` for information on how to use this handy
+file to build against an **installed** boost.
+
+
+
+.. rubric:: Footnotes
+
+.. [#findpackage] See also the cmake docs for ``find_package()``.
diff --git a/tools/build/CMake/docs/source/modularize_library.rst.set_aside b/tools/build/CMake/docs/source/modularize_library.rst.set_aside
new file mode 100644
index 0000000..5009429
--- /dev/null
+++ b/tools/build/CMake/docs/source/modularize_library.rst.set_aside
@@ -0,0 +1,183 @@
+Modularizing a Library with CMake
+=================================
+
+.. warning:: Don't Do This! This doc is a placeholder.
+
+Boost's CMake-based build system supports the notion of "modular"
+libraries, which are libraries that are contained entirely within a
+single directory structure. Since modular libraries are
+self-contained, it is easier to bring in libraries of different
+versions and select specific subsets of libraries. Additionally,
+modular libraries explicitly declare their dependencies on other
+libraries (or "modules"), making it possible to build and install
+coherent subsets of Boost. For example, the binary installer for
+Windows allows one to turn on or off installation of each modular
+library.
+
+Eventually, we hope that most of Boost's libraries will be modular, to
+make it easier for users to install the subset of Boost that they are
+interested in. Many "core" libraries, on which most users and many
+other libraries depend, may remain in the core Boost distribution and
+will not be modularized. Even then, modularizing Boost is an
+evolutionary process, and it is best to work on modularizing libraries
+on which no other libraries depend (first) and then libraries on which
+other modularized libraries depend, moving from the more peripheral
+libraries (that no other libraries depend on) toward the core
+libraries.
+
+Layout of a modular library
+---------------------------
+
+A modular library has a similar layout to non-modular libraries. The
+main difference is in the handling of include files, which are stored
+within the library's directory in ``libs/libname/include`` rather
+than in the main "boost" include directory. A modular library will
+typically have the following subdirectories::
+
+ libs/libname - Main library directory
+ include/ - Library headers. Since most Boost headers go into boost/, the actual library headers will be in the subdirectory include/boost (or its subdirectoiries)
+ src/ - Source files for compiled library binaries (if any)
+ test/ - Regression tests
+ example/ - Example programs, libraries, and applications
+ doc/ - Documentation
+
+
+Throughout this document, we will use the Filesystem library as an
+example of a modular library. Please refer to the contents of
+``libs/filesystem`` to see a fully-working modular library's
+description.
+
+.. Restructuring the include directory
+.. -----------------------------------
+..
+.. For most Boost libraries, the only changes needed to the directory
+.. structure is to introduce the include directory. To do so, create an
+.. empty directories ``include`` and then ``include/boost`` in
+.. ``libs/libname``. Then, add these two new directories to
+.. Subversion. If you're using the command-line Subversion, you can do
+.. this with the following command run from ``libs/libname``::
+..
+.. svn add include
+..
+.. Next, we need to identify each of the include files that are part of
+.. this library (but *not* part of libraries that it depends on) and move
+.. each of these libraries from the main Boost include directory into our
+.. library-specific include directory. We handle library-specific
+.. subdirectories of the Boost include directories (e.g.,
+.. ``boost/filesystem``) slightly differently from individual headers
+.. (e.g., ``boost/shared_ptr.hpp``):
+..
+.. .. warning:: Don't Do This! This doc is a placeholder.
+..
+.. Library-specific include directories are handled by
+.. [http://svnbook.red-bean.com/en/1.1/ch07s04.html Subversion
+.. externals]. To move the directory ``boost/filesystem``, for example,
+.. one should first delete ``boost/filesystem`` entirely from the main
+.. Boost include directory. With the command-line Subversion, this can be
+.. done by changing into the top-level ``boost`` include directory (e.g.,
+.. ``$BOOST/boost``) and running::
+..
+.. svn rm filesystem
+..
+.. Next, change into the include directory within the library-specific
+.. directory, e.g., ``libs/filesystem/include``. Add a new Subversion
+.. ``svn:externals`` property to this directory that references the
+.. corresponding include directory from the main Boost directory
+.. tree. For example, we want our ``filesystem`` directory to point at
+.. ``branches/release/boost/filesystem``. This way, our modularized
+.. version of the library automatically picks up fixes from the main
+.. release branch. The ``svn:externals`` property contains one or more
+.. lines corresponding to external definitions. Each line contains the
+.. local directory name (e.g., `filesystem`) followed by a space and then
+.. the Subversion directory that this directory will come from, e.g.,
+.. https://svn.boost.org/svn/branches/release/boost/filesystem. For
+.. example
+..
+.. filesystem https://svn.boost.org/svn/boost/branches/release/boost/filesystem
+..
+.. The ``svn:externals`` property with this value must be attached to the
+.. library-specific ``boost`` subdirectory, because each line is a
+.. subdirectory within ``boost``. Using the command-line Subversion client,
+.. this can be done with::
+..
+.. svn propset svn:externals "filesystem https://svn.boost.org/svn/boost/branches/release/boost/filesystem" boost
+..
+.. Note that, to see the actual changes this involves, you will
+.. need to commit all of your changes to the Subversion repository and
+.. then execute an update operation.
+..
+.. Individual headers are handled by moving the headers from the main
+.. Boost include directory into the library-specific include
+.. directory. This is effectively just a rename operation, e.g., to
+.. rename `boost/shared_ptr.hpp` to
+.. `libs/smart_ptr/include/boost/shared_ptr.hpp`. To perform this rename
+.. operation via the command-line Subversion client, change to the
+.. top-level Boost directory and execute ::
+..
+.. svn move boost/shared_ptr.hpp libs/smart_ptr/include/boost/
+..
+.. Once all of the headers have been moved and the changes have been
+.. committed, there should be no remaining headers in the main Boost
+.. include directory.
+
+Informing CMake that the library is modular
+-------------------------------------------
+
+The CMake build system needs to know that the layout of the Boost
+library follows the rules of a modular library, which also instructs
+it to add the appropriate include paths when compiling itself and any
+of its dependencies. To label the library as modular, edit the
+``CMakeLists.txt`` file contained in the library's subdirectory (e.g.,
+``libs/filesystem/CMakeLists.txt``, and add the argument ``MODULAR`` to
+the use of ``boost_library_project``). After
+this change, Filesystem library's ``CMakeLists.txt`` looks like this::
+
+
+ boost_library_project(
+ Filesystem
+ SRCDIRS src
+ TESTDIRS test
+ MODULAR
+ DESCRIPTION "Provides portable facilities to query and manipulate paths, files, and directories."
+ AUTHORS "Beman Dawes <bdawes -at- acm.org>"
+ )
+
+If the library you're modularizing does not have ``DESCRIPTION``,
+``AUTHORS``, or ``MAINTAINERS`` arguments, please add them! Short library
+descriptions are available at http://www.boost.org/doc/ along with
+author information; additional maintainer information can be found in
+http://svn.boost.org/svn/boost/trunk/libs/maintainers.txt.
+
+Library dependencies
+--------------------
+
+Each modular library must declare the libraries on which it
+depends. This declaration is provided by the file ``module.cmake``
+within the library's directory, and uses the ``boost_modular`` command
+to explicitly declare dependencies via its ``DEPENDS`` argument. The
+contents on the Filesystem library's ``libs/filesystem/module.cmake``
+follow::
+
+ boost_module(Filesystem DEPENDS system)
+
+The first argument to ``boost_module`` is the name of the library
+we're description. The arguments following ``DEPENDS`` (there may be
+more than one!) are the names of the libraries on which this library
+depends. Those libraries may or may not be modular yet: it does not
+matter. Thus, the Filesystem library depends on the System library. If
+the System library were not available for some reason (say, the user
+forgot to include it in the subset of Boost she downloaded), the
+Filesystem library would not attempt to build.
+
+Testing the modular library
+---------------------------
+
+Once a library has been modularized, it is important to build the
+library and all of the regression tests, including the regression
+tests for other libraries (that might depend on the modularized
+library). Follow the instructors for [wiki:CMakeTesting building and
+running the regression tests]. Most of the failures that will crop up
+from this exercise will come in the form of "include file not found"
+messages due to missing dependency information. When this happens, add
+the appropriate dependencies to ``module.cmake`` and try again. The
+result is well worth it!
diff --git a/tools/build/CMake/docs/source/notes_by_version.rst b/tools/build/CMake/docs/source/notes_by_version.rst
new file mode 100644
index 0000000..19be5e0
--- /dev/null
+++ b/tools/build/CMake/docs/source/notes_by_version.rst
@@ -0,0 +1,226 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+Notes by Boost Version
+======================
+
+1.41.0.cmake1
+-------------------
+
+Again, innumerable tiny tweaks.
+
+1.41.0.beta1.cmake1
+-------------------
+
+This is the first cmake beta based on upstream ``Boost_1_41_0_beta1``.
+There are *way* too many enhancements to mention.
+
+1.41.0.cmakebeta4
+-----------------
+
+* CMake minimum 2.6.4 required (found bugs with 2.6.2)
+* Move MPI detection up
+* Clean up output
+
+1.41.0.cmakebeta3
+-----------------
+
+* :ref:`variants` names switched to ``ENABLE_<feature>`` to distinguish
+ from ``BUILD_*`` options.
+
+* Many docs improvements
+
+* Special targets for the boost-cmake maintainer
+
+* :ref:`BUILD_PROJECTS` ``(= NONE|ALL|proj1;proj2;...;projN)``
+ variable for building only certain projects.
+
+* :ref:`BUILD_EXAMPLES` ``(= NONE|ALL|proj1;proj2;...;projN)``
+ variable for building examples only of certain projects.
+
+* :ref:`LIB_SUFFIX` for installing libs to nonstandard lib directory
+ name, e.g. for LIB_SUFFIX=64, libs installed to ``$PREFIX/lib64``
+
+* Testing improvements: cmake now runs 2408 tests, 99% of which pass.
+ This isn't the full set, upstream is a moving target. The few
+ remaining failures (assuming upstream is bug-free) are assumed to be
+ problems in the testing setup, not the underlying libraries.
+
+* Python: python location customizable via command line or environment
+ variables, see :ref:`external_dependencies`.
+
+(1.41.0.cmakebeta1 and 2 omitted)
+
+1.41.0 (upstream)
+-----------------
+
+This release (as released by upstream Boost) does **not** contain
+CMake support. See above for independenly released CMake versions.
+
+1.40.0.cmake4
+-------------
+
+Backport features from 1.41.0.cmakebeta3
+
+1.40.0.cmake3
+-------------
+
+Skipped
+
+1.40.0.cmake2
+-------------
+
+* Modularization disabled... this can waste your source directory
+ and was causing confusion.
+* Docs tagged with specific boost-cmake release version.
+
+1.40.0.cmake1
+-------------
+
+From the boost-cmake list::
+
+ > As of now, your Boost 1.40.0 branch builds and installs without error
+ > for me on Windows (Intel 11.1, Visual Studio 2009, Visual Studio 2010
+ > Beta 1), Linux (GCC 4.2, GCC 4.4, Intel 11.1), and Mac OS X 10.6 (GCC
+ > 4.2, Intel 11.1).
+
+This version also includes fixes for cmake version 2.8 (as of this
+writing, in beta).
+
+Special thanks in alphabetical order:
+
+* Claudio Bley
+* Justin Holewinski
+* Philip Lowman
+
+1.40.0.cmake0
+-------------
+
+This version works on windows with MSVC and linux with gcc.
+
+1.40.0
+------
+
+This version is **broken** in the svn distribution. See later
+releases with the ``.cmakeN`` suffix.
+
+1.38.0 and 1.39.0
+-----------------
+
+.. warning:: -DCMAKE_IS_EXPERIMENTAL=ORLY_YARLY
+
+ This guard variable is included in releases of Boost.CMake through
+ version 1.38. You just need to set this variable to some value (be
+ creative) when running cmake for the first time to disable the
+ guard.
+
+Boost.CMake was included as an experimental system for the first time.
+It is perfectly capable of doing the basic build and install of boost.
+You *must* pass the argument ::
+
+ -DCMAKE_IS_EXPERIMENTAL=ORLY
+
+to the initial run of cmake, or you will see an intimidating message
+explaining that Boost.CMake != Boost.Build. It looks like this::
+
+ -- ##########################################################################
+ --
+ -- Only Boost.Build is officially supported.
+ --
+ -- This is not Boost.Build.
+ --
+ -- This is an alternate, cmake-based build system that is currently under development.
+ -- To try it out, invoke CMake with the argument
+ -- -DCMAKE_IS_EXPERIMENTAL=YES_I_KNOW
+ -- Or use the gui to set the variable CMAKE_IS_EXPERIMENTAL to some value.
+ -- This will only be necessary the first time.
+ --
+ -- For more information on boost-cmake see the wiki:
+ -- https://svn.boost.org/trac/boost/wiki/CMake
+ --
+ -- Subscribe to the mailing list:
+ -- http://lists.boost.org/mailman/listinfo.cgi/boost-cmake
+ --
+ -- NOTE: Please ask questions about this build system on the boost-cmake list,
+ -- not on other boost lists.
+ --
+ -- And/or check the archives:
+ -- http://news.gmane.org/gmane.comp.lib.boost.cmake
+ --
+ -- ##########################################################################
+ CMake Error at CMakeLists.txt:61 (message):
+ Magic variable CMAKE_IS_EXPERIMENTAL unset.
+
+
+ -- Configuring incomplete, errors occurred!
+
+Again, f you see this, just set that guard variable to something, to
+demonstrate your tenacity and dedication. Then things will work fine.
+
+.. rubric:: Quick and dirty HOWTO
+
+::
+
+ % mkdir /tmp/boost
+ % cd /tmp/boost
+ % svn co https://svn.boost.org/svn/boost/tags/release/Boost_1_38_0 src
+ % mkdir build
+ % cd build
+ % cmake -DCMAKE_IS_EXPERIMENTAL=ORLY -DCMAKE_INSTALL_PREFIX=/path/to/installdir ../src
+
+At this point, you have two options: you either want to leave boost in
+place and use it there, or you want to install it to a particular
+location.
+
+**In-place**
+
+ If you're competent to specify header/library paths
+ yourself and want to build in place::
+
+ % make
+
+ and your libraries will be in /tmp/boost/build/lib, and the headers in
+ /tmp/boost/src, (where you'd expect them to be).
+
+**Installed to some location**
+
+ This will install boost to ``lib/`` and ``include/`` under the
+ ``CMAKE_INSTALL_PREFIX`` given above::
+
+ % make modularize # shuffles some headers around
+ % make install
+
+.. warning::
+
+ In versions 1.38 and 1.39, if you want to ``make install``, you
+ *must* ``make modularize`` first. This is an intermediate step
+ that we expect to go away in future versions.
+
+Also note that cmake supports ``DESTDIR`` for making .deb and .rpm
+packages; see the standard cmake documentation
+
+Known Issues
+^^^^^^^^^^^^
+
+* There isn't much support for building/running tests within boost in
+ these releases.
+* In version 1.39, the ``BOOST_VERSION_MINOR`` is wrong: it is set to
+ 1.38. You can set this manually by looking for
+ ``BOOST_VERSION_MINOR`` in the toplevel ``CMakeLists.txt``
+* The boost build names the ``boost_prg_exec_monitor`` and
+ ``boost_unit_test_framework`` libraries with an additional trailing
+ ``-s``. You will probably need to modify your build if you use
+ these libraries.
+
+
+1.35.0 - 1.37
+-------------
+
+There was a CMake branch that built these releases, but Boost.CMake
+was not included in the official distribution.
+
diff --git a/tools/build/CMake/docs/source/quickstart.rst b/tools/build/CMake/docs/source/quickstart.rst
new file mode 100644
index 0000000..0a52835
--- /dev/null
+++ b/tools/build/CMake/docs/source/quickstart.rst
@@ -0,0 +1,248 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+
+.. _quickstart:
+
+Quickstart
+==========
+
+This page describes how to configure and build Boost with CMake. By
+following these instructions, you should be able to get CMake,
+configure a Boost build tree to your liking with CMake, and then
+build, install, and package Boost libraries.
+
+Download CMake
+--------------
+
+You can get it here: http://www.cmake.org/HTML/Download.html
+
+There are precompiled binaries for CMake on several different
+platforms. The installation of these pre-compiled binaries is mostly
+self-explanatory. If you need to build your own copy of CMake, please
+see the `CMake installation instructions
+<http://www.cmake.org/HTML/Install.html>`_.
+
+.. note::
+
+ In these instructions, we will do things such that the Boost source
+ tree (with CMake build files) is available in the directory
+ ``$BOOST/src`` and that the build will happen in ``$BOOST/build``::
+
+ $BOOST/
+ src/ # (source checked out to here)
+ build/ # (build output here)
+
+ Note that it is *not* actually necessary to set any environment
+ variable ``BOOST``, this is a convention used in this document.
+
+Checkout / download the code
+----------------------------
+
+Tarballs and zipfiles are avaiable at
+http://sodium.resophonic.com/boost-cmake in subdirectory |release|.
+
+Boost.CMake is distributed *separately* from upstream boost. Code is
+in a `git <http://git-scm.com>`_ repository at
+http://gitorious.org/boost/cmake.git. These documents correspond to
+tag |release|. You can clone the repository locally and then check out
+the tag::
+
+ git clone git://gitorious.org/boost/cmake.git src
+ cd src
+ git checkout <TAG>
+
+where ``<TAG>`` is |release|
+
+On Unix
+-------
+
+Create and change to the directory that will hold the binaries that
+CMake build::
+
+ mkdir $BOOST/build
+ cd $BOOST/build
+
+.. _unix_configure:
+
+Configure
+^^^^^^^^^
+
+Run the CMake configuration program, providing it with the Boost
+source directory::
+
+ cmake -DCMAKE_INSTALL_PREFIX=/somewhere $BOOST/src
+
+(:ref:`CMAKE_INSTALL_PREFIX` defaults to ``/usr/local`` on unix and
+``C:\\Program Files\Boost`` on windows). Replace ``/somewhere`` above
+with a path you like if the defaults aren't okay. You'll see output
+from ``cmake``. It looks somewhat like this::
+
+ -- Check for working C compiler: /usr/bin/gcc
+ -- Check for working C compiler: /usr/bin/gcc -- works
+ -- Check size of void*
+ -- Check size of void* - done
+ -- Check for working CXX compiler: /usr/bin/c++
+ -- Check for working CXX compiler: /usr/bin/c++ -- works
+ -- Scanning subdirectories:
+ -- + io
+ -- + any
+ -- + crc
+ -- + mpl
+
+ (etc, etc)
+
+ -- + program_options
+ -- + ptr_container
+ -- + type_traits
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: $BOOST/build
+
+The directory ``$BOOST/build`` should now contain a bunch of generated
+files, including a top level ``Makefile``, something like this::
+
+ % ls
+ CMakeCache.txt CPackConfig.cmake Makefile
+ cmake_install.cmake libs/ CMakeFiles/
+ CPackSourceConfig.cmake bin/ lib/
+
+Build and Install
+^^^^^^^^^^^^^^^^^
+
+Now build and install boost::
+
+ make install
+
+You'll see::
+
+ Scanning dependencies of target boost_date_time-mt-shared
+ [ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_month.cpp.o
+ [ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_weekday.cpp.o
+ [ 1%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/date_generators.cpp.o
+ Linking CXX shared library ../../../lib/libboost_date_time-mt.so
+ [ 1%] Built target boost_date_time-mt-shared
+
+ (etc etc)
+
+ [100%] Built bcp
+
+ (etc etc)
+
+ -- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.a
+ -- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.so
+ -- Removed runtime path from "/tmp/flanboost/lib/libboost_wave-mt-d.so"
+ -- Installing: /tmp/flanboost/bin/bcp
+ -- Installing: /tmp/flanboost/bin/inspect
+
+And you're done. Once the build completes (which make take a while, if
+you are building all of the Boost libraries), the Boost libraries will
+be in a predictable layout under the directory passed to
+:ref:`CMAKE_INSTALL_PREFIX` (default ``/usr/local``)
+
+Windows
+-------
+
+There are two different sets of directions: visual studio, which is
+quite specific, and nmake, which is much like the Unix version, above.
+
+.. index:: Visual Studio
+
+.. _vs_configure:
+
+Configuration for Visual Studio
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run CMake by selecting it from the Start menu.
+
+* Use the *Browse...* button next to *Where is the source code* to
+ point CMake at the Boost source code in ``$BOOST\src``.
+* Use the second *Browse...* button to next to *Where to build the
+ binaries* to select the directory where Boost will build binaries,
+ ``$BOOST\build``.
+* Click *Configure* a first time to configure Boost, which will search
+ for various libraries on your system and prepare the build. CMake
+ will ask you what kind of project files or make files to build. If
+ you're using Microsoft Visual Studio, select the appropriate version
+ to generate project files. Otherwise, you can use Borland's make
+ files. If you're using NMake, see the next section.
+* On an XP box with VS9 one sees roughly this in the output window at
+ the bottom::
+
+ Check for working C compiler: cl
+ Check for working C compiler: cl -- works
+ Detecting C compiler ABI info
+ Detecting C compiler ABI info - done
+ Check for working CXX compiler: cl
+ Check for working CXX compiler: cl -- works
+ Detecting CXX compiler ABI info
+ Detecting CXX compiler ABI info - done
+ Boost version 1.41.0
+ Found PythonInterp: C:/Python26/python.exe
+ Found PythonLibs: C:/Python26/libs/python26.lib
+ Boost compiler: msvc
+ Boost toolset: vc90
+ Boost platform: windows
+ Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
+ Build name: msvc-9.0-windows
+ + preprocessor
+ + concept_check
+ ...
+ + units
+ + wave
+ Configuring done
+
+* The messages about 'missing doxygen' and whatnot are not
+ showstoppers for now, so long as configuration is successful. You
+ will be given the opportunity to tune build options in the CMake GUI
+ (see :ref:`configure_and_build` for more detail). They will
+ initially appear red. Click *Configure* again when you are done
+ editing them. The one thing that you may wish to configure as part
+ of this 'quickstart' is ``CMAKE_INSTALL_PREFIX``.
+* Finally, click *Generate* to generate project files. ``Boost.sln``,
+ the VS solution file, will appear in the *where to build the
+ binaries* directory from the cmake gui.
+
+.. index:: NMake
+.. _NMake:
+
+Configuration for NMake
+^^^^^^^^^^^^^^^^^^^^^^^
+
+* Start a `Visual Studio Command Prompt` from the start menu. This
+ will spawn a command prompt window with certain env variables set.
+ CMake will detect these and automatically choose to generate NMake
+ files.
+
+* cd to $BOOST/build and execute::
+
+ cmake ..\src
+
+ You will see output very similar to that on unix, see
+ :ref:`unix_configure`.
+
+Build -- Visual Studio
+^^^^^^^^^^^^^^^^^^^^^^
+
+ Start up Visual Studio, load the solution or project ``Boost`` from
+ the Boost build directory you set in the CMake configuration
+ earlier. Then, just click *Build* to build all of Boost.
+
+Build -- NMake
+^^^^^^^^^^^^^^
+
+ Execute ``nmake`` from the command prompt in the build directory.
+
+Installation
+^^^^^^^^^^^^
+
+The installation of Boost's headers and compiled libraries uses the
+same tools as building the library. With Microsoft Visual Studio, just
+load the Boost solution or project and build the 'INSTALL' target to
+perform the installation. With NMake, ``nmake install``.
+
diff --git a/tools/build/CMake/docs/source/reference/boost_add_executable.rst b/tools/build/CMake/docs/source/reference/boost_add_executable.rst
new file mode 100644
index 0000000..85c517e
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_add_executable.rst
@@ -0,0 +1,140 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_add_executable
+.. _boost_add_executable_macro:
+
+boost_add_executable
+--------------------
+
+Adds an executable to the build
+
+.. cmake:: boost_add_executable(exename source1 source2 ...)
+
+ :param source1 source2...: sourcefiles
+ :param COMPILE_FLAGS flag1 flag2 ...: (optional) compile flags
+ :param LINK_FLAGS flag1 flag2 ...: (optional) link flags
+ :param feature_LINK_LIBS lib1 lib2 ...: (optional) link libraries
+ :param DEPENDS dep1 dep2 ...: (optional) intraboost dependencies
+ :param OUTPUT_NAME name: (optional) output name
+ :param NO_INSTALL: (optional) don't 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:
+.. index:: COMPILE_FLAGS
+
+* **COMPILE_FLAGS** -- Provides additional compilation flags that will be
+ used when building the executable.
+
+.. _feature_COMPILE_FLAGS:
+.. index:: feature_COMPILE_FLAGS
+
+* **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:
+.. index:: LINK_FLAGS
+
+* **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:
+.. index:: feature_LINK_FLAGS
+
+* **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:
+.. index:: LINK_LIBS
+
+* **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:
+.. index:: feature_LINK_LIBS
+
+* **feature_LINK_LIBS** -- Provides additional libraries to link against
+ when linking an executable built with the given feature.
+
+.. _DEPENDS:
+.. index:: DEPENDS
+
+* **DEPENDS** -- States that this executable depends on and links
+ against a 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 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:
+.. index:: feature
+
+* **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:
+.. index:: NO_INSTALL
+
+* **NO_INSTALL** -- Don't install this executable with the rest of
+ Boost.
+
+.. _OUTPUT_NAME:
+.. index:: OUTPUT_NAME
+
+* **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.
+
+.. rubric:: Example
+
+::
+
+ boost_add_executable(wave cpp.cpp
+ DEPENDS boost_wave boost_program_options
+ boost_filesystem
+ boost_serialization
+ )
+
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Core module in
+``tools/build/CMake/BoostCore.cmake``
+
diff --git a/tools/build/CMake/docs/source/reference/boost_add_library.rst b/tools/build/CMake/docs/source/reference/boost_add_library.rst
new file mode 100644
index 0000000..eeb668b
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_add_library.rst
@@ -0,0 +1,200 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_add_library
+.. _boost_add_library_macro:
+
+boost_add_library
+-----------------
+
+This macro 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.
+
+.. cmake:: boost_add_library(libname source1 source2 ...)
+
+ :param source1 source2 ...: relative paths to source files
+ :type COMPILE_FLAGS: optional
+ :param COMPILE_FLAGS: flags to pass when compiling all variants
+ :type feature_COMPILE_FLAGS: optional
+ :param feature_COMPILE_FLAGS: compile flags when *feature* is on
+ :type LINK_FLAGS: optional
+ :param LINK_FLAGS: link flags for all variants
+ :type feature_LINK_FLAGS: optional
+ :param feature_LINK_FLAGS: link flags for *feature*
+ :type LINK_LIBS: optional
+ :param LINK_LIBS: lib1 lib2 ...
+ :type feature_LINK_LIBS: optional
+ :param feature_LINK_LIBS: lib1 lib2 ...
+ :type DEPENDS: optional
+ :param DEPENDS: libdepend1 libdepend2 ...
+ :param STATIC_TAG:
+ :type MODULE: boolean
+ :param MODULE:
+ :type NOT_feature: boolean
+ :param NOT_feature:
+ :type EXTRA_VARIANTS: optional
+ :param 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, see :ref:`variants`.
+
+The options that affect this macro's behavior are:
+
+.. index:: COMPILE_FLAGS
+
+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 libraries 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. *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.
+
+NO_feature
+^^^^^^^^^^
+
+ States that library variants containing a particular
+ feature should not be built. For example, passing
+ `NO_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.
+
+.. rubric:: Example
+
+The Boost.Thread library binary is built using the following
+invocation of the `boost_add_library` macro. The options passed to the
+macro indicate that CMake should define `BOOST_THREAD_BUILD_DLL` to 1
+when building shared libraries and `BOOST_THREAD_BUILD_LIB` to 1 when
+building static libraries. The `NO_SINGLE_THREADED` option inhibits
+creation of any single-threaded variants of the library (which
+obviously would not make sense for a threading library!). The flags
+needed to compile the multi-threaded variants are automatically
+added. ::
+
+ 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
+ )
+
+
+This example is from ``libs/thread/src/CMakeLists.txt``.
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Core module in
+``tools/build/CMake/BoostCore.cmake``.
+
+
diff --git a/tools/build/CMake/docs/source/reference/boost_additional_test_dependencies.rst b/tools/build/CMake/docs/source/reference/boost_additional_test_dependencies.rst
new file mode 100644
index 0000000..709977d
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_additional_test_dependencies.rst
@@ -0,0 +1,44 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+boost_additional_test_dependencies
+----------------------------------
+
+.. note:: This is only needed in the presence of 'modularization'
+ which is currently disabled.
+
+Add additional include directories based on the dependencies of the
+library being tested 'libname' and all of its dependencies.
+
+.. cmake:: boost_additional_test_dependencies(libname, ...
+
+ :param libname: name of library being tested
+ :param BOOST_DEPENDS: libdepend1 libdepend2 ...
+
+`libname`
+
+ the name of the boost library being tested. (signals)
+
+`BOOST_DEPENDS`
+
+ The list of the extra boost libraries that the test suite will
+ depend on. You do NOT have to list those libraries already listed
+ by the module.cmake file as these will be used.
+
+.. rubric:: Example
+
+The following invocation of the `boost_additional_test_dependencies`
+macro is taken from the signals library. ::
+
+ boost_additional_test_dependencies(signals BOOST_DEPENDS test optional)
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Testing module in
+tools/build/CMake/BoostTesting.cmake
+
diff --git a/tools/build/CMake/docs/source/reference/boost_library_project.rst b/tools/build/CMake/docs/source/reference/boost_library_project.rst
new file mode 100644
index 0000000..5487089
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_library_project.rst
@@ -0,0 +1,103 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_library_project
+.. _boost_library_project_macro:
+
+boost_library_project
+---------------------
+
+Define a boost library project.
+
+.. cmake:: boost_library_project(libname[, ...])
+
+ :param libname: name of library to add
+ :type SRCDIRS: optional
+ :param SRCDIRS: srcdir1 srcdir2 ...
+ :type TESTDIRS: optional
+ :param TESTDIRS: testdir1 testdir2 ..
+ :type EXAMPLEDIRS: optional
+ :param EXAMPLEDIRS: testdir1 testdir2 ..
+ :param DESCRIPTION: description
+ :param AUTHORS: author1 author2
+ :param MAINTAINERS: maint maint2
+ :type MODULAR: optional
+ :param MODULAR:
+
+where `libname` is the name of the library (e.g., Python,
+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.
+
+.. A library marked MODULAR has all of its header files in its own
+.. subdirectory include/boost rather than the "global" boost
+.. subdirectory. These libraries can be added or removed from the tree
+.. freely; they do not need to be a part of the main repository.
+
+`DESCRIPTION` provides a brief description of the library, which can
+be used to summarize the behavior of the library for a user. `AUTHORS`
+lists the authors of the library, while `MAINTAINERS` lists the active
+maintainers. If `MAINTAINERS` is left empty, it is assumed that the
+authors are still maintaining the library. Both authors and maintainers
+should have their name followed by their current e-mail address in
+angle brackets, with -at- instead of the at sign, e.g., ::
+
+ Douglas Gregor <doug.gregor -at- gmail.com>
+
+.. index:: TESTDIRS
+.. _TESTDIRS:
+
+TESTDIRS
+^^^^^^^^
+
+For libraries that have regression tests, and when testing is enabled
+either by `BUILD_TESTS` containing the (lowercase) name of this
+library or the string ``ALL``, the generated makefiles/project files
+will contain regression tests for this library.
+
+.. index:: EXAMPLEDIRS
+.. _EXAMPLEDIRS:
+
+EXAMPLEDIRS
+^^^^^^^^^^^
+
+This option specifies directories containing examples. Examples are
+just libraries/executables created with :ref:`boost_add_library_macro`
+and :ref:`boost_add_executable_macro`, except they are only built if
+the name of the current project is specified in :ref:`BUILD_EXAMPLES`.
+
+.. index:: MODULAR
+.. _MODULAR:
+
+MODULAR
+^^^^^^^
+
+Currently unused.
+
+.. rubric:: Example
+
+The Boost.Thread library uses the following invocation of the
+`boost_library_project` macro, since it has both a compiled library
+(built in the "src" subdirectory) and regression tests (listed in the
+"test" subdirectory)::
+
+
+ boost_library_project(
+ Thread
+ SRCDIRS src
+ TESTDIRS test
+ DESCRIPTION "Portable threading"
+ AUTHORS "Anthony Williams <anthony -at- justsoftwaresolutions.co.uk">
+ )
+
+.. rubric:: Where Defined
+
+This macro is defined in the Boost Core module in
+``tools/build/CMake/BoostCore.cmake``
+
diff --git a/tools/build/CMake/docs/source/reference/boost_module.rst b/tools/build/CMake/docs/source/reference/boost_module.rst
new file mode 100644
index 0000000..f014735
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_module.rst
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_module
+.. _boost_module:
+
+boost_module
+------------
+
+FIXME
diff --git a/tools/build/CMake/docs/source/reference/boost_python_module.rst b/tools/build/CMake/docs/source/reference/boost_python_module.rst
new file mode 100644
index 0000000..0422c26
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_python_module.rst
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_python_module
+.. _boost_python_module:
+
+boost_python_module
+-------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/source/reference/boost_test_compile.rst b/tools/build/CMake/docs/source/reference/boost_test_compile.rst
new file mode 100644
index 0000000..0a1c0b2
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_test_compile.rst
@@ -0,0 +1,14 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _boost_test_compile:
+
+boost_test_compile
+------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/source/reference/boost_test_compile_fail.rst b/tools/build/CMake/docs/source/reference/boost_test_compile_fail.rst
new file mode 100644
index 0000000..1e6f318
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_test_compile_fail.rst
@@ -0,0 +1,14 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _boost_test_compile_fail:
+
+boost_test_compile_fail
+-----------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/source/reference/boost_test_run.rst b/tools/build/CMake/docs/source/reference/boost_test_run.rst
new file mode 100644
index 0000000..8e7c2f8
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_test_run.rst
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_test_run
+.. _boost_test_run:
+
+boost_test_run
+--------------
+
+FIXME
diff --git a/tools/build/CMake/docs/source/reference/boost_test_run_fail.rst b/tools/build/CMake/docs/source/reference/boost_test_run_fail.rst
new file mode 100644
index 0000000..9cc5e55
--- /dev/null
+++ b/tools/build/CMake/docs/source/reference/boost_test_run_fail.rst
@@ -0,0 +1,15 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. index:: boost_test_run_fail
+.. _boost_test_run_fail:
+
+boost_test_run_fail
+-------------------
+
+FIXME
diff --git a/tools/build/CMake/docs/source/testing.rst b/tools/build/CMake/docs/source/testing.rst
new file mode 100644
index 0000000..8f0db58
--- /dev/null
+++ b/tools/build/CMake/docs/source/testing.rst
@@ -0,0 +1,438 @@
+..
+.. Copyright (C) 2009 Troy Straszheim <troy@resophonic.com>
+..
+.. 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
+..
+
+.. _testing:
+
+Testing
+=======
+
+Boost's CMake-based build system provides regression testing via
+`CTest <http://www.cmake.org/Wiki/CMake_Testing_With_CTest>`_, which
+comes as part of CMake. This regression testing system can be used by
+Boost developers to test their libraries locally and also by testers
+and users to submit regression tests to a `CDash server
+<http://www.cdash.org/CDashPublic/index.php?project=Boost>`_, which
+collects and reports regression-testing results from different
+sites. This document assumes that the reader has already learned how
+to build and configure Boost using CMake.
+
+.. index:: BUILD_TESTS
+.. _BUILD_TESTS:
+
+BUILD_TESTS
+-----------
+
+The variable BUILD_TESTS is a comma-separated list of projects for
+which testing will be enabled, e.g.::
+
+ "accumulators;iostreams;variant"
+
+or the string ``"ALL"`` for all projects, or the string
+``"NONE"`` to disable testing.
+
+.. warning:: if you pass this list from a unix shell, don't forget to
+ enclose the whole thing in quotes or escape the
+ semicolons.
+
+If you re-run the CMake configuration for Boost with ``BUILD_TESTS``
+set to ``ALL``, you will notice that configuration takes significantly
+longer when we are building all of the regression tests. This is due
+to the very large number of toplevel targets (thousands) that are
+created. Until boost's testing scheme is reorganized to reduce this
+number, we anticipate that only testing nodes will want to test ALL,
+whereas developers will want to test the library under development and
+those that are dependent on it.
+
+.. index:: NMake
+.. index:: Visual Studio
+.. index:: tests, running all of them
+
+.. warning:: It is **not** recommended to set ``BUILD_TESTS`` to
+ ``"ALL"`` when using Visual Studio generators. A very
+ large number (thousands) of targets are generated and
+ this can bring VS to grinding halt. To run all tests,
+ choose the ``NMake`` generator, see :ref:`NMake`.
+
+Be sure to re-configure CMake once you are done tweaking these
+options, and generate makefiles or project files, as mentioned in
+:ref:`quickstart`.
+
+If you're using a command-line configuration (nmake files, unix
+makefiles) you can simplify this process by passing the value of
+``BUILD_TESTS`` on the command line, e.g. ::
+
+ cmake ../src -DBUILD_TESTS="mpi;graph_parallel"
+
+.. note:: In Visual Studio, you should be prompted by the gui to
+ reload the project. If you're unlucky, you will be prompted a
+ thousand times to reload each individual solution. For this
+ reason, our current best recommendataion is to close and reopen the
+ project if you rebuild ``Boost.sln``.
+
+
+Build
+-----
+
+Follow the same building process described in :ref:`quickstart`. For
+Unix users, don't forget the `-i` option to `make` (ignore errors),
+and also possibly `-j 2` (or more) to run the build process in
+parallel. Building all of the regression tests for the Boost libraries
+can take a long time. ::
+
+ make -j2 -i
+
+.. note:: If you change Boost source files in a way that affects your
+ tests, you will need to rebuild to update the libraries and
+ test executables before moving on to the next step.
+
+Test
+----
+
+Once regression tests have finished building,
+
+Unix and nmake
+^^^^^^^^^^^^^^
+
+at a command prompt, ``cd`` to the Boost binary directory. Then, run
+the command::
+
+ ctest
+
+to execute all of the regression tests. The `ctest` executable comes
+with cmake. On Unix platforms, this is the same place where `ccmake`
+resides. On Windows platforms, it will be in ``C:\Program
+Files\CMake X.Y\bin``. The ctest program should produce output like the
+following::
+
+ Start processing tests
+ Test project /Users/dgregor/Projects/boost-darwin
+ 1/ 22 Testing any-any_test Passed
+ 2/ 22 Testing any-any_to_ref_test Passed
+ 3/ 22 Testing function-lib_function_test Passed
+ 4/ 22 Testing function-function_n_test Passed
+ 5/ 22 Testing function-allocator_test Passed
+ 6/ 22 Testing function-stateless_test Passed
+ 7/ 22 Testing function-lambda_test Passed
+ 8/ 22 Testing function-function_test_fail1 ***Failed - supposed to fail
+ 9/ 22 Testing function-function_test_fail2 ***Failed - supposed to fail
+ 10/ 22 Testing function-function_30 Passed
+ 11/ 22 Testing function-function_arith_cxx98 Passed
+ 12/ 22 Testing function-function_arith_porta Passed
+ 13/ 22 Testing function-sum_avg_cxx98 Passed
+ 14/ 22 Testing function-sum_avg_portable Passed
+ 15/ 22 Testing function-mem_fun_cxx98 Passed
+ 16/ 22 Testing function-mem_fun_portable Passed
+ 17/ 22 Testing function-std_bind_cxx98 Passed
+ 18/ 22 Testing function-std_bind_portable Passed
+ 19/ 22 Testing function-function_ref_cxx98 Passed
+ 20/ 22 Testing function-function_ref_portabl Passed
+ 21/ 22 Testing function-contains_test Passed
+ 22/ 22 Testing function-contains2_test Passed
+
+ 100% tests passed, 0 tests failed out of 22
+
+Here, we have only enabled testing of the Boost.Any and Boost.Function
+libraries, by setting `BUILD_TESTS` to `any;function`.
+
+.. warning:: Again, This ``ctest`` step runs the tests without first
+ running a build. If you change a source file and run the
+ ``ctest`` step you will see that no build is invoked.
+
+To run just a subset of the tests, pass ``-R`` and a regular
+expression to ``ctest`` (see the output of ``ctest --help-full``). For
+example, to run all of the Python tests, use::
+
+ ctest -R python
+
+There is also a ``-E`` (exclude) option which does the inverse of ``-R``.
+``ctest --help`` shows the full list of options.
+
+.. index:: targets ; testing
+.. index:: testing ; targets
+
+Visual Studio
+^^^^^^^^^^^^^
+
+You will see a solution named ``RUN_TESTS``. Build this to run the
+tests. If you want to run them from the commandline, for some
+projects you will have to use the ``-C`` flag to ctest to specify the
+ctest configuration type (Debug or Release, typically).
+
+
+Targets
+-------
+
+The testing subsystem adds toplevel targets to the build. On unix you
+can see them in the output of ``make help``. For example some of the
+accumulators test targets look like this::
+
+ % make help | grep accum
+ ... accumulators-tests-count
+ ... accumulators-tests-covariance
+ ... accumulators-tests-droppable
+ ... accumulators-tests-error_of
+ ... accumulators-tests-extended_p_square
+ ... accumulators-tests-extended_p_square_quantile
+
+Note that they are prefixed with the name of the project, a dash, and
+'tests'. Under visual studio you will see these targets in the
+'solution explorer'.
+
+.. _the_dashboard:
+
+The Dashboard
+-------------
+
+Donated by kitware, it is here:
+
+http://www.cdash.org/CDashPublic/index.php?project=Boost
+
+Submitting Results
+------------------
+
+.. warning:: This needs updating for git
+
+The ``ctest`` command can be used by individual developers to test
+local changes to their libraries. The same program can also be used to
+build all of Boost, run its regression tests, and submit the results
+to a central server where others can view them. Currently, regression
+test results based on the CMake build system are displayed on the Dart
+server at http://www.cdash.org/CDashPublic/index.php?project=Boost.
+
+To submit "experimental" results to the Dart server, configure a Boost
+binary tree by following the configuration instructions in the section
+:ref:`quickstart`, and then enable regression testing via the
+`BOOST_TESTS=ALL` option, as described above. At this point, don't build
+anything! We'll let CTest do that work. You may want to customize some
+of the advanced CMake options, such as `SITE` (to give your site
+name), and `MAKECOMMAND` (which, for makefile targets, governs the
+top-level make call when building Boost). Finally, go into the Boost
+binary directory and execute::
+
+ ctest -D Experimental
+
+CTest will then reconfigure Boost, build all of the Boost libraries
+and regression tests, execute the regression tests, and submit the
+results to the Dart dashboard at
+http://www.cdash.org/CDashPublic/index.php?project=Boost. Results
+submitted to the dashboard are usually browsable momentarily within a
+minute or two.
+
+Automatic testing
+-----------------
+
+Continuous
+^^^^^^^^^^
+
+Here is a recommended setup.
+
+Create a directory ``ctest`` on your test drone containing
+subdirectories for the branches you'll be testing, in this case
+*release* and *trunk*. ::
+
+ boost/
+ ctest/
+ branches/
+ release/
+ continuous/
+ build/ <= run ctest here
+ src/ <= checkout to here
+ nightly/
+ build/ <= run ctest here
+ src/ <= checkout to here
+
+and check out source to the directories listed above. We'll do the
+release branch as an example::
+
+ % cd boost/ctest/branches/release
+ % svn co http://svn.boost.org/svn/boost/branches/release src
+ #
+ # lots of output
+ #
+ % mkdir continuous
+ % cd continuous
+
+now configure your build, enabling testing. In this case I'll also
+use an alternate compiler, from Intel::
+
+ % cmake ../src -DBUILD_TESTING=ON -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc
+ -- The C compiler identification is Intel
+ -- The CXX compiler identification is Intel
+ -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc
+ -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc -- works
+
+ (etc)
+
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: /home/troy/Projects/boost/ctest/release/continuous/build
+
+Now run ``ctest -D Continuous`` in a loop::
+
+ % while true
+ while> do
+ while> ctest -D Continuous
+ while> sleep 600 # take it easy on the repository
+ while> done
+ Site: zinc
+ Build name: intel-11.0-linux
+ Create new tag: 20090514-2207 - Continuous
+ Start processing tests
+ Updating the repository
+ Updating the repository: /home/troy/Projects/boost/ctest/release/nightly/src
+ Use SVN repository type
+ Old revision of repository is: 53002
+ New revision of repository is: 53005
+ Gathering version information (one . per revision):
+
+ (etc)
+
+If you add ``-V or -VV`` you'll get a little more feedback about what
+is going on. On unix it is handy to do this via the utility *screen*.
+
+.. todo:: Figure out how to do this on windows, encapsulate some of
+ this scripting. Just use the ctest builtin scripting
+ language.
+
+
+Nightly
+^^^^^^^
+
+Nightly testing should run triggered by a cron job or by Windows Task
+Scheduler or what-have-you. You will need,
+
+* a directory to work in
+* installed cmake/ctest/svn
+
+but not a checkout of boost. CTest will do the checkout, build, test
+and submit on its own.
+
+Create a directory to run in. As in the previous section, we'll use
+``boost/ctest/branches/release/nightly``, which I'll call ``$DIR``.
+The CTest script should look like the following (you can copy/paste
+this into ``$DIR/CTestNightly.cmake`` ::
+
+ execute_process(COMMAND /bin/pwd
+ OUTPUT_VARIABLE PWD
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ message(STATUS "Running nightly build in ${PWD}")
+
+ set(CTEST_SOURCE_DIRECTORY ${PWD}/src)
+ set(CTEST_BINARY_DIRECTORY ${PWD}/build)
+
+ # what cmake command to use for configuring this dashboard
+ set(CTEST_CMAKE_COMMAND "/usr/local/bin/cmake")
+ set(CTEST_CTEST_COMMAND "/usr/local/bin/ctest")
+ set(CTEST_CVS_COMMAND "svn")
+
+ set(CTEST_CVS_CHECKOUT "${CTEST_CVS_COMMAND} co https://svn.boost.org/svn/boost/branches/release ${CTEST_SOURCE_DIRECTORY}")
+
+ # which ctest command to use for running the dashboard
+ set(CTEST_COMMAND
+ "${CTEST_CTEST_COMMAND} -VV -D Experimental -A ${PWD}/notes.txt -O ctest.log"
+ )
+
+
+
+ ####################################################################
+ # The values in this section are optional you can either
+ # have them or leave them commented out
+ ####################################################################
+
+ # should ctest wipe the binary tree before running
+ set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
+
+ #
+ # this is the initial cache to use for the binary tree, be careful to escape
+ # any quotes inside of this string if you use it
+ #
+ # Yes you can pass cmake -DBUILD_WHATEVER=ON type options here.
+ #
+ set(CTEST_INITIAL_CACHE "
+
+ CMAKE_CXX_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icpc
+ CMAKE_C_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icc
+
+ SITE:STRING=zinc
+ MAKECOMMAND:STRING=make -i -j2
+ DART_TESTING_TIMEOUT:STRING=30
+ BUILD_TESTS:STRING=ALL
+ BUILD_EXAMPLES:STRING=ALL
+ CVSCOMMAND:FILEPATH=${CTEST_CVS_COMMAND}
+ ")
+
+You will need to customize several variables:
+
+* **CTEST_CMAKE_COMMAND** the path to your cmake binary
+* **CTEST_CTEST_COMMAND** the path to your ctest binary (should be in
+ the same place as cmake)
+* **CTEST_CVS_COMMAND** The path to subversion.
+* **CMAKE_CXX_COMPILER:STRING**, **CMAKE_C_COMPILER:STRING** Note the
+ syntax here, the trailing ``:STRING``. If you are using a
+ nonstandard compiler, set it here.
+* **MAKECOMMAND:STRING** The path to your make command. *NOTE* if you
+ set this, be sure that the ``-i`` (ignore-errors) flag is included.
+ If it isn't, the first compile/link error will stop the build and
+ testing will commence.
+* **SITE:STRING** This is what will appear as the 'hostname' in your
+ posted dashboards. Customize as you like.
+
+Now you'll create a "notes" file, call it ``notes.txt``. This will be
+visible from the dashboard. Add the output of, e.g::
+
+ gcc --version
+ uname -a
+
+and the contents of the ``CTestNightly.cmake`` itself. Example::
+
+ **************** CMAKE DASHBOARD NOTES *****************
+
+ Notes file for CMake Nightly Dashboard.
+
+ This dashboard is being generated on an eight core, 64 bit
+ Ubuntu 9.04 machine with an intel c++ compiler.
+
+
+ Questions about this Dashboard should be directed to troy@resophonic.com
+
+ Linux zinc 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 UTC 2009 x86_64 GNU/Linux
+
+ icpc (ICC) 11.0 20090318
+ Copyright (C) 1985-2009 Intel Corporation. All rights reserved.
+
+ --------------- Script file ---------------
+
+ (contents of CTestNightly.cmake)
+
+Now run (as a cronjob or at the command line)::
+
+ ctest -S CTestNightly.cmake
+
+if you want extra verbosity add a ``-VV`` flag. You'll see something like the following::
+
+ + /opt/local/bin/ctest -VV -S CMakeDashBoard.cmake
+ * Extra verbosity turned on
+ Reading Script: /Users/troy/ctest/boost/release/nightly/CMakeDashBoard.cmake
+ Run cmake command: /opt/i3/ports/bin/cmake "/Users/troy/ctest/boost/release/nightly/src"
+ -- The C compiler identification is GNU
+ -- The CXX compiler identification is GNU
+ -- Check for working C compiler: /usr/bin/gcc
+ (etc)
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: /Users/troy/ctest/boost/release/nightly/build
+ Run ctest command: /opt/i3/ports/bin/ctest -VV -D Nightly -A /Users/troy/ctest/boost/release/nightly/notes.txt -O ctest.log
+ UpdateCTestConfiguration from :/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
+ Parse Config file:/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
+ Site: silver
+ Build name: gcc-4.0.1-macos
+ (etc, etc)
+
+You'll see it configure again, run... and sooner or later you'll see
+your results on :ref:`the_dashboard`.
diff --git a/tools/build/CMake/externals/BZip2.cmake b/tools/build/CMake/externals/BZip2.cmake
new file mode 100644
index 0000000..3409026
--- /dev/null
+++ b/tools/build/CMake/externals/BZip2.cmake
@@ -0,0 +1,11 @@
+# Copyright (C) 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
+#
+set(BZip2_FIND_QUIETLY TRUE)
+find_package(BZip2)
+boost_external_report(BZip2 INCLUDE_DIR DEFINITIONS LIBRARIES)
+
+
diff --git a/tools/build/CMake/externals/Doxygen.cmake b/tools/build/CMake/externals/Doxygen.cmake
new file mode 100644
index 0000000..e7a4b68
--- /dev/null
+++ b/tools/build/CMake/externals/Doxygen.cmake
@@ -0,0 +1,13 @@
+# Copyright (C) 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
+#
+set(Doxygen_FIND_QUIETLY TRUE)
+
+# Try to find the Expat library
+find_package(Doxygen)
+
+boost_external_report(Doxygen EXECUTABLE DOT_FOUND DOT_EXECUTABLE DOT_PATH)
+
diff --git a/tools/build/CMake/externals/Expat.cmake b/tools/build/CMake/externals/Expat.cmake
new file mode 100644
index 0000000..94f2337
--- /dev/null
+++ b/tools/build/CMake/externals/Expat.cmake
@@ -0,0 +1,13 @@
+# Copyright (C) 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
+#
+set(EXPAT_FIND_QUIETLY TRUE)
+
+# Try to find the Expat library
+find_package(EXPAT)
+
+boost_external_report(Expat INCLUDE_DIR LIBRARIES)
+
diff --git a/tools/build/CMake/externals/ICU.cmake b/tools/build/CMake/externals/ICU.cmake
new file mode 100644
index 0000000..7041c9e
--- /dev/null
+++ b/tools/build/CMake/externals/ICU.cmake
@@ -0,0 +1,12 @@
+# Copyright (C) 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
+#
+set(ICU_FIND_QUIETLY TRUE)
+find_package(ICU)
+
+boost_external_report(ICU INCLUDE_DIRS LIBRARIES I18N_LIBRARIES )
+
+
diff --git a/tools/build/CMake/externals/MPI.cmake b/tools/build/CMake/externals/MPI.cmake
new file mode 100644
index 0000000..b8559fa
--- /dev/null
+++ b/tools/build/CMake/externals/MPI.cmake
@@ -0,0 +1,11 @@
+# Copyright (C) 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
+#
+set(MPI_FIND_QUIETLY TRUE)
+find_package(MPI)
+
+boost_external_report(MPI INCLUDE_PATH COMPILE_FLAGS LINK_FLAGS LIBRARIES)
+
diff --git a/tools/build/CMake/externals/Python.cmake b/tools/build/CMake/externals/Python.cmake
new file mode 100644
index 0000000..740560d
--- /dev/null
+++ b/tools/build/CMake/externals/Python.cmake
@@ -0,0 +1,161 @@
+# Copyright (C) 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
+#
+
+
+#
+# Python interpreter
+#
+set(ENV_PYTHON_EXECUTABLE $ENV{PYTHON_EXECUTABLE})
+
+if ((NOT PYTHONINTERP_FOUND) AND ENV_PYTHON_EXECUTABLE)
+ colormsg(YELLOW "Testing PYTHON_EXECUTABLE from environment")
+ find_program(PYTHON_EXECUTABLE ${ENV_PYTHON_EXECUTABLE})
+ if (NOT PYTHON_EXECUTABLE)
+ message(FATAL_ERROR "Environment supplied PYTHON_EXECUTABLE=${ENV_PYTHON_EXECUTABLE} but this file does not exist or is not a program.")
+ endif()
+ set(PYTHONINTERP_FOUND TRUE
+ CACHE BOOL "Python interpreter found")
+ set(PYTHON_EXECUTABLE
+ ${ENV_PYTHON_EXECUTABLE} CACHE FILEPATH "Python interpreter found")
+ message(STATUS "Ok, using ${PYTHON_EXECUTABLE}")
+else()
+ set(PythonInterp_FIND_QUIETLY TRUE)
+ find_package(PythonInterp)
+endif()
+
+#
+# Python libs
+#
+set(ENV_PYTHON_LIBRARIES $ENV{PYTHON_LIBRARIES})
+
+if ((NOT PYTHON_LIBRARIES) AND ENV_PYTHON_LIBRARIES)
+ colormsg(YELLOW "Testing PYTHON_LIBRARIES from environment")
+ get_filename_component(pythonlib_searchpath ${ENV_PYTHON_LIBRARIES} PATH)
+ get_filename_component(pythonlib_filename ${ENV_PYTHON_LIBRARIES} NAME)
+ find_library(PYTHON_LIBRARIES ${pythonlib_filename}
+ PATHS ${pythonlib_searchpath}
+ NO_DEFAULT_PATH)
+
+ if (NOT PYTHON_LIBRARIES)
+ message(FATAL_ERROR "Environment supplied PYTHON_LIBRARIES=${ENV_PYTHON_LIBRARIES} but that isn't a library.")
+ endif()
+ message(STATUS "Ok, using ${PYTHON_LIBRARIES}.")
+endif()
+
+set(ENV_PYTHON_DEBUG_LIBRARIES $ENV{PYTHON_DEBUG_LIBRARIES})
+if ((NOT PYTHON_DEBUG_LIBRARIES) AND ENV_PYTHON_DEBUG_LIBRARIES)
+ #
+ # Python debug libraries
+ #
+ if(ENV_PYTHON_DEBUG_LIBRARIES)
+ colormsg(YELLOW "Testing PYTHON_DEBUG_LIBRARIES from environment")
+ get_filename_component(pythonlib_searchpath
+ ${ENV_PYTHON_DEBUG_LIBRARIES} PATH)
+ get_filename_component(pythonlib_filename
+ ${ENV_PYTHON_DEBUG_LIBRARIES} NAME)
+ find_library(PYTHON_DEBUG_LIBRARIES ${pythonlib_filename}
+ PATHS ${pythonlib_searchpath}
+ NO_DEFAULT_PATH)
+
+ if (NOT PYTHON_DEBUG_LIBRARIES)
+ message(FATAL_ERROR "Environment supplied PYTHON_DEBUG_LIBRARIES=${ENV_PYTHON_DEBUG_LIBRARIES} but it isn't a library.")
+ endif()
+ message(STATUS "Ok, using ${PYTHON_DEBUG_LIBRARIES}")
+ else()
+ message(STATUS "Skipping optional PYTHON_DEBUG_LIBRARIES: not set.")
+ endif()
+elseif(NOT PYTHON_DEBUG_LIBRARIES)
+ set(PYTHON_DEBUG_LIBRARIES PYTHON_DEBUG_LIBRARIES-NOTFOUND
+ CACHE FILEPATH "Python debug library path")
+endif()
+
+#
+# Python includes
+#
+set(ENV_PYTHON_INCLUDE_PATH $ENV{PYTHON_INCLUDE_PATH})
+if((NOT PYTHON_INCLUDE_PATH) AND ENV_PYTHON_INCLUDE_PATH)
+ if(ENV_PYTHON_INCLUDE_PATH)
+ colormsg(YELLOW "Testing PYTHON_INCLUDE_PATH from environment")
+ find_path(PYTHON_INCLUDE_PATH
+ Python.h
+ PATHS ${ENV_PYTHON_INCLUDE_PATH}
+ NO_DEFAULT_PATH)
+
+ if(PYTHON_INCLUDE_PATH)
+ set(PYTHON_INCLUDE_PATH ${ENV_PYTHON_INCLUDE_PATH})
+ message(STATUS "Ok, using ${PYTHON_INCLUDE_PATH}")
+ else()
+ message(FATAL_ERROR "Environment supplied PYTHON_INCLUDE_PATH=${ENV_PYTHON_INCLUDE_PATH} but this directory does not contain file Python.h")
+ endif()
+ endif()
+endif()
+
+if (PYTHON_INCLUDE_PATH AND PYTHON_LIBRARIES)
+ set(PYTHONLIBS_FOUND TRUE CACHE BOOL "Python libraries found, don't redetect at configure time")
+
+ # 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")
+
+
+elseif(NOT PYTHONLIBS_FOUND)
+ set(PythonLibs_FIND_QUIETLY TRUE)
+ find_package(PythonLibs)
+endif()
+
+if(PYTHONINTERP_FOUND AND PYTHONLIBS_FOUND)
+ set(PYTHON_FOUND TRUE)
+else()
+ set(PYTHON_FOUND FALSE)
+endif()
+
+boost_external_report(Python INCLUDE_PATH EXECUTABLE LIBRARIES DEBUG_LIBRARIES)
diff --git a/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp b/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp
new file mode 100644
index 0000000..6698473
--- /dev/null
+++ b/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp
@@ -0,0 +1,228 @@
+#
+# This is a valgrind suppression file that should be used when using valgrind.
+#
+# Here's an example of running valgrind:
+#
+# cd python/dist/src
+# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
+# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
+#
+# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
+# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
+#
+# If you do not want to recompile Python, you can uncomment
+# suppressions for PyObject_Free and PyObject_Realloc.
+#
+# See Misc/README.valgrind for more information.
+
+# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Addr4
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Value4
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+ Memcheck:Cond
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Addr4
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Value4
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 8
+ Memcheck:Value8
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+ Memcheck:Cond
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Addr4
+ fun:PyObject_Realloc
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Value4
+ fun:PyObject_Realloc
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 8
+ Memcheck:Value8
+ fun:PyObject_Realloc
+}
+
+{
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+ Memcheck:Cond
+ fun:PyObject_Realloc
+}
+
+###
+### All the suppressions below are for errors that occur within libraries
+### that Python uses. The problems to not appear to be related to Python's
+### use of the libraries.
+###
+{
+ GDBM problems, see test_gdbm
+ Memcheck:Param
+ write(buf)
+ fun:write
+ fun:gdbm_open
+
+}
+
+###
+### These occur from somewhere within the SSL, when running
+### test_socket_sll. They are too general to leave on by default.
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Cond
+### fun:memset
+###}
+###{
+### somewhere in SSL stuff
+### Memcheck:Value4
+### fun:memset
+###}
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Cond
+### fun:MD5_Update
+###}
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Value4
+### fun:MD5_Update
+###}
+
+#
+# All of these problems come from using test_socket_ssl
+#
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_bin2bn
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_num_bits_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:BN_num_bits_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_mod_exp_mont_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_mod_exp_mont
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Param
+ write(buf)
+ fun:write
+ obj:/usr/lib/libcrypto.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:RSA_verify
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:RSA_verify
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:DES_set_key_unchecked
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:DES_encrypt2
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ obj:/usr/lib/libssl.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ obj:/usr/lib/libssl.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BUF_MEM_grow_clean
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:memcpy
+ fun:ssl3_read_bytes
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:SHA1_Update
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:SHA1_Update
+}
+
+
diff --git a/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp b/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp
new file mode 100644
index 0000000..4a6ea28
--- /dev/null
+++ b/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp
@@ -0,0 +1,403 @@
+#
+# This is a valgrind suppression file that should be used when using valgrind.
+#
+# Here's an example of running valgrind:
+#
+# cd python/dist/src
+# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
+# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
+#
+# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
+# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
+#
+# If you do not want to recompile Python, you can uncomment
+# suppressions for PyObject_Free and PyObject_Realloc.
+#
+# See Misc/README.valgrind for more information.
+
+# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Addr4
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Value4
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
+ Memcheck:Value8
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+ Memcheck:Cond
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+#
+# Leaks (including possible leaks)
+# Hmmm, I wonder if this masks some real leaks. I think it does.
+# Will need to fix that.
+#
+
+{
+ Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_allocate_lock
+ fun:PyEval_InitThreads
+}
+
+{
+ Suppress leaking the GIL after a fork.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_allocate_lock
+ fun:PyEval_ReInitThreads
+}
+
+{
+ Suppress leaking the autoTLSkey. This looks like it shouldn't leak though.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_create_key
+ fun:_PyGILState_Init
+ fun:Py_InitializeEx
+ fun:Py_Main
+}
+
+{
+ Hmmm, is this a real leak or like the GIL?
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_ReInitTLS
+}
+
+{
+ Handle PyMalloc confusing valgrind (possibly leaked)
+ Memcheck:Leak
+ fun:realloc
+ fun:_PyObject_GC_Resize
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
+}
+
+{
+ Handle PyMalloc confusing valgrind (possibly leaked)
+ Memcheck:Leak
+ fun:malloc
+ fun:_PyObject_GC_New
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
+}
+
+{
+ Handle PyMalloc confusing valgrind (possibly leaked)
+ Memcheck:Leak
+ fun:malloc
+ fun:_PyObject_GC_NewVar
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
+}
+
+#
+# Non-python specific leaks
+#
+
+{
+ Handle pthread issue (possibly leaked)
+ Memcheck:Leak
+ fun:calloc
+ fun:allocate_dtv
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+}
+
+{
+ Handle pthread issue (possibly leaked)
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Addr4
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Value4
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 8
+ Memcheck:Value8
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+ Memcheck:Cond
+ fun:PyObject_Free
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Addr4
+ fun:PyObject_Realloc
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Value4
+ fun:PyObject_Realloc
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 8
+ Memcheck:Value8
+ fun:PyObject_Realloc
+}
+
+{
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+ Memcheck:Cond
+ fun:PyObject_Realloc
+}
+
+###
+### All the suppressions below are for errors that occur within libraries
+### that Python uses. The problems to not appear to be related to Python's
+### use of the libraries.
+###
+
+{
+ Generic ubuntu ld problems
+ Memcheck:Addr8
+ obj:/lib/ld-2.4.so
+ obj:/lib/ld-2.4.so
+ obj:/lib/ld-2.4.so
+ obj:/lib/ld-2.4.so
+}
+
+{
+ Generic gentoo ld problems
+ Memcheck:Cond
+ obj:/lib/ld-2.3.4.so
+ obj:/lib/ld-2.3.4.so
+ obj:/lib/ld-2.3.4.so
+ obj:/lib/ld-2.3.4.so
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Param
+ write(buf)
+ fun:write
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_close
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Value8
+ fun:memmove
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_store
+ fun:dbm_ass_sub
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Cond
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_store
+ fun:dbm_ass_sub
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Cond
+ fun:memmove
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_store
+ fun:dbm_ass_sub
+}
+
+{
+ GDBM problems, see test_gdbm
+ Memcheck:Param
+ write(buf)
+ fun:write
+ fun:gdbm_open
+
+}
+
+{
+ ZLIB problems, see test_gzip
+ Memcheck:Cond
+ obj:/lib/libz.so.1.2.3
+ obj:/lib/libz.so.1.2.3
+ fun:deflate
+}
+
+{
+ Avoid problems w/readline doing a putenv and leaking on exit
+ Memcheck:Leak
+ fun:malloc
+ fun:xmalloc
+ fun:sh_set_lines_and_columns
+ fun:_rl_get_screen_size
+ fun:_rl_init_terminal_io
+ obj:/lib/libreadline.so.4.3
+ fun:rl_initialize
+}
+
+###
+### These occur from somewhere within the SSL, when running
+### test_socket_sll. They are too general to leave on by default.
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Cond
+### fun:memset
+###}
+###{
+### somewhere in SSL stuff
+### Memcheck:Value4
+### fun:memset
+###}
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Cond
+### fun:MD5_Update
+###}
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Value4
+### fun:MD5_Update
+###}
+
+#
+# All of these problems come from using test_socket_ssl
+#
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_bin2bn
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_num_bits_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:BN_num_bits_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_mod_exp_mont_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_mod_exp_mont
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Param
+ write(buf)
+ fun:write
+ obj:/usr/lib/libcrypto.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:RSA_verify
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:RSA_verify
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:DES_set_key_unchecked
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:DES_encrypt2
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ obj:/usr/lib/libssl.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ obj:/usr/lib/libssl.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BUF_MEM_grow_clean
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:memcpy
+ fun:ssl3_read_bytes
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:SHA1_Update
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:SHA1_Update
+}
+
+
diff --git a/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp b/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp
new file mode 100644
index 0000000..a66305b
--- /dev/null
+++ b/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp
@@ -0,0 +1,391 @@
+#
+# This is a valgrind suppression file that should be used when using valgrind.
+#
+# Here's an example of running valgrind:
+#
+# cd python/dist/src
+# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
+# ./python -E ./Lib/test/regrtest.py -u gui,network
+#
+# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
+# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
+#
+# If you do not want to recompile Python, you can uncomment
+# suppressions for PyObject_Free and PyObject_Realloc.
+#
+# See Misc/README.valgrind for more information.
+
+# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Addr4
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 4
+ Memcheck:Value4
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
+ Memcheck:Value8
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+{
+ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+ Memcheck:Cond
+ fun:Py_ADDRESS_IN_RANGE
+}
+
+#
+# Leaks (including possible leaks)
+# Hmmm, I wonder if this masks some real leaks. I think it does.
+# Will need to fix that.
+#
+
+{
+ Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_allocate_lock
+ fun:PyEval_InitThreads
+}
+
+{
+ Suppress leaking the GIL after a fork.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_allocate_lock
+ fun:PyEval_ReInitThreads
+}
+
+{
+ Suppress leaking the autoTLSkey. This looks like it shouldn't leak though.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_create_key
+ fun:_PyGILState_Init
+ fun:Py_InitializeEx
+ fun:Py_Main
+}
+
+{
+ Hmmm, is this a real leak or like the GIL?
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_ReInitTLS
+}
+
+{
+ Handle PyMalloc confusing valgrind (possibly leaked)
+ Memcheck:Leak
+ fun:realloc
+ fun:_PyObject_GC_Resize
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
+}
+
+{
+ Handle PyMalloc confusing valgrind (possibly leaked)
+ Memcheck:Leak
+ fun:malloc
+ fun:_PyObject_GC_New
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
+}
+
+{
+ Handle PyMalloc confusing valgrind (possibly leaked)
+ Memcheck:Leak
+ fun:malloc
+ fun:_PyObject_GC_NewVar
+ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
+}
+
+#
+# Non-python specific leaks
+#
+
+{
+ Handle pthread issue (possibly leaked)
+ Memcheck:Leak
+ fun:calloc
+ fun:allocate_dtv
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+}
+
+{
+ Handle pthread issue (possibly leaked)
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+}
+
+###{
+### ADDRESS_IN_RANGE/Invalid read of size 4
+### Memcheck:Addr4
+### fun:PyObject_Free
+###}
+###
+###{
+### ADDRESS_IN_RANGE/Invalid read of size 4
+### Memcheck:Value4
+### fun:PyObject_Free
+###}
+###
+###{
+### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+### Memcheck:Cond
+### fun:PyObject_Free
+###}
+
+###{
+### ADDRESS_IN_RANGE/Invalid read of size 4
+### Memcheck:Addr4
+### fun:PyObject_Realloc
+###}
+###
+###{
+### ADDRESS_IN_RANGE/Invalid read of size 4
+### Memcheck:Value4
+### fun:PyObject_Realloc
+###}
+###
+###{
+### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
+### Memcheck:Cond
+### fun:PyObject_Realloc
+###}
+
+###
+### All the suppressions below are for errors that occur within libraries
+### that Python uses. The problems to not appear to be related to Python's
+### use of the libraries.
+###
+
+{
+ Generic ubuntu ld problems
+ Memcheck:Addr8
+ obj:/lib/ld-2.4.so
+ obj:/lib/ld-2.4.so
+ obj:/lib/ld-2.4.so
+ obj:/lib/ld-2.4.so
+}
+
+{
+ Generic gentoo ld problems
+ Memcheck:Cond
+ obj:/lib/ld-2.3.4.so
+ obj:/lib/ld-2.3.4.so
+ obj:/lib/ld-2.3.4.so
+ obj:/lib/ld-2.3.4.so
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Param
+ write(buf)
+ fun:write
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_close
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Value8
+ fun:memmove
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_store
+ fun:dbm_ass_sub
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Cond
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_store
+ fun:dbm_ass_sub
+}
+
+{
+ DBM problems, see test_dbm
+ Memcheck:Cond
+ fun:memmove
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ obj:/usr/lib/libdb1.so.2
+ fun:dbm_store
+ fun:dbm_ass_sub
+}
+
+{
+ GDBM problems, see test_gdbm
+ Memcheck:Param
+ write(buf)
+ fun:write
+ fun:gdbm_open
+
+}
+
+{
+ ZLIB problems, see test_gzip
+ Memcheck:Cond
+ obj:/lib/libz.so.1.2.3
+ obj:/lib/libz.so.1.2.3
+ fun:deflate
+}
+
+{
+ Avoid problems w/readline doing a putenv and leaking on exit
+ Memcheck:Leak
+ fun:malloc
+ fun:xmalloc
+ fun:sh_set_lines_and_columns
+ fun:_rl_get_screen_size
+ fun:_rl_init_terminal_io
+ obj:/lib/libreadline.so.4.3
+ fun:rl_initialize
+}
+
+###
+### These occur from somewhere within the SSL, when running
+### test_socket_sll. They are too general to leave on by default.
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Cond
+### fun:memset
+###}
+###{
+### somewhere in SSL stuff
+### Memcheck:Value4
+### fun:memset
+###}
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Cond
+### fun:MD5_Update
+###}
+###
+###{
+### somewhere in SSL stuff
+### Memcheck:Value4
+### fun:MD5_Update
+###}
+
+#
+# All of these problems come from using test_socket_ssl
+#
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_bin2bn
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_num_bits_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:BN_num_bits_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_mod_exp_mont_word
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BN_mod_exp_mont
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Param
+ write(buf)
+ fun:write
+ obj:/usr/lib/libcrypto.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:RSA_verify
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:RSA_verify
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:DES_set_key_unchecked
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:DES_encrypt2
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ obj:/usr/lib/libssl.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ obj:/usr/lib/libssl.so.0.9.7
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:BUF_MEM_grow_clean
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:memcpy
+ fun:ssl3_read_bytes
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Cond
+ fun:SHA1_Update
+}
+
+{
+ from test_socket_ssl
+ Memcheck:Value4
+ fun:SHA1_Update
+}
+
+
diff --git a/tools/build/CMake/externals/Valgrind.cmake b/tools/build/CMake/externals/Valgrind.cmake
new file mode 100644
index 0000000..c7a5cc9
--- /dev/null
+++ b/tools/build/CMake/externals/Valgrind.cmake
@@ -0,0 +1,18 @@
+# Copyright (C) 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
+#
+
+# Find xsltproc to transform XML documents via XSLT
+find_program(VALGRIND_EXECUTABLE valgrind DOC "Valgrind executable")
+
+set(VALGRIND_FLAGS "--tool=memcheck" CACHE STRING
+ "Flags to pass to xsltproc to transform XML documents")
+if(VALGRIND_EXECUTABLE)
+ set(VALGRIND_FOUND TRUE CACHE BOOL "Valgrind found" FORCE)
+endif()
+
+boost_external_report(Valgrind EXECUTABLE FLAGS)
+
diff --git a/tools/build/CMake/externals/Xsltproc.cmake b/tools/build/CMake/externals/Xsltproc.cmake
new file mode 100644
index 0000000..f4ff6c2
--- /dev/null
+++ b/tools/build/CMake/externals/Xsltproc.cmake
@@ -0,0 +1,18 @@
+# Copyright (C) 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
+#
+
+# Find xsltproc to transform XML documents via XSLT
+find_program(XSLTPROC_EXECUTABLE xsltproc DOC "xsltproc transforms XML via XSLT")
+
+set(XSLTPROC_FLAGS "--xinclude" CACHE STRING
+ "Flags to pass to xsltproc to transform XML documents")
+if(XSLTPROC_EXECUTABLE)
+ set(XSLTPROC_FOUND TRUE)
+endif()
+
+boost_external_report(Xsltproc EXECUTABLE FLAGS)
+
diff --git a/tools/build/CMake/externals/ZLib.cmake b/tools/build/CMake/externals/ZLib.cmake
new file mode 100644
index 0000000..341ecf8
--- /dev/null
+++ b/tools/build/CMake/externals/ZLib.cmake
@@ -0,0 +1,20 @@
+# Copyright (C) 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
+#
+if(ZLIB_SOURCE)
+ message(STATUS "")
+ colormsg(HIRED "ZLIB_SOURCE is not supported by Boost.CMake")
+ colormsg(RED "Install zlib and let cmake detect it")
+ colormsg(RED "or help cmake out by setting the relevant variables")
+endif()
+
+set(ZLIB_FIND_QUIETLY TRUE)
+
+find_package(ZLIB)
+
+boost_external_report(ZLib INCLUDE_DIR LIBRARIES)
+
+
diff --git a/tools/build/CMake/install_me/Boost-thisversion.cmake.in b/tools/build/CMake/install_me/Boost-thisversion.cmake.in
new file mode 100644
index 0000000..b292097
--- /dev/null
+++ b/tools/build/CMake/install_me/Boost-thisversion.cmake.in
@@ -0,0 +1,75 @@
+#
+# Copyright (C) Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt
+#
+
+#
+# This file is generated by cmake and installed to
+# BOOST_VERSIONED_CMAKE_FILES_DIR/Boost-@BOOST_VERSION@.
+#
+# when a users does a find_package(Boost ...) BoostConfigVersion.cmake
+# and BoostVersion.cmake will search for this file.
+#
+
+#
+# Various variables
+#
+set(Boost_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/@BOOST_INCLUDE_INSTALL_DIR@")
+set(Boost_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/@BOOST_INCLUDE_INSTALL_DIR@"
+ CACHE FILEPATH "Boost include directory")
+set(Boost_LIBRARY_DIRS "@CMAKE_INSTALL_PREFIX@/@BOOST_LIB_INSTALL_DIR@")
+#
+# Include the imported targets
+#
+include("@CMAKE_INSTALL_PREFIX@/@BOOST_INSTALL_EXPORTS_FILE@/Boost.cmake")
+
+#
+# Calculate target suffix from user variables
+#
+if (NOT DEFINED Boost_USE_MULTITHREADED)
+ set(Boost_USE_MULTITHREADED TRUE)
+endif()
+
+
+if (Boost_USE_MULTITHREADED)
+ set(mtflag "-mt")
+ set(mtdesc "multi-threaded")
+else()
+ set(mtflag "")
+ set(mtdesc "single-threaded")
+endif()
+
+if (Boost_USE_STATIC)
+ set(staticflag "-static")
+ set(staticdesc "statically-linked")
+else()
+ set(staticflag "-shared")
+ set(staticdesc "dynamically-linked")
+endif()
+
+set(Boost_LIBRARIES "")
+foreach(component ${Boost_FIND_COMPONENTS})
+ #
+ # Check that it is really a target
+ #
+ set(target boost_${component}${mtflag}${staticflag})
+ get_target_property(p ${target} TYPE)
+ if (NOT (p MATCHES "_LIBRARY$"))
+ message(STATUS "Library boost_${component} (${mtdesc}, ${staticdesc}) is not available in the detected Boost @BOOST_VERSION@ installation under @CMAKE_INSTALL_PREFIX@.")
+ else()
+ list(APPEND Boost_LIBRARIES "optimized;${target}")
+ endif()
+
+
+ get_target_property(p ${target}-debug TYPE)
+ if (NOT (p MATCHES "_LIBRARY$"))
+ message(SEND_ERROR "Library boost_${component} (${mtdesc}, ${staticdesc}) is not available in the detected Boost @BOOST_VERSION@ installation under @CMAKE_INSTALL_PREFIX@.")
+ else()
+ list(APPEND Boost_LIBRARIES "debug;${target}-debug")
+ endif()
+
+endforeach()
+
diff --git a/tools/build/CMake/install_me/BoostConfig.cmake.in b/tools/build/CMake/install_me/BoostConfig.cmake.in
new file mode 100644
index 0000000..10609c4
--- /dev/null
+++ b/tools/build/CMake/install_me/BoostConfig.cmake.in
@@ -0,0 +1,89 @@
+#
+# Copyright (C) Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt
+#
+
+#
+# This file is generated by cmake and installed to
+# BOOST_VERSIONED_CMAKE_FILES_DIR/Boost-@BOOST_VERSION@.
+#
+# when a users does a find_package(Boost ...) BoostConfigVersion.cmake
+# and BoostVersion.cmake will search for this file.
+#
+
+#
+# Various variables
+#
+set(Boost_VERSION "@BOOST_VERSION@")
+set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIR}")
+set(Boost_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/@BOOST_INCLUDE_INSTALL_DIR@"
+ CACHE FILEPATH "Boost include directory")
+set(Boost_LIBRARY_DIRS "@CMAKE_INSTALL_PREFIX@/@BOOST_LIB_INSTALL_DIR@")
+#
+# Include the imported targets
+#
+include("@CMAKE_INSTALL_PREFIX@/@BOOST_EXPORTS_INSTALL_DIR@/Boost.cmake")
+
+#
+# Calculate target suffix from user variables
+#
+if (NOT DEFINED Boost_USE_MULTITHREADED)
+ set(Boost_USE_MULTITHREADED TRUE)
+endif()
+
+
+if (Boost_USE_MULTITHREADED)
+ set(mtflag "-mt")
+ set(mtdesc "multi-threaded")
+else()
+ set(mtflag "")
+ set(mtdesc "single-threaded")
+endif()
+
+if (Boost_USE_STATIC)
+ set(staticflag "-static")
+ set(staticdesc "statically-linked")
+else()
+ set(staticflag "-shared")
+ set(staticdesc "dynamically-linked")
+endif()
+
+set(Boost_LIBRARIES "")
+if (NOT Boost_FIND_COMPONENTS)
+ set(Boost_FIND_COMPONENTS "@BOOST_ALL_COMPONENTS@")
+endif()
+
+foreach(component ${Boost_FIND_COMPONENTS})
+ #
+ # Check that it is really a target
+ #
+ set(target boost_${component}${mtflag}${staticflag})
+ get_target_property(p_optimized ${target} TYPE)
+ get_target_property(p_debug ${target}-debug TYPE)
+
+ # If optimized and debug versions are installed, specify each
+ if (p_optimized MATCHES "_LIBRARY$" AND p_debug MATCHES "_LIBRARY$")
+ list(APPEND Boost_LIBRARIES "optimized;${target};debug;${target}-debug")
+ else()
+ # Otherwise use whatever is available
+ if (p_optimized MATCHES "_LIBRARY$")
+ list(APPEND Boost_LIBRARIES "${target}")
+ else()
+ if (p_debug MATCHES "_LIBRARY$")
+ list(APPEND Boost_LIBRARIES "${target}-debug")
+ else()
+ list(APPEND Boost_MISSING ${component})
+ endif()
+ endif()
+ endif()
+
+endforeach()
+
+# Crude error handling (TODO: proper handling of REQUIRED etc)
+if (Boost_MISSING)
+ message(FATAL_ERROR "Boost components not found: ${Boost_MISSING}")
+endif()
+
diff --git a/tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in b/tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in
new file mode 100644
index 0000000..a6e7b17
--- /dev/null
+++ b/tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in
@@ -0,0 +1,19 @@
+#
+# Copyright (C) Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt
+#
+
+#
+# This file is generated by cmake and installed to
+# BOOST_VERSIONED_CMAKE_FILES_DIR/BoostConfig.cmake
+#
+
+get_filename_component(CWD ${CMAKE_CURRENT_LIST_FILE} PATH)
+include("@CMAKE_INSTALL_PREFIX@/share/boost-${Boost_VERSION}/cmake/BoostConfig.cmake")
+
+
+
+
\ No newline at end of file
diff --git a/tools/build/CMake/install_me/BoostConfigVersion.cmake.in b/tools/build/CMake/install_me/BoostConfigVersion.cmake.in
new file mode 100644
index 0000000..cad363b
--- /dev/null
+++ b/tools/build/CMake/install_me/BoostConfigVersion.cmake.in
@@ -0,0 +1,22 @@
+#
+# Copyright (C) Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt
+#
+#
+# This file is generated by the Boost.CMake install.
+# It either matches exactly, or not at all.
+#
+if ("${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@BOOST_VERSION@")
+ #
+ # Exact version
+ #
+ set(BOOST_FOUND TRUE)
+ set(PACKAGE_VERSION "@BOOST_VERSION@")
+ set(PACKAGE_VERSION_EXACT TRUE)
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ set(PACKAGE_VERSION_UNSUITABLE FALSE)
+
+endif()
diff --git a/tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in b/tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in
new file mode 100644
index 0000000..e56100e
--- /dev/null
+++ b/tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in
@@ -0,0 +1,69 @@
+#
+# Copyright (C) Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt
+#
+#
+# Determine if we have a version of boost available that works
+#
+# Thanks Tronic for some sharp eyes.
+#
+get_filename_component(CWD ${CMAKE_CURRENT_LIST_FILE} PATH)
+
+file(GLOB AVAILABLE_VERSIONFILES
+ RELATIVE ${CWD}
+ "@CMAKE_INSTALL_PREFIX@/share/boost-*/cmake/BoostConfig.cmake")
+
+message("globbed: ${AVAILABLE_VERSIONFILES}")
+if (EXISTS "@CMAKE_INSTALL_PREFIX@/share/boost-${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}/cmake/BoostConfig.cmake")
+ #
+ # Exact version
+ #
+ set(BOOST_FOUND TRUE)
+ set(PACKAGE_VERSION ${PACKAGE_FIND_VERSION})
+ set(PACKAGE_VERSION_EXACT TRUE)
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ set(PACKAGE_VERSION_UNSUITABLE FALSE)
+
+elseif(AVAILABLE_VERSIONFILES)
+
+ #
+ # Find any version
+ #
+ list(SORT AVAILABLE_VERSIONFILES)
+ list(REVERSE AVAILABLE_VERSIONFILES)
+ list(GET AVAILABLE_VERSIONFILES 0 MOSTRECENT)
+ #
+ # Warning bugs: this assumes that there are no other x.yy.zz type
+ # numbers in your path
+ #
+ string(REGEX MATCH
+ "[0-9]+\\.[0-9]+\\.[0-9]+"
+ FOUNDVERSION ${MOSTRECENT})
+
+ message("FOUNDVERSION=${FOUNDVERSION}")
+ if(PACKAGE_FIND_VERSION)
+ if(${PACKAGE_FIND_VERSION} STRLESS ${FOUNDVERSION})
+ #
+ # Okay, we have newer than requested
+ #
+ set(PACKAGE_VERSION ${FOUNDVERSION})
+ set(PACKAGE_VERSION_EXACT FALSE)
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ set(PACKAGE_VERSION_UNSUITABLE FALSE)
+ else(${PACKAGE_FIND_VERSION} STRGREATER ${FOUNDVERSION})
+ #
+ # Sorry, we only have older than requested
+ #
+ set(PACKAGE_VERSION ${FOUNDVERSION})
+ set(PACKAGE_VERSION_EXACT FALSE)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+ set(PACKAGE_VERSION_UNSUITABLE TRUE)
+ endif()
+ else()
+ set(PACKAGE_VERSION ${FOUNDVERSION})
+ endif()
+endif()
+
diff --git a/tools/build/CMake/install_me/version.hpp.override.in b/tools/build/CMake/install_me/version.hpp.override.in
new file mode 100644
index 0000000..e7f130b
--- /dev/null
+++ b/tools/build/CMake/install_me/version.hpp.override.in
@@ -0,0 +1,35 @@
+// Boost version.hpp configuration header file ------------------------------//
+
+// (C) Copyright John maddock 1999. 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)
+
+// See http://www.boost.org/libs/config for documentation
+
+#ifndef BOOST_VERSION_HPP
+#define BOOST_VERSION_HPP
+
+//
+// Caution, this is the only boost header that is guarenteed
+// to change with every boost release, including this header
+// will cause a recompile every time a new boost version is
+// released.
+//
+// BOOST_VERSION % 100 is the patch level
+// BOOST_VERSION / 100 % 1000 is the minor version
+// BOOST_VERSION / 100000 is the major version
+
+#define BOOST_VERSION @BOOST_VERSION_NUMERIC@
+
+//
+// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
+// but as a *string* in the form "x_y[_z]" where x is the major version
+// number, y is the minor version number, and z is the patch level if not 0.
+// This is used by <config/auto_link.hpp> to select which library version to link to.
+
+#define BOOST_LIB_VERSION "@BOOST_VERSION_UNDERSCORES@"
+
+#endif
+
+
+
diff --git a/tools/build/CMake/main.cpp b/tools/build/CMake/main.cpp
new file mode 100644
index 0000000..a57e416
--- /dev/null
+++ b/tools/build/CMake/main.cpp
@@ -0,0 +1,7 @@
+//
+// This does nothing, of course. If a user has restricted us via
+// BUILD_PROJECTS to no projects that contain libraries, this guy gets
+// compiled as a dummy executable target so that cmake install(EXPORT
+// ...) doesn't fail with "unknown export Boost".
+//
+int main(int, char**) { }
diff --git a/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt b/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt
new file mode 100644
index 0000000..f917e68
--- /dev/null
+++ b/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt
@@ -0,0 +1,17 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+if (NOT PYTHON_FOUND)
+ message(STATUS "+-- python not found, disabling.")
+else()
+
+ boost_library_project(
+ pymodules
+ SRCDIRS src
+ )
+
+endif()
diff --git a/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt b/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt
new file mode 100644
index 0000000..710403d
--- /dev/null
+++ b/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt
@@ -0,0 +1,53 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+include_directories(${PYTHON_INCLUDE_PATH})
+
+boost_python_extension(fooext_rel
+
+ extension.cpp
+
+ COMPILE_FLAGS "-DMODNAME=fooext_rel"
+ RELEASE_COMPILE_FLAGS "-DFLAGS=\"RELFLAGS\""
+ DEPENDS boost_python
+ LINK_LIBS ${PYTHON_LIBRARIES}
+ RELEASE)
+
+boost_python_extension(fooext_dbg
+
+ extension.cpp
+
+ COMPILE_FLAGS "-DMODNAME=fooext_dbg"
+ DEBUG_COMPILE_FLAGS "-DFLAGS=DBGFLAGS"
+ DEPENDS boost_python
+ LINK_LIBS ${PYTHON_LIBRARIES}
+ DEBUG)
+
+boost_python_extension(fooext_default
+
+ extension.cpp
+
+ COMPILE_FLAGS "-DMODNAME=fooext_default -DFLAGS=NOFLAGS"
+
+ DEPENDS boost_python
+ LINK_LIBS ${PYTHON_LIBRARIES})
+
+
+
+
+boost_python_extension(fooext_test_linkflags
+
+ extension.cpp
+
+ DEPENDS boost_python
+ LINK_LIBS ${PYTHON_LIBRARIES}
+ LINK_FLAGS bogus_linkflags
+ )
+
+
+
+
diff --git a/tools/build/CMake/selftest_projects/pymodules/src/extension.cpp b/tools/build/CMake/selftest_projects/pymodules/src/extension.cpp
new file mode 100644
index 0000000..0ab8abf
--- /dev/null
+++ b/tools/build/CMake/selftest_projects/pymodules/src/extension.cpp
@@ -0,0 +1,17 @@
+#include <boost/python/module.hpp>
+#include <boost/preprocessor/expand.hpp>
+#include <boost/preprocessor/stringize.hpp>
+#include <iostream>
+
+#ifdef NDEBUG
+#define RELEASE "RELEASE"
+#else
+#define RELEASE "DEBUG"
+#endif
+
+#define MODNAME_THUNK() (MODNAME)
+
+BOOST_PP_EXPAND(BOOST_PYTHON_MODULE MODNAME_THUNK())
+{
+ std::cout << RELEASE << " " << BOOST_PP_STRINGIZE(FLAGS) << "\n";
+}
diff --git a/tools/build/CMake/test/include/selftest_lib.ipp b/tools/build/CMake/test/include/selftest_lib.ipp
new file mode 100644
index 0000000..fe42963
--- /dev/null
+++ b/tools/build/CMake/test/include/selftest_lib.ipp
@@ -0,0 +1,22 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+
+std::string libname()
+{
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
+}
+
+std::string shared_or_static()
+{
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
+}
+
+std::string debug_or_release()
+{
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
+}
+
+std::string single_or_multi()
+{
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
+}
diff --git a/tools/build/CMake/test/include/selftest_main.ipp b/tools/build/CMake/test/include/selftest_main.ipp
new file mode 100644
index 0000000..135e9b5
--- /dev/null
+++ b/tools/build/CMake/test/include/selftest_main.ipp
@@ -0,0 +1,11 @@
+#include <selftest_report.hpp>
+#include <string>
+#include <iostream>
+
+int main(int argc, char** argv)
+{
+ std::cout << libname() << "-"
+ << shared_or_static() << "_"
+ << debug_or_release() << "_"
+ << single_or_multi() << "\n";
+}
diff --git a/tools/build/CMake/test/include/selftest_report.hpp b/tools/build/CMake/test/include/selftest_report.hpp
new file mode 100644
index 0000000..5178dca
--- /dev/null
+++ b/tools/build/CMake/test/include/selftest_report.hpp
@@ -0,0 +1,6 @@
+#include <string>
+
+std::string libname();
+std::string shared_or_static();
+std::string debug_or_release();
+std::string single_or_multi();
diff --git a/tools/build/CMake/test/libs/a/CMakeLists.txt b/tools/build/CMake/test/libs/a/CMakeLists.txt
new file mode 100644
index 0000000..9bcf350
--- /dev/null
+++ b/tools/build/CMake/test/libs/a/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ system
+)
+
+# Add a library target to the build system
+boost_library_project(
+ a
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/tools/build/CMake/test/libs/a/module.cmake b/tools/build/CMake/test/libs/a/module.cmake
new file mode 100644
index 0000000..9a50a96
--- /dev/null
+++ b/tools/build/CMake/test/libs/a/module.cmake
@@ -0,0 +1 @@
+boost_module(system DEPENDS utility)
\ No newline at end of file
diff --git a/tools/build/CMake/test/libs/a/src/CMakeLists.txt b/tools/build/CMake/test/libs/a/src/CMakeLists.txt
new file mode 100644
index 0000000..bf9a474
--- /dev/null
+++ b/tools/build/CMake/test/libs/a/src/CMakeLists.txt
@@ -0,0 +1,40 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+add_definitions(-DLIBNAME=a)
+
+boost_add_library(a
+
+ lib.cpp
+
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
+ )
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ message("---------------------------------------------------")
+
+ boost_add_executable(${shared_or_static}_${debug_or_release}_${single_or_multi}
+
+ main.cpp
+
+ DEPENDS boost_a
+
+ ${shared_or_static}
+ ${debug_or_release}
+ ${single_or_multi}
+ )
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/libs/a/src/lib.cpp b/tools/build/CMake/test/libs/a/src/lib.cpp
new file mode 100644
index 0000000..fe42963
--- /dev/null
+++ b/tools/build/CMake/test/libs/a/src/lib.cpp
@@ -0,0 +1,22 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+
+std::string libname()
+{
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
+}
+
+std::string shared_or_static()
+{
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
+}
+
+std::string debug_or_release()
+{
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
+}
+
+std::string single_or_multi()
+{
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
+}
diff --git a/tools/build/CMake/test/libs/a/src/main.cpp b/tools/build/CMake/test/libs/a/src/main.cpp
new file mode 100644
index 0000000..61bbcf7
--- /dev/null
+++ b/tools/build/CMake/test/libs/a/src/main.cpp
@@ -0,0 +1 @@
+#include <selftest_main.ipp>
diff --git a/tools/build/CMake/test/libs/a/test/CMakeLists.txt b/tools/build/CMake/test/libs/a/test/CMakeLists.txt
new file mode 100644
index 0000000..01847b9
--- /dev/null
+++ b/tools/build/CMake/test/libs/a/test/CMakeLists.txt
@@ -0,0 +1,21 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(testname a-${shared_or_static}_${debug_or_release}_${single_or_multi})
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
+ set_tests_properties(${testname}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${testname}")
+
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/libs/b/CMakeLists.txt b/tools/build/CMake/test/libs/b/CMakeLists.txt
new file mode 100644
index 0000000..d893712
--- /dev/null
+++ b/tools/build/CMake/test/libs/b/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# Add a variable to hold the headers for the library
+set (lib_headers
+ system
+)
+
+# Add a library target to the build system
+boost_library_project(
+ b
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ # DESCRIPTION
+ MODULARIZED
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/tools/build/CMake/test/libs/b/module.cmake b/tools/build/CMake/test/libs/b/module.cmake
new file mode 100644
index 0000000..98cf7c2
--- /dev/null
+++ b/tools/build/CMake/test/libs/b/module.cmake
@@ -0,0 +1 @@
+boost_module(b DEPENDS a)
\ No newline at end of file
diff --git a/tools/build/CMake/test/libs/b/src/CMakeLists.txt b/tools/build/CMake/test/libs/b/src/CMakeLists.txt
new file mode 100644
index 0000000..ff26b05
--- /dev/null
+++ b/tools/build/CMake/test/libs/b/src/CMakeLists.txt
@@ -0,0 +1,30 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+add_definitions(-DLIBNAME=b)
+
+boost_add_library(b
+
+ lib.cpp
+
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
+ )
+
+boost_add_executable(SHARED_RELEASE_MULTI_THREADED main.cpp DEPENDS boost_b-mt-shared)
+boost_add_executable(SHARED_RELEASE_SINGLE_THREADED main.cpp DEPENDS boost_b-shared)
+boost_add_executable(STATIC_RELEASE_MULTI_THREADED main.cpp DEPENDS boost_b-mt-static)
+boost_add_executable(STATIC_RELEASE_SINGLE_THREADED main.cpp DEPENDS boost_b-static)
+boost_add_executable(SHARED_DEBUG_MULTI_THREADED main.cpp DEPENDS boost_b-mt-shared-debug)
+boost_add_executable(SHARED_DEBUG_SINGLE_THREADED main.cpp DEPENDS boost_b-shared-debug)
+boost_add_executable(STATIC_DEBUG_MULTI_THREADED main.cpp DEPENDS boost_b-mt-static-debug)
+boost_add_executable(STATIC_DEBUG_SINGLE_THREADED main.cpp DEPENDS boost_b-static-debug)
+
+
diff --git a/tools/build/CMake/test/libs/b/src/lib.cpp b/tools/build/CMake/test/libs/b/src/lib.cpp
new file mode 100644
index 0000000..1289695
--- /dev/null
+++ b/tools/build/CMake/test/libs/b/src/lib.cpp
@@ -0,0 +1 @@
+#include <selftest_lib.ipp>
diff --git a/tools/build/CMake/test/libs/b/src/main.cpp b/tools/build/CMake/test/libs/b/src/main.cpp
new file mode 100644
index 0000000..61bbcf7
--- /dev/null
+++ b/tools/build/CMake/test/libs/b/src/main.cpp
@@ -0,0 +1 @@
+#include <selftest_main.ipp>
diff --git a/tools/build/CMake/test/libs/b/test/CMakeLists.txt b/tools/build/CMake/test/libs/b/test/CMakeLists.txt
new file mode 100644
index 0000000..b4b6841
--- /dev/null
+++ b/tools/build/CMake/test/libs/b/test/CMakeLists.txt
@@ -0,0 +1,21 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(testname b-${shared_or_static}_${debug_or_release}_${single_or_multi})
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
+ set_tests_properties(${testname}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${testname}")
+
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/libs/c/CMakeLists.txt b/tools/build/CMake/test/libs/c/CMakeLists.txt
new file mode 100644
index 0000000..594a34d
--- /dev/null
+++ b/tools/build/CMake/test/libs/c/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+add_definitions(-DLIBNAME=c)
+
+set(RELEASE_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=RELEASE")
+set(DEBUG_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=DEBUG")
+set(SHARED_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=SHARED")
+set(STATIC_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=STATIC")
+set(MULTI_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=MULTI_THREADED")
+set(SINGLE_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=SINGLE_THREADED")
+
+# Add a library target to the build system
+boost_library_project(
+ c
+ SRCDIRS src
+ TESTDIRS test
+ # DOCDIRS
+ # DESCRIPTION
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/tools/build/CMake/test/libs/c/module.cmake b/tools/build/CMake/test/libs/c/module.cmake
new file mode 100644
index 0000000..e69de29
diff --git a/tools/build/CMake/test/libs/c/src/CMakeLists.txt b/tools/build/CMake/test/libs/c/src/CMakeLists.txt
new file mode 100644
index 0000000..cfc4752
--- /dev/null
+++ b/tools/build/CMake/test/libs/c/src/CMakeLists.txt
@@ -0,0 +1,30 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_library(c
+
+ lib.cpp
+
+ )
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ boost_add_executable(${shared_or_static}_${debug_or_release}_${single_or_multi}
+
+ main.cpp
+ DEPENDS boost_c
+ ${shared_or_static}
+ ${debug_or_release}
+ ${single_or_multi}
+ )
+ endforeach()
+ endforeach()
+endforeach()
+
+
+
diff --git a/tools/build/CMake/test/libs/c/src/lib.cpp b/tools/build/CMake/test/libs/c/src/lib.cpp
new file mode 100644
index 0000000..956d150
--- /dev/null
+++ b/tools/build/CMake/test/libs/c/src/lib.cpp
@@ -0,0 +1,22 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+
+std::string libname()
+{
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
+}
+
+std::string shared_or_static()
+{
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC));
+}
+
+std::string debug_or_release()
+{
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE));
+}
+
+std::string single_or_multi()
+{
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE));
+}
diff --git a/tools/build/CMake/test/libs/c/src/main.cpp b/tools/build/CMake/test/libs/c/src/main.cpp
new file mode 100644
index 0000000..a90587c
--- /dev/null
+++ b/tools/build/CMake/test/libs/c/src/main.cpp
@@ -0,0 +1,12 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+#include <iostream>
+
+int main(int argc, char** argv)
+{
+ std::cout << BOOST_PP_STRINGIZE(LIBNAME) << "-"
+ << BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC) << "_"
+ << BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE) << "_"
+ << BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE)
+ << "\n";
+}
diff --git a/tools/build/CMake/test/libs/c/test/CMakeLists.txt b/tools/build/CMake/test/libs/c/test/CMakeLists.txt
new file mode 100644
index 0000000..11e8ea2
--- /dev/null
+++ b/tools/build/CMake/test/libs/c/test/CMakeLists.txt
@@ -0,0 +1,21 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(testname c-${shared_or_static}_${debug_or_release}_${single_or_multi})
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
+ set_tests_properties(${testname}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${testname}")
+
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/libs/d/CMakeLists.txt b/tools/build/CMake/test/libs/d/CMakeLists.txt
new file mode 100644
index 0000000..5cff225
--- /dev/null
+++ b/tools/build/CMake/test/libs/d/CMakeLists.txt
@@ -0,0 +1,27 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+add_definitions(-DLIBNAME=d)
+
+set(RELEASE_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=RELEASE")
+set(DEBUG_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=DEBUG")
+set(SHARED_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=SHARED")
+set(STATIC_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=STATIC")
+set(MULTI_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=MULTI_THREADED")
+set(SINGLE_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=SINGLE_THREADED")
+
+# Add a library target to the build system
+boost_library_project(
+ d
+ SRCDIRS src
+ TESTDIRS test
+ # DOCDIRS
+ # DESCRIPTION
+ # AUTHORS
+ # MAINTAINERS
+)
+
+
diff --git a/tools/build/CMake/test/libs/d/module.cmake b/tools/build/CMake/test/libs/d/module.cmake
new file mode 100644
index 0000000..e69de29
diff --git a/tools/build/CMake/test/libs/d/src/CMakeLists.txt b/tools/build/CMake/test/libs/d/src/CMakeLists.txt
new file mode 100644
index 0000000..aaba81f
--- /dev/null
+++ b/tools/build/CMake/test/libs/d/src/CMakeLists.txt
@@ -0,0 +1,59 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(feature STATIC SHARED SINGLE_THREADED MULTI_THREADED
+ DEBUG RELEASE)
+ boost_add_library(d_no_${feature}
+ lib.cpp
+ NO_${feature}
+ )
+endforeach()
+
+
+#
+# Each of these never builds as it depends on something that
+# doesn't exist
+#
+boost_add_library(no_shared
+ lib.cpp
+ NO_SHARED
+ DEPENDS boost_d_no_STATIC)
+
+boost_add_library(no_static
+ lib.cpp
+ NO_STATIC
+ DEPENDS boost_d_no_SHARED)
+
+boost_add_library(no_debug
+ lib.cpp
+ NO_DEBUG
+ DEPENDS boost_d_no_RELEASE)
+
+boost_add_library(no_release
+ lib.cpp
+ NO_RELEASE
+ DEPENDS boost_d_no_DEBUG)
+
+boost_add_library(no_multi
+ lib.cpp
+ NO_MULTI_THREADED
+ DEPENDS boost_d_no_SINGLE_THREADED)
+
+boost_add_library(no_single
+ lib.cpp
+ NO_MULTI_THREADED
+ DEPENDS boost_d_no_SINGLE_THREADED)
+
+#
+# Problem: You can pass NO_MULTI_THREADED to this
+# and get something that never builds
+#
+boost_python_extension(doesntbuild
+ lib.cpp
+ NO_MULTI_THREADED
+ DEPENDS boost_d_no_SINGLE_THREADED)
+
diff --git a/tools/build/CMake/test/libs/d/src/lib.cpp b/tools/build/CMake/test/libs/d/src/lib.cpp
new file mode 100644
index 0000000..956d150
--- /dev/null
+++ b/tools/build/CMake/test/libs/d/src/lib.cpp
@@ -0,0 +1,22 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+
+std::string libname()
+{
+ return std::string(BOOST_PP_STRINGIZE(LIBNAME));
+}
+
+std::string shared_or_static()
+{
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC));
+}
+
+std::string debug_or_release()
+{
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE));
+}
+
+std::string single_or_multi()
+{
+ return std::string(BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE));
+}
diff --git a/tools/build/CMake/test/libs/d/src/main.cpp b/tools/build/CMake/test/libs/d/src/main.cpp
new file mode 100644
index 0000000..a90587c
--- /dev/null
+++ b/tools/build/CMake/test/libs/d/src/main.cpp
@@ -0,0 +1,12 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+#include <iostream>
+
+int main(int argc, char** argv)
+{
+ std::cout << BOOST_PP_STRINGIZE(LIBNAME) << "-"
+ << BOOST_PP_STRINGIZE(TOPLEVEL_SHARED_OR_STATIC) << "_"
+ << BOOST_PP_STRINGIZE(TOPLEVEL_DEBUG_OR_RELEASE) << "_"
+ << BOOST_PP_STRINGIZE(TOPLEVEL_MULTI_OR_SINGLE)
+ << "\n";
+}
diff --git a/tools/build/CMake/test/libs/d/test/CMakeLists.txt b/tools/build/CMake/test/libs/d/test/CMakeLists.txt
new file mode 100644
index 0000000..11e8ea2
--- /dev/null
+++ b/tools/build/CMake/test/libs/d/test/CMakeLists.txt
@@ -0,0 +1,21 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(testname c-${shared_or_static}_${debug_or_release}_${single_or_multi})
+ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname})
+ set_tests_properties(${testname}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${testname}")
+
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/tools/tool-a/CMakeLists.txt b/tools/build/CMake/test/tools/tool-a/CMakeLists.txt
new file mode 100644
index 0000000..f166947
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-a/CMakeLists.txt
@@ -0,0 +1,36 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_tool_project(tool-a
+ DESCRIPTION "tool-a"
+ AUTHORS "author-a"
+ )
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(typestring ${shared_or_static}-${debug_or_release}-${single_or_multi})
+ boost_add_executable(tool-a-${typestring}
+
+ main.cpp
+
+ DEPENDS a
+
+ ${shared_or_static}
+ ${debug_or_release}
+ ${single_or_multi}
+ )
+
+ add_test(tool-a-${typestring} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tool-a-${typestring})
+ set_tests_properties(tool-a-${typestring}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION tool-a-${typestring})
+
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/tools/tool-a/main.cpp b/tools/build/CMake/test/tools/tool-a/main.cpp
new file mode 100644
index 0000000..9f77432
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-a/main.cpp
@@ -0,0 +1,11 @@
+#include <selftest_report.hpp>
+#include <string>
+#include <iostream>
+
+int main(int argc, char** argv)
+{
+ std::cout << "tool-a-"
+ << shared_or_static() << "-"
+ << debug_or_release() << "-"
+ << single_or_multi() << "\n";
+}
diff --git a/tools/build/CMake/test/tools/tool-a/module.cmake b/tools/build/CMake/test/tools/tool-a/module.cmake
new file mode 100644
index 0000000..9a50a96
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-a/module.cmake
@@ -0,0 +1 @@
+boost_module(system DEPENDS utility)
\ No newline at end of file
diff --git a/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt b/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt
new file mode 100644
index 0000000..f388dfd
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt
@@ -0,0 +1,36 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_library(a
+
+ lib.cpp
+
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
+ )
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ boost_add_executable(${shared_or_static}-${debug_or_release}-${single_or_multi}
+
+ main.cpp
+
+ DEPENDS a
+
+ ${shared_or_static}
+ ${debug_or_release}
+ ${single_or_multi}
+ )
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/tools/tool-a/src/lib.cpp b/tools/build/CMake/test/tools/tool-a/src/lib.cpp
new file mode 100644
index 0000000..fa94b73
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-a/src/lib.cpp
@@ -0,0 +1,17 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+
+std::string shared_or_static()
+{
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
+}
+
+std::string debug_or_release()
+{
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
+}
+
+std::string single_or_multi()
+{
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
+}
diff --git a/tools/build/CMake/test/tools/tool-a/src/main.cpp b/tools/build/CMake/test/tools/tool-a/src/main.cpp
new file mode 100644
index 0000000..fba931b
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-a/src/main.cpp
@@ -0,0 +1,10 @@
+#include <selftest_report.hpp>
+#include <string>
+#include <iostream>
+
+int main(int argc, char** argv)
+{
+ std::cout << shared_or_static() << "-"
+ << debug_or_release() << "-"
+ << single_or_multi() << "\n";
+}
diff --git a/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt b/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt
new file mode 100644
index 0000000..8cf4423
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt
@@ -0,0 +1,21 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi})
+ add_test(a-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/a-${testname})
+ set_tests_properties(a-${testname}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${testname}")
+
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/build/CMake/test/tools/tool-b/CMakeLists.txt b/tools/build/CMake/test/tools/tool-b/CMakeLists.txt
new file mode 100644
index 0000000..316cea1
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-b/CMakeLists.txt
@@ -0,0 +1,35 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_tool_project(b
+ DESCRIPTION "tool-b"
+ AUTHORS "author-b"
+ )
+
+boost_add_executable(tool-b-SHARED-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-shared)
+boost_add_executable(tool-b-SHARED-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-shared)
+boost_add_executable(tool-b-STATIC-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-static)
+boost_add_executable(tool-b-STATIC-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-static)
+boost_add_executable(tool-b-SHARED-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-shared-debug)
+boost_add_executable(tool-b-SHARED-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-shared-debug)
+boost_add_executable(tool-b-STATIC-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-static-debug)
+boost_add_executable(tool-b-STATIC-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-static-debug)
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi})
+ add_test(tool-b-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tool-b-${testname})
+ set_tests_properties(tool-b-${testname}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${testname}")
+
+ endforeach()
+ endforeach()
+endforeach()
+
+
diff --git a/tools/build/CMake/test/tools/tool-b/main.cpp b/tools/build/CMake/test/tools/tool-b/main.cpp
new file mode 100644
index 0000000..fba931b
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-b/main.cpp
@@ -0,0 +1,10 @@
+#include <selftest_report.hpp>
+#include <string>
+#include <iostream>
+
+int main(int argc, char** argv)
+{
+ std::cout << shared_or_static() << "-"
+ << debug_or_release() << "-"
+ << single_or_multi() << "\n";
+}
diff --git a/tools/build/CMake/test/tools/tool-b/module.cmake b/tools/build/CMake/test/tools/tool-b/module.cmake
new file mode 100644
index 0000000..98cf7c2
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-b/module.cmake
@@ -0,0 +1 @@
+boost_module(b DEPENDS a)
\ No newline at end of file
diff --git a/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt b/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt
new file mode 100644
index 0000000..0954efc
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_add_library(b
+
+ lib.cpp
+
+ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED"
+ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC"
+ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG"
+ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE"
+ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED"
+ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED"
+ )
+
+boost_add_executable(SHARED-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-shared)
+boost_add_executable(SHARED-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-shared)
+boost_add_executable(STATIC-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-static)
+boost_add_executable(STATIC-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-static)
+boost_add_executable(SHARED-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-shared-debug)
+boost_add_executable(SHARED-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-shared-debug)
+boost_add_executable(STATIC-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-static-debug)
+boost_add_executable(STATIC-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-static-debug)
+
+
diff --git a/tools/build/CMake/test/tools/tool-b/src/lib.cpp b/tools/build/CMake/test/tools/tool-b/src/lib.cpp
new file mode 100644
index 0000000..fa94b73
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-b/src/lib.cpp
@@ -0,0 +1,17 @@
+#include <boost/preprocessor/stringize.hpp>
+#include <string>
+
+std::string shared_or_static()
+{
+ return std::string(BOOST_PP_STRINGIZE(SHARED_OR_STATIC));
+}
+
+std::string debug_or_release()
+{
+ return std::string(BOOST_PP_STRINGIZE(DEBUG_OR_RELEASE));
+}
+
+std::string single_or_multi()
+{
+ return std::string(BOOST_PP_STRINGIZE(SINGLE_OR_MULTI));
+}
diff --git a/tools/build/CMake/test/tools/tool-b/src/main.cpp b/tools/build/CMake/test/tools/tool-b/src/main.cpp
new file mode 100644
index 0000000..fba931b
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-b/src/main.cpp
@@ -0,0 +1,10 @@
+#include <selftest_report.hpp>
+#include <string>
+#include <iostream>
+
+int main(int argc, char** argv)
+{
+ std::cout << shared_or_static() << "-"
+ << debug_or_release() << "-"
+ << single_or_multi() << "\n";
+}
diff --git a/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt b/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt
new file mode 100644
index 0000000..f16f25b
--- /dev/null
+++ b/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt
@@ -0,0 +1,21 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+foreach(shared_or_static SHARED STATIC)
+ foreach(debug_or_release DEBUG RELEASE)
+ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED)
+
+ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi})
+ add_test(b-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/b-${testname})
+ set_tests_properties(b-${testname}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${testname}")
+
+ endforeach()
+ endforeach()
+endforeach()
+
diff --git a/tools/inspect/CMakeLists.txt b/tools/inspect/CMakeLists.txt
new file mode 100644
index 0000000..e0a10bb
--- /dev/null
+++ b/tools/inspect/CMakeLists.txt
@@ -0,0 +1,20 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_tool_project(Inspect
+ DESCRIPTION "Boost inspector tool")
+
+boost_tool_dependencies(BOOST_DEPENDS filesystem system regex test)
+
+boost_add_executable(inspect
+
+ inspect.cpp license_check.cpp
+ link_check.cpp path_name_check.cpp tab_check.cpp crlf_check.cpp
+ end_check.cpp unnamed_namespace_check.cpp ascii_check.cpp
+ copyright_check.cpp minmax_check.cpp
+
+ DEPENDS boost_filesystem boost_system boost_regex
+ )
diff --git a/tools/quickbook/CMakeLists.txt b/tools/quickbook/CMakeLists.txt
new file mode 100644
index 0000000..2b2b8aa
--- /dev/null
+++ b/tools/quickbook/CMakeLists.txt
@@ -0,0 +1,33 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+boost_tool_project(Quickbook
+ DESCRIPTION "A WikiWiki style documentation tool geared towards C++ documentation"
+ AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
+ "Eric Niebler <eric -at- boost-consulting.com>")
+
+if (MSVC)
+ add_definitions(/wd4511 /wd4512 /wd4701 /wd4702 /wd4244 /wd4267 /wd4800)
+endif (MSVC)
+
+boost_add_executable(quickbook
+
+ detail/quickbook.cpp
+ detail/actions.cpp
+ detail/actions_class.cpp
+ detail/utils.cpp
+ detail/post_process.cpp
+ detail/collector.cpp
+ detail/input_path.cpp
+ detail/template_stack.cpp
+ detail/markups.cpp
+
+ DEPENDS boost_program_options boost_filesystem
+ MULTI_THREADED
+ SHARED
+ RELEASE
+ )
+
diff --git a/tools/wave/CMakeLists.txt b/tools/wave/CMakeLists.txt
new file mode 100644
index 0000000..cf0c4da
--- /dev/null
+++ b/tools/wave/CMakeLists.txt
@@ -0,0 +1,22 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# DPG: tools need modular dependencies just like libraries have
+# them. For now, we just include the appropriate directories.
+
+boost_tool_project(Wave
+ DESCRIPTION "Boost wave, the C preprocessor")
+
+boost_add_executable(wave
+
+ cpp.cpp
+
+ DEPENDS boost_wave boost_program_options boost_filesystem boost_serialization
+
+ MULTI_THREADED
+ SHARED
+ RELEASE
+ )