Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r52866 - in trunk: . libs/circular_buffer libs/program_options libs/program_options/test libs/python libs/python/test libs/regex libs/serialization/test libs/units/test tools/build/CMake tools/build/CMake/LinkTest tools/build/CMake/sanity tools/build/CMake/sanity/one_clean_one_warn tools/build/CMake/sanity/one_clean_one_warn/src tools/build/CMake/sanity/one_clean_one_warn/test tools/build/CMake/sanity/wont_link tools/build/CMake/sanity/wont_link/src tools/build/CMake/sanity/wont_link/test
From: troy_at_[hidden]
Date: 2009-05-09 18:57:35


Author: troy
Date: 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
New Revision: 52866
URL: http://svn.boost.org/trac/boost/changeset/52866

Log:
Merge cmake files release -> trunk.
Added:
   trunk/CTestConfig.cmake (contents, props changed)
Removed:
   trunk/tools/build/CMake/BoostBuildSlave.cmake
   trunk/tools/build/CMake/boost_build_slave.py.in
   trunk/tools/build/CMake/classify.py.in
   trunk/tools/build/CMake/finish.py.in
   trunk/tools/build/CMake/info.py.in
   trunk/tools/build/CMake/marshal.py.in
   trunk/tools/build/CMake/passthru.py.in
   trunk/tools/build/CMake/post.py.in
   trunk/tools/build/CMake/run_continuous_slave.py.in
   trunk/tools/build/CMake/sanity/CMakeLists.txt
   trunk/tools/build/CMake/sanity/one_clean_one_warn/CMakeLists.txt
   trunk/tools/build/CMake/sanity/one_clean_one_warn/src/CMakeLists.txt
   trunk/tools/build/CMake/sanity/one_clean_one_warn/src/green.cpp
   trunk/tools/build/CMake/sanity/one_clean_one_warn/src/warn.cpp
   trunk/tools/build/CMake/sanity/one_clean_one_warn/test/CMakeLists.txt
   trunk/tools/build/CMake/sanity/one_clean_one_warn/test/times_out.cpp
   trunk/tools/build/CMake/sanity/wont_link/CMakeLists.txt
   trunk/tools/build/CMake/sanity/wont_link/src/CMakeLists.txt
   trunk/tools/build/CMake/sanity/wont_link/src/compiles_nowarn.cpp
   trunk/tools/build/CMake/sanity/wont_link/test/CMakeLists.txt
   trunk/tools/build/CMake/sanity/wont_link/test/link_error.cpp
   trunk/tools/build/CMake/start.py.in
   trunk/tools/build/CMake/unix_kill.py.in
   trunk/tools/build/CMake/windows_kill.py.in
Text files modified:
   trunk/CMakeLists.txt | 4
   trunk/libs/circular_buffer/module.cmake | 2
   trunk/libs/program_options/module.cmake | 4
   trunk/libs/program_options/test/CMakeLists.txt | 18 ++
   trunk/libs/python/CMakeLists.txt | 35 +---
   trunk/libs/python/test/CMakeLists.txt | 15 +
   trunk/libs/regex/module.cmake | 2
   trunk/libs/serialization/test/CMakeLists.txt | 3
   trunk/libs/units/test/CMakeLists.txt | 2
   trunk/tools/build/CMake/BoostCore.cmake | 281 +++++++++++++++++++++++----------------
   trunk/tools/build/CMake/BoostTesting.cmake | 163 +++++++---------------
   trunk/tools/build/CMake/LinkTest/CMakeLists.txt | 6
   12 files changed, 268 insertions(+), 267 deletions(-)

Modified: trunk/CMakeLists.txt
==============================================================================
--- trunk/CMakeLists.txt (original)
+++ trunk/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -77,9 +77,9 @@
 list(APPEND CMAKE_MODULE_PATH ${Boost_SOURCE_DIR}/tools/build/CMake)
 include(BoostUtils)
 include(BoostConfig)
-include(BoostBuildSlave)
 include(BoostCore)
 include(BoostDocs)
+include(CTest)
 include(BoostTesting)
 ##########################################################################
 
@@ -262,7 +262,7 @@
 add_subdirectory(doc)
 
 # Add build rules for all of the Boost libraries
-add_subdirectory(${BOOST_LIBS_DIR})
+add_subdirectory(libs)
 
 # Add build rules for all of the Boost tools
 # TODO: On hold while I work on the modularity code

Added: trunk/CTestConfig.cmake
==============================================================================
--- (empty file)
+++ trunk/CTestConfig.cmake 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -0,0 +1,13 @@
+## 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.
+## # The following are required to uses Dart and the Cdash dashboard
+## ENABLE_TESTING()
+## INCLUDE(CTest)
+set(CTEST_PROJECT_NAME "Boost")
+set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDashPublic/submit.php?project=Boost")
+set(CTEST_DROP_SITE_CDASH TRUE)

Modified: trunk/libs/circular_buffer/module.cmake
==============================================================================
--- trunk/libs/circular_buffer/module.cmake (original)
+++ trunk/libs/circular_buffer/module.cmake 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -1 +1 @@
-boost_module (circular_buffer DEPENDS config)
\ No newline at end of file
+boost_module (circular_buffer DEPENDS config thread)
\ No newline at end of file

Modified: trunk/libs/program_options/module.cmake
==============================================================================
--- trunk/libs/program_options/module.cmake (original)
+++ trunk/libs/program_options/module.cmake 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -1,3 +1 @@
-boost_module(program_options DEPENDS any bind smart_ptr tokenizer)
-
-# bind is needed because of a dependency on boost/mem_fn.hpp
+boost_module(program_options DEPENDS any bind smart_ptr test tokenizer)

Modified: trunk/libs/program_options/test/CMakeLists.txt
==============================================================================
--- trunk/libs/program_options/test/CMakeLists.txt (original)
+++ trunk/libs/program_options/test/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -4,12 +4,24 @@
   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}
- DEPENDS boost_program_options boost_test_exec_monitor STATIC)
+ STATIC
+ DEPENDS boost_program_options boost_test_exec_monitor )
   boost_test_run("${TESTNAME}_dll"
- "${TESTNAME}.cpp"
- DEPENDS boost_program_options boost_test_exec_monitor-static SHARED)
+ ${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)

Modified: trunk/libs/python/CMakeLists.txt
==============================================================================
--- trunk/libs/python/CMakeLists.txt (original)
+++ trunk/libs/python/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -40,32 +40,15 @@
       ""
       ${ARGN})
       
- # Create the library target itself
- add_library(${MODULE_NAME} MODULE ${BPL_EXT_DEFAULT_ARGS})
-
- # Link against Boost.Python library
- target_link_libraries(${MODULE_NAME} boost_python-mt-shared)
-
- # Link against Python libraries
- target_link_libraries(${MODULE_NAME} ${PYTHON_LIBRARIES})
-
- # boost_add_library(
- # ${MODULE_NAME}
- # ${BPL_EXT_DEFAULT_ARGS}
- # MODULE
- # LINK_LIBS ${PYTHON_LIBRARIES}
- # DEPENDS boost_python
- # NO_STATIC
- # NO_SINGLE_THREADED
- # )
-
- set_target_properties(${MODULE_NAME}
- PROPERTIES
- PREFIX ""
- OUTPUT_NAME ${MODULE_NAME}
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/test
- )
-
+ boost_add_single_library(
+ ${MODULE_NAME}
+ ${BPL_EXT_DEFAULT_ARGS}
+ MODULE
+ LINK_LIBS ${PYTHON_LIBRARIES}
+ DEPENDS boost_python
+ SHARED
+ )
+
   endmacro(boost_python_extension)
 #--
 ################################################################################

Modified: trunk/libs/python/test/CMakeLists.txt
==============================================================================
--- trunk/libs/python/test/CMakeLists.txt (original)
+++ trunk/libs/python/test/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -36,12 +36,21 @@
   set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE})
     
   # Run the test itself
- file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/test" PYTHONPATH)
+ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH)
   if(WIN32 AND NOT UNIX)
     string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}")
   endif(WIN32 AND NOT UNIX)
-
- add_test("Python::${TESTNAME}" ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py ${PYTHONPATH} ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS})
+ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME})
+ add_test(${FULL_TESTNAME}
+ ${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)

Modified: trunk/libs/regex/module.cmake
==============================================================================
--- trunk/libs/regex/module.cmake (original)
+++ trunk/libs/regex/module.cmake 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -1 +1 @@
-boost_module(regex DEPENDS date_time)
\ No newline at end of file
+boost_module(regex DEPENDS date_time thread)
\ No newline at end of file

Modified: trunk/libs/serialization/test/CMakeLists.txt
==============================================================================
--- trunk/libs/serialization/test/CMakeLists.txt (original)
+++ trunk/libs/serialization/test/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -111,7 +111,8 @@
 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)
+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)

Modified: trunk/libs/units/test/CMakeLists.txt
==============================================================================
--- trunk/libs/units/test/CMakeLists.txt (original)
+++ trunk/libs/units/test/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -18,7 +18,6 @@
   test_implicit_conversion
   test_quantity
   test_unit
- test_conversion
   test_base_dimension
   test_absolute
   test_default_conversion
@@ -33,6 +32,7 @@
   boost_test_run(${R})
 endforeach(R ${RUN_TESTS})
 
+boost_test_run(test_conversion DEPENDS boost_unit_test_framework)
 boost_test_run(test_scaled_unit DEPENDS boost_unit_test_framework)
 
 

Deleted: trunk/tools/build/CMake/BoostBuildSlave.cmake
==============================================================================
--- trunk/tools/build/CMake/BoostBuildSlave.cmake 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,157 +0,0 @@
-##########################################################################
-# Boost Build Slave Support #
-##########################################################################
-# Copyright (C) 2008 Troy D. Straszheim #
-# #
-# Distributed under the Boost Software License, Version 1.0. #
-# See accompanying file LICENSE_1_0.txt or copy at #
-# http://www.boost.org/LICENSE_1_0.txt #
-##########################################################################
-option(BOOST_BUILD_SLAVE "Be a build slave, report build/testing" OFF)
-
-file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}" BOOST_BUILD_SLAVE_PYTHONPATH)
-
-if(BOOST_BUILD_SLAVE)
- set(BOOST_BUILD_SLAVE_SUBMIT_URL "http://boost:boost@boost.resophonic.com/trac/login/xmlrpc"
- CACHE STRING "URL to post regression testing results to.")
-
- file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}" BOOST_BUILD_SLAVE_PYTHONPATH)
-
- set(BOOST_BUILD_SLAVE_TIMEOUT 300
- CACHE STRING "Seconds until build slave times out any individual build step")
-
- set(BOOST_BUILD_SLAVE_DETAILS_FILE "slave-description.txt"
- CACHE FILEPATH "Path to file, absolute or relative to build directory, containing descriptive text about the build (configuration peculiarities, etc) to be reported to the server")
-
- set(BOOST_BUILD_SLAVE_CONTACT_INFO "buildmeister_at_[hidden]"
- CACHE STRING "Contact information regarding this build")
-
- set(BOOST_BUILD_SLAVE_HOSTNAME ""
- CACHE STRING "If set, don't report what python determines to be the FQDN of this host, report this string instead.")
-
- set(BOOST_BUILD_SLAVE_SLEEP_DURATION "60"
- CACHE STRING "Number of seconds to sleep between checks for updates from the repository.")
-
-endif(BOOST_BUILD_SLAVE)
-
-message(STATUS "Configuring test/compile drivers")
-
-if(CMAKE_VERBOSE_MAKEFILE)
- set(BOOST_DRIVER_VERBOSE True)
-else(CMAKE_VERBOSE_MAKEFILE)
- set(BOOST_DRIVER_VERBOSE False)
-endif(CMAKE_VERBOSE_MAKEFILE)
-
-#
-# the programs that do the dirty work.
-#
-foreach(PYFILE boost_build_slave passthru marshal start finish info post classify)
- configure_file(tools/build/CMake/${PYFILE}.py.in
- ${BOOST_BUILD_SLAVE_PYTHONPATH}/${PYFILE}.py
- @ONLY
- )
-endforeach()
-
-if(WIN32)
- configure_file(tools/build/CMake/windows_kill.py.in
- ${BOOST_BUILD_SLAVE_PYTHONPATH}/kill_subprocess.py
- COPYONLY
- )
-else(WIN32)
- configure_file(tools/build/CMake/unix_kill.py.in
- ${BOOST_BUILD_SLAVE_PYTHONPATH}/kill_subprocess.py
- COPYONLY
- )
-endif(WIN32)
-
-
-#
-# the test driver is either marshal or passthru depending on whether
-# you're in build slave mode or not. The compilation/link rules
-# aren't modified if you're not in slave mode, BUUUT the tests still
-# need a driver script that knows whether to expect failure or not
-# and 'flips' the return status accordingly: thus passthru.py.
-#
-if(BOOST_BUILD_SLAVE)
- file(TO_NATIVE_PATH ${BOOST_BUILD_SLAVE_PYTHONPATH}/marshal.py BOOST_TEST_DRIVER)
-
- configure_file(tools/build/CMake/run_continuous_slave.py.in
- ${CMAKE_BINARY_DIR}/run_continuous_slave.py
- @ONLY
- )
-
-else(BOOST_BUILD_SLAVE)
- file(TO_NATIVE_PATH ${BOOST_BUILD_SLAVE_PYTHONPATH}/passthru.py BOOST_TEST_DRIVER)
-endif(BOOST_BUILD_SLAVE)
-
-if(BOOST_BUILD_SLAVE)
- #
- # Redirect various build steps
- #
-
- set(CMAKE_CXX_COMPILE_OBJECT
- "\"${PYTHON_EXECUTABLE}\" \"${BOOST_TEST_DRIVER}\" <CMAKE_CURRENT_BINARY_DIR> cxx_compile_object <OBJECT> ${CMAKE_CXX_COMPILE_OBJECT}" )
-
- set(CMAKE_CXX_CREATE_SHARED_LIBRARY
- "\"${PYTHON_EXECUTABLE}\" \"${BOOST_TEST_DRIVER}\" <CMAKE_CURRENT_BINARY_DIR> create_shared_library <TARGET> ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
-
- set(CMAKE_CXX_CREATE_STATIC_LIBRARY
- "\"${PYTHON_EXECUTABLE}\" \"${BOOST_TEST_DRIVER}\" <CMAKE_CURRENT_BINARY_DIR> create_static_library <TARGET> ${CMAKE_CXX_CREATE_STATIC_LIBRARY}")
-
- set(CMAKE_CXX_LINK_EXECUTABLE
- "\"${PYTHON_EXECUTABLE}\" \"${BOOST_TEST_DRIVER}\" <CMAKE_CURRENT_BINARY_DIR> link_executable <TARGET> ${CMAKE_CXX_LINK_EXECUTABLE}")
-
- #
- # Custom targets for talking to the server via xmlrpc
- #
-
-
- #
- # Get us a new build id from the server
- #
- file(TO_NATIVE_PATH ${BOOST_BUILD_SLAVE_PYTHONPATH}/start.py
- BOOST_BUILD_SLAVE_START_PY)
- add_custom_target(slave-start
- COMMAND ${PYTHON_EXECUTABLE} ${BOOST_BUILD_SLAVE_START_PY}
- COMMENT "Slave starting build"
- )
-
- #
- # Tell server we're done... it'll update finish time in the db.
- #
- file(TO_NATIVE_PATH ${BOOST_BUILD_SLAVE_PYTHONPATH}/finish.py
- BOOST_BUILD_SLAVE_FINISH_PY)
- add_custom_target(slave-finish
- COMMAND ${PYTHON_EXECUTABLE} ${BOOST_BUILD_SLAVE_FINISH_PY}
- COMMENT "Slave finishing build"
- )
- #
-
- # Local only: show what we report to server (our platform description, toolset, etc)
- #
- file(TO_NATIVE_PATH ${BOOST_BUILD_SLAVE_PYTHONPATH}/info.py
- BOOST_BUILD_SLAVE_INFO_PY)
- add_custom_target(slave-info
- COMMAND ${PYTHON_EXECUTABLE} ${BOOST_BUILD_SLAVE_INFO_PY}
- COMMENT "Print slave info"
- )
-endif(BOOST_BUILD_SLAVE)
-
-#
-# Used over in BoostTesting and BoostCore to attach xmlrpc submission rules
-# to various intermediate build targets (libraries, test suites)
-#
-
-file(TO_NATIVE_PATH ${BOOST_BUILD_SLAVE_PYTHONPATH}/post.py
- BOOST_BUILD_SLAVE_POST_PY)
-macro(boost_post_results PROJECT_NAME_ PARENT_TARGET BUILD_OR_TEST LOGDIR)
- if(BOOST_BUILD_SLAVE)
- add_custom_command(TARGET ${PARENT_TARGET}
- POST_BUILD
- COMMAND ${PYTHON_EXECUTABLE} ${BOOST_BUILD_SLAVE_POST_PY} ${PROJECT_NAME_} ${PARENT_TARGET} ${BUILD_OR_TEST} ${LOGDIR}
- COMMENT "Submitting results for '${BUILD_OR_TEST}' of ${PARENT_TARGET} in ${PROJECT_NAME_}"
- )
- set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${LOGDIR}/Log.marshal)
- add_dependencies(test ${PARENT_TARGET})
- endif(BOOST_BUILD_SLAVE)
-endmacro(boost_post_results PARENT_TARGET)

Modified: trunk/tools/build/CMake/BoostCore.cmake
==============================================================================
--- trunk/tools/build/CMake/BoostCore.cmake (original)
+++ trunk/tools/build/CMake/BoostCore.cmake 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -313,23 +313,24 @@
 
     if(BUILD_TESTING AND THIS_PROJECT_TESTDIRS)
       # Testing is enabled globally and this project has some
- # tests. So, include the tests
- add_custom_target(${PROJECT_NAME}-test)
-
- add_dependencies(test ${PROJECT_NAME}-test)
-
- # the last argument here, the binary directory that the
- # logs are in, has to match the binary directory
- # passed to 'add_subdirectory', in the foreach() just below
- boost_post_results(${PROJECT_NAME} ${PROJECT_NAME}-test
- test
- ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-test
- )
+ # tests. Check whether we should include these tests.
+ if (BOOST_TEST_LIBRARIES)
+ set(SAVED_TESTDIRS ${THIS_PROJECT_TESTDIRS})
+ set(THIS_PROJECT_TESTDIRS)
+ foreach (TESTLIB ${BOOST_TEST_LIBRARIES})
+ if (${TESTLIB} STREQUAL ${libname})
+ # We are allowed to test this library; restore the set of
+ # test directories for this library.
+ set(THIS_PROJECT_TESTDIRS ${SAVED_TESTDIRS})
+ endif()
+ endforeach ()
+ endif()
 
+ # Include the test directories.
       foreach(SUBDIR ${THIS_PROJECT_TESTDIRS})
- add_subdirectory(${SUBDIR} ${PROJECT_NAME}-test)
+ add_subdirectory(${SUBDIR})
       endforeach()
- endif(BUILD_TESTING AND THIS_PROJECT_TESTDIRS)
+ endif()
 
     if (BUILD_DOCUMENTATION AND THIS_PROJECT_DOCDIRS)
       foreach(SUBDIR ${THIS_PROJECT_DOCDIRS})
@@ -647,7 +648,6 @@
   boost_feature_interactions("THIS_VARIANT" ${ARGN})
 
   if (THIS_VARIANT_OKAY)
-
     # Determine the suffix for this library target
     boost_library_variant_target_name(${ARGN})
     set(VARIANT_LIBNAME "${LIBNAME}${VARIANT_TARGET_NAME}")
@@ -683,6 +683,7 @@
         CLEAN_DIRECT_OUTPUT 1
         COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
         LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
+ LABELS "${PROJECT_NAME}"
         )
     elseif (THIS_LIB_MODULE)
       # Add a module
@@ -691,10 +692,12 @@
       # Set properties on this library
       set_target_properties(${VARIANT_LIBNAME}
         PROPERTIES
- OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}"
+ OUTPUT_NAME ${LIBNAME}
         CLEAN_DIRECT_OUTPUT 1
         COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
         LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
+ LABELS "${PROJECT_NAME}"
+ PREFIX ""
        # SOVERSION "${BOOST_VERSION}"
         )
     else (THIS_LIB_IS_STATIC)
@@ -708,6 +711,7 @@
         CLEAN_DIRECT_OUTPUT 1
         COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}"
         LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}"
+ LABELS "${PROJECT_NAME}"
         # SOVERSION "${BOOST_VERSION}"
         )
     endif (THIS_LIB_IS_STATIC)
@@ -715,8 +719,6 @@
     # The basic LIBNAME target depends on each of the variants
     add_dependencies(${LIBNAME} ${VARIANT_LIBNAME})
     
- boost_post_results(${PROJECT_NAME} ${VARIANT_LIBNAME} build ${CMAKE_CURRENT_BINARY_DIR})
-
     # Link against whatever libraries this library depends on
     target_link_libraries(${VARIANT_LIBNAME} ${THIS_VARIANT_LINK_LIBS})
     foreach(dependency ${THIS_LIB_DEPENDS})
@@ -764,7 +766,7 @@
           DEPENDS ${THIS_LIB_COMPONENT_DEPENDS})
       endif ()
     endif(NOT THIS_LIB_NO_INSTALL)
- endif (THIS_VARIANT_OKAY)
+ endif ()
 endmacro(boost_library_variant)
 
 # Updates the set of default build variants to account for variations
@@ -816,13 +818,13 @@
 #
 # BOOST_ADDLIB_OPTION_NAMES:
 # Like BOOST_ADD_ARG_NAMES, this variable describes
-# feature-specific options to boost_library that can be used to
+# 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, execept that that variable
+# 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
@@ -911,6 +913,116 @@
   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(${PREFIX}_VARIANT)
+
+ foreach(FEATURESET_STR ${BOOST_FEATURES})
+ string(REPLACE ":" ";" FEATURESET ${FEATURESET_STR})
+ separate_arguments(FEATURESET)
+ set(${PREFIX}_REQUESTED_FROM_SET FALSE)
+ foreach (FEATURE ${FEATURESET})
+ if (${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 BUILD_${FEATURE})
+ set(SELECT_VARIANT_OKAY FALSE)
+ message(STATUS "* ${NAME} is NOT being built because BUILD_${FEATURE} is FALSE")
+ endif (NOT BUILD_${FEATURE})
+ endif (${PREFIX}_${FEATURE})
+ endforeach (FEATURE ${FEATURESET})
+
+ 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)
+
+ # 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")
+ if (CMAKE_CONFIGURATION_TYPES)
+ # IDE target: can we build both debug and release?
+ if (BUILD_DEBUG AND BUILD_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 (CMAKE_CONFIGURATION_TYPES)
+ # Makefile target: CMAKE_BUILD_TYPE tells us which variant to build
+ if (CMAKE_BUILD_TYPE STREQUAL "Release")
+ # Okay, build the release variant
+ list(APPEND ${PREFIX}_VARIANT RELEASE)
+ set(${PREFIX}_FOUND_FEATURE TRUE)
+ elseif (CMAKE_BUILD_TYPE STREQUAL "Debug")
+ # Okay, build the debug variant
+ list(APPEND ${PREFIX}_VARIANT DEBUG)
+ set(${PREFIX}_FOUND_FEATURE TRUE)
+ endif (CMAKE_BUILD_TYPE STREQUAL "Release")
+ endif (CMAKE_CONFIGURATION_TYPES)
+ endif (FEATURESET_STR STREQUAL "RELEASE:DEBUG")
+
+ # Search through all of the features in the set to find one that works
+ foreach (FEATURE ${FEATURESET})
+ # We only care about the first feature value we find...
+ if (NOT ${PREFIX}_FOUND_FEATURE)
+ # Are we allowed to build this feature?
+ if (BUILD_${FEATURE})
+ # Found it: we're done
+ list(APPEND ${PREFIX}_VARIANT ${FEATURE})
+ set(${PREFIX}_FOUND_FEATURE TRUE)
+ endif (BUILD_${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)
+ 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
@@ -1087,10 +1199,32 @@
   if (THIS_LIB_FORCE_VARIANTS)
     set(BUILD_${THIS_LIB_FORCE_VARIANTS} ${BUILD_${THIS_LIB_FORCE_VARIANTS}_PREV} )
    # message(STATUS "* ^^ BUILD_${THIS_LIB_FORCE_VARIANTS} ${BUILD_${THIS_LIB_FORCE_VARIANTS}}")
- endif (THIS_LIB_FORCE_VARIANTS)
-
+ endif (THIS_LIB_FORCE_VARIANTS)
 endmacro(boost_add_library)
 
+# 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})
+
+ string(TOUPPER "${LIBNAME}_COMPILED_LIB" compiled_lib)
+ set (${compiled_lib} TRUE CACHE INTERNAL "")
+
+ if (NOT TEST_INSTALLED_TREE)
+ boost_select_variant(${LIBNAME} THIS_LIB)
+ if (THIS_LIB_VARIANT)
+ add_custom_target(${LIBNAME})
+ separate_arguments(THIS_LIB_VARIANT)
+ boost_library_variant(${LIBNAME} ${THIS_LIB_VARIANT})
+ endif ()
+ endif (NOT TEST_INSTALLED_TREE)
+endmacro(boost_add_single_library)
+
 # Creates a new executable from source files.
 #
 # boost_add_executable(exename
@@ -1201,101 +1335,13 @@
   # Compute the variant that will be used to build this executable,
   # taking into account both the requested features passed to
   # boost_add_executable and what options the user has set.
- set(THIS_EXE_OKAY TRUE)
- set(THIS_EXE_VARIANT)
+ boost_select_variant(${EXENAME} THIS_EXE)
 
- foreach(FEATURESET_STR ${BOOST_FEATURES})
- string(REPLACE ":" ";" FEATURESET ${FEATURESET_STR})
- separate_arguments(FEATURESET)
- set(THIS_EXE_REQUESTED_FROM_SET FALSE)
- foreach (FEATURE ${FEATURESET})
- if (THIS_EXE_${FEATURE})
- # Make this feature part of the variant
- list(APPEND THIS_EXE_VARIANT ${FEATURE})
- set(THIS_EXE_REQUESTED_FROM_SET TRUE)
+ set(THIS_EXE_OKAY FALSE)
+ if (THIS_EXE_VARIANT)
+ # It's okay to build this executable
+ set(THIS_EXE_OKAY TRUE)
 
- # The caller has requested this particular feature be used
- # when building the executable. If we can't satisfy that
- # request (because the user has turned off the build variants
- # with that feature), then we won't build this executable.
- if (NOT BUILD_${FEATURE})
- set(THIS_EXE_OKAY FALSE)
- message(STATUS "* ${EXENAME} is NOT being built because BUILD_${FEATURE} is FALSE")
- endif (NOT BUILD_${FEATURE})
- endif (THIS_EXE_${FEATURE})
- endforeach (FEATURE ${FEATURESET})
-
- if (NOT THIS_EXE_REQUESTED_FROM_SET)
- # The caller did not specify which feature value to use from
- # this set, so find the first feature value that actually works.
- set(THIS_EXE_FOUND_FEATURE FALSE)
-
- # If this feature set decides between Release and Debug, we
- # either query CMAKE_BUILD_TYPE to determine which to use (for
- # makefile targets) or handle both variants separately (for IDE
- # targets).
- if (FEATURESET_STR STREQUAL "RELEASE:DEBUG")
- if (CMAKE_CONFIGURATION_TYPES)
- # IDE target: can we build both debug and release?
- if (BUILD_DEBUG AND BUILD_RELEASE)
- # Remember that we're capable of building both configurations
- set(THIS_EXE_DEBUG_AND_RELEASE TRUE)
-
- # Don't add RELEASE or DEBUG to the variant (yet)
- set(THIS_EXE_FOUND_FEATURE TRUE)
- endif (BUILD_DEBUG AND BUILD_RELEASE)
- else (CMAKE_CONFIGURATION_TYPES)
- # Makefile target: CMAKE_BUILD_TYPE tells us which variant to build
- if (CMAKE_BUILD_TYPE STREQUAL "Release")
- # Okay, build the release variant
- list(APPEND THIS_EXE_VARIANT RELEASE)
- set(THIS_EXE_FOUND_FEATURE TRUE)
- elseif (CMAKE_BUILD_TYPE STREQUAL "Debug")
- # Okay, build the debug variant
- list(APPEND THIS_EXE_VARIANT DEBUG)
- set(THIS_EXE_FOUND_FEATURE TRUE)
- endif (CMAKE_BUILD_TYPE STREQUAL "Release")
- endif (CMAKE_CONFIGURATION_TYPES)
- endif (FEATURESET_STR STREQUAL "RELEASE:DEBUG")
-
- # Search through all of the features in the set to find one that works
- foreach (FEATURE ${FEATURESET})
- # We only care about the first feature value we find...
- if (NOT THIS_EXE_FOUND_FEATURE)
- # Are we allowed to build this feature?
- if (BUILD_${FEATURE})
- # Found it: we're done
- list(APPEND THIS_EXE_VARIANT ${FEATURE})
- set(THIS_EXE_FOUND_FEATURE TRUE)
- endif (BUILD_${FEATURE})
- endif (NOT THIS_EXE_FOUND_FEATURE)
- endforeach (FEATURE ${FEATURESET})
-
- if (NOT THIS_EXE_FOUND_FEATURE)
- # All of the features in this set were turned off.
- # Just don't build anything.
- set(THIS_EXE_OKAY FALSE)
- endif (NOT THIS_EXE_FOUND_FEATURE)
- endif (NOT THIS_EXE_REQUESTED_FROM_SET)
- endforeach(FEATURESET_STR ${BOOST_FEATURES})
-
- # Propagate flags from each of the features
- if (THIS_EXE_OKAY)
- foreach (FEATURE ${THIS_EXE_VARIANT})
- # Add all of the flags for this feature
- set(THIS_EXE_COMPILE_FLAGS
- "${THIS_EXE_COMPILE_FLAGS} ${THIS_EXE_${FEATURE}_COMPILE_FLAGS} ${${FEATURE}_COMPILE_FLAGS}")
- set(THIS_EXE_LINK_FLAGS
- "${THIS_EXE_LINK_FLAGS} ${THIS_EXE_${FEATURE}_LINK_FLAGS} ${${FEATURE}_LINK_FLAGS} ${${FEATURE}_EXE_LINK_FLAGS}")
- set(THIS_EXE_LINK_LIBS
- ${THIS_EXE_LINK_LIBS} ${THIS_EXE_${FEATURE}_LINK_LIBS} ${${FEATURE}_LINK_LIBS})
- endforeach (FEATURE ${THIS_EXE_VARIANT})
-
- # Handle feature interactions
- boost_feature_interactions("THIS_EXE" ${THIS_EXE_VARIANT})
- endif (THIS_EXE_OKAY)
-
- if (THIS_EXE_OKAY)
     # Compute the name of the variant targets that we'll be linking
     # against. We'll use this to link against the appropriate
     # dependencies. For IDE targets where we can build both debug and
@@ -1353,6 +1399,7 @@
       PROPERTIES
       COMPILE_FLAGS "${THIS_EXE_COMPILE_FLAGS}"
       LINK_FLAGS "${THIS_EXE_LINK_FLAGS}"
+ LABELS "${PROJECT_NAME}"
       )
 
     # For IDE generators where we can build both debug and release
@@ -1399,5 +1446,5 @@
     if (NOT THIS_EXE_NO_INSTALL)
       install(TARGETS ${THIS_EXE_NAME} DESTINATION bin)
     endif (NOT THIS_EXE_NO_INSTALL)
- endif (THIS_EXE_OKAY)
+ endif ()
 endmacro(boost_add_executable)

Modified: trunk/tools/build/CMake/BoostTesting.cmake
==============================================================================
--- trunk/tools/build/CMake/BoostTesting.cmake (original)
+++ trunk/tools/build/CMake/BoostTesting.cmake 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -40,26 +40,18 @@
 option(BUILD_TESTING "Enable testing" OFF)
 
 if (BUILD_TESTING)
- add_custom_target(test COMMENT "Running all tests")
+ enable_testing()
 
   option(TEST_INSTALLED_TREE "Enable testing of an already-installed tree" OFF)
 
+ set(BOOST_TEST_LIBRARIES ""
+ CACHE STRING "Semicolon-separated list of Boost libraries to test")
+
   if (TEST_INSTALLED_TREE)
     include("${CMAKE_INSTALL_PREFIX}/lib/Boost${BOOST_VERSION}/boost-targets.cmake")
   endif (TEST_INSTALLED_TREE)
 endif (BUILD_TESTING)
 
-option(BOOST_BUILD_SANITY_TEST
- "Don't build regular boost libraries, build libraries that test the boost cmake build system itself" OFF)
-
-if(BOOST_BUILD_SANITY_TEST)
- set(BOOST_LIBS_DIR ${CMAKE_SOURCE_DIR}/tools/build/CMake/sanity)
- configure_file(${CMAKE_SOURCE_DIR}/libs/CMakeLists.txt ${BOOST_LIBS_DIR}/CMakeLists.txt COPYONLY)
-else(BOOST_BUILD_SANITY_TEST)
- set(BOOST_LIBS_DIR ${CMAKE_SOURCE_DIR}/libs)
-endif(BOOST_BUILD_SANITY_TEST)
-
-
 #-------------------------------------------------------------------------------
 # This macro adds additional include directories based on the dependencies of
 # the library being tested 'libname' and all of its dependencies.
@@ -164,9 +156,6 @@
 # source files, BOOST_TEST_SOURCES will contain those; otherwise,
 # BOOST_TEST_SOURCES will only contain "testname.cpp".
 #
-# BOOST_TEST_TAG: compile, compile_fail, run, or run_fail.
-# Used in test-reporting systems.
-#
 # BOOST_TEST_TESTNAME: A (hopefully) globally unique target name
 # for the test, constructed from PROJECT-testname-TAG
 #
@@ -211,20 +200,7 @@
     set(BOOST_TEST_SOURCES "${testname}.cpp")
   endif (BOOST_TEST_DEFAULT_ARGS)
 
- #message("Sources: ${BOOST_TEST_SOURCES}")
- if (BOOST_TEST_RUN)
- set(BOOST_TEST_TAG "run")
- elseif(BOOST_TEST_COMPILE)
- set(BOOST_TEST_TAG "compile")
- elseif(BOOST_TEST_LINK)
- set(BOOST_TEST_TAG "link")
- endif(BOOST_TEST_RUN)
-
- if (BOOST_TEST_FAIL)
- set(BOOST_TEST_TAG ${BOOST_TEST_TAG}-fail)
- endif(BOOST_TEST_FAIL)
-
- set(BOOST_TEST_TESTNAME "${PROJECT_NAME}-${testname}-${BOOST_TEST_TAG}")
+ set(BOOST_TEST_TESTNAME "${PROJECT_NAME}-${testname}")
   #message("testname: ${BOOST_TEST_TESTNAME}")
   # If testing is turned off, this test is not okay
   if (NOT BUILD_TESTING)
@@ -295,33 +271,20 @@
       ${BOOST_TEST_EXTRA_OPTIONS})
 
     if (THIS_EXE_OKAY)
- # This target builds and runs the test
- add_custom_target(${BOOST_TEST_TESTNAME})
-
- file( TO_NATIVE_PATH "${BOOST_TEST_DRIVER}" NATIVE_BOOST_TEST_DRIVER )
-
- set(THIS_TEST_PREFIX_ARGS
- ${PYTHON_EXECUTABLE} ${NATIVE_BOOST_TEST_DRIVER}
- ${CMAKE_CURRENT_BINARY_DIR} ${BOOST_TEST_TAG} ${testname}
- )
-
- add_custom_command(TARGET ${BOOST_TEST_TESTNAME}
- POST_BUILD
- COMMAND
- ${THIS_TEST_PREFIX_ARGS}
- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname}
- ${BOOST_TEST_ARGS}
- COMMENT "${PROJECT_NAME} => Running '${testname}'"
- )
-
- add_dependencies(${BOOST_TEST_TESTNAME}
- ${PROJECT_NAME}-${testname}
- )
-
- add_dependencies(${PROJECT_NAME}-test
- ${BOOST_TEST_TESTNAME}
- )
-
+ get_target_property(THIS_TEST_OUTPUT_DIRECTORY ${testname}
+ RUNTIME_OUTPUT_DIRECTORY)
+ add_test (${BOOST_TEST_TESTNAME}
+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname}
+ ${BOOST_TEST_ARGS})
+
+ set_tests_properties(${BOOST_TEST_TESTNAME}
+ PROPERTIES
+ LABELS "${PROJECT_NAME}"
+ )
+
+ 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)
@@ -335,7 +298,6 @@
   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.
@@ -368,34 +330,31 @@
     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};-I${DIR}")
+ set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES};${DIR}")
     endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS})
 
- set(THIS_TEST_PREFIX_ARGS
- ${PYTHON_EXECUTABLE} ${BOOST_TEST_DRIVER} ${CMAKE_CURRENT_BINARY_DIR} ${BOOST_TEST_TAG} ${testname}
- )
-
- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BOOST_TEST_TESTNAME}.${CMAKE_CXX_OUTPUT_EXTENSION}
- COMMAND
- ${THIS_TEST_PREFIX_ARGS}
- ${CMAKE_CXX_COMPILER}
- ${BOOST_TEST_COMPILE_FLAGS}
- ${BOOST_TEST_INCLUDES}
- -c ${BOOST_TEST_SOURCES}
- -o ${CMAKE_CURRENT_BINARY_DIR}/${BOOST_TEST_TESTNAME}${CMAKE_CXX_OUTPUT_EXTENSION}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- DEPENDS ${BOOST_TEST_SOURCES}
- COMMENT "${PROJECT_NAME} => Running Compile ${test_pass} Test '${BOOST_TEST_SOURCES}'"
- )
-
- add_custom_target(${BOOST_TEST_TESTNAME}
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${BOOST_TEST_TESTNAME}.${CMAKE_CXX_OUTPUT_EXTENSION}
+ 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}"
       )
 
- add_dependencies(${PROJECT_NAME}-test
- ${BOOST_TEST_TESTNAME}
+ set_tests_properties(${BOOST_TEST_TESTNAME}
+ PROPERTIES
+ LABELS "${PROJECT_NAME}"
       )
 
+ if (BOOST_TEST_FAIL)
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
+ endif ()
   endif(BOOST_TEST_OKAY)
 endmacro(boost_test_compile)
 
@@ -418,37 +377,27 @@
 macro(boost_test_link testname)
   boost_test_parse_args(${testname} ${ARGN} LINK)
   if(BOOST_TEST_OKAY)
-
- set(THIS_TEST_PREFIX_ARGS
- ${PYTHON_EXECUTABLE} ${BOOST_TEST_DRIVER} ${CMAKE_CURRENT_BINARY_DIR} test_link ${testname}
+ add_test(${BOOST_TEST_TESTNAME}
+ ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ ${Boost_SOURCE_DIR}/tools/build/CMake/LinkTest
+ ${Boost_BINARY_DIR}/tools/build/CMake/LinkTest
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-project LinkTest
+ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}"
+ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}"
+ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}"
       )
-
- #
- # FIXME: no ctest.
- #
- add_custom_target(TARGET ${BOOST_TEST_TESTNAME}
- COMMAND /link/tests/are/failing/at/the/moment
- COMMENT "${PROJECT_NAME} => Link test '${testname}' is failing."
- )
-
- # POST_BUILD
- # COMMAND
- # ${THIS_TEST_PREFIX_ARGS}
- # ${CMAKE_CTEST_COMMAND}
- # --build-and-test
- # ${Boost_SOURCE_DIR}/tools/build/CMake/LinkTest
- # ${Boost_BINARY_DIR}/tools/build/CMake/LinkTest
- # --build-generator \\"${CMAKE_GENERATOR}\\"
- # --build-makeprogram \\"${MAKEPROGRAM}\\"
- # --build-project LinkTest
- # --build-options -DSOURCE=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES} -DINCLUDES=${Boost_SOURCE_DIR} -DCOMPILE_FLAGS=\\"${BOOST_TEST_COMPILE_FLAGS}\\"
- # COMMENT "Running ${testname} (link) in project ${PROJECT_NAME}"
- # )
 
- add_dependencies(${PROJECT_NAME}-test
- ${BOOST_TEST_TESTNAME}
+ set_tests_properties(${BOOST_TEST_TESTNAME}
+ PROPERTIES
+ LABELS "${PROJECT_NAME}"
       )
-
+
+ if (BOOST_TEST_FAIL)
+ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
+ endif ()
   endif(BOOST_TEST_OKAY)
 endmacro(boost_test_link)
 

Modified: trunk/tools/build/CMake/LinkTest/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/LinkTest/CMakeLists.txt (original)
+++ trunk/tools/build/CMake/LinkTest/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
@@ -1,5 +1,7 @@
-cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.6)
 
 project(LinkTest)
 include_directories (${INCLUDES})
-add_executable(link ${SOURCE} COMPILE_FLAGS "${COMPILE_FLAGS}")
+add_executable(link-test ${SOURCE} COMPILE_FLAGS "${COMPILE_FLAGS}")
+set_source_files_properties(${SOURCE}
+ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
\ No newline at end of file

Deleted: trunk/tools/build/CMake/boost_build_slave.py.in
==============================================================================
--- trunk/tools/build/CMake/boost_build_slave.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,57 +0,0 @@
-#!/usr/bin/python
-#
-# copyright (C) 2008 troy d. straszheim <troy_at_[hidden]>
-#
-# 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
-#
-
-#
-# Utilities, variables, imports for build slave python
-#
-
-import os, os.path, marshal, xmlrpclib, pysvn, socket, platform
-from pprint import pprint
-
-repo_path = "@CMAKE_SOURCE_DIR@"
-client = pysvn.Client()
-svn_entry = client.info(repo_path)
-_configured_hostname = "@BOOST_BUILD_SLAVE_HOSTNAME@"
-fqdn = _configured_hostname if len(_configured_hostname) > 0 else socket.getfqdn()
-uname = platform.uname()
-toolset = "@BOOST_TOOLSET@"
-
-timeout_seconds = @BOOST_BUILD_SLAVE_TIMEOUT@
-slave_details_file = "@BOOST_BUILD_SLAVE_DETAILS_FILE@"
-contact_info = "@BOOST_BUILD_SLAVE_CONTACT_INFO@"
-
-xmlrpc_url = "@BOOST_BUILD_SLAVE_SUBMIT_URL@"
-
-build_id_file = os.path.join(r'@BOOST_BUILD_SLAVE_PYTHONPATH@', "build_id.txt")
-
-try:
- f = open(build_id_file)
- build_id = int(f.read())
-except:
- build_id = None
-
-def set_build_id(build_id):
- print "Setting new build id %d locally" % build_id
- f = open(build_id_file, "w")
- f.write(str(build_id))
- f.close()
-
-def details():
- if os.path.isabs(slave_details_file):
- thefile = slave_details_file
- else:
- thefile = os.path.join("@CMAKE_BINARY_DIR@", slave_details_file)
-
- if os.path.exists(thefile):
- f = open(thefile)
- txt = f.read()
- else:
- txt = "Build slave details file @BOOST_BUILD_SLAVE_DETAILS_FILE@ not found."
-
- return txt

Deleted: trunk/tools/build/CMake/classify.py.in
==============================================================================
--- trunk/tools/build/CMake/classify.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-#
-# Classifies pass/fail/warn for the sake of traash
-#
-
-toolset = '@BOOST_TOOLSET@'
-import os
-
-# 'cxx_compile_object'
-# 'run'
-# 'link_executable'
-# 'create_shared_library'
-# 'create_static_library'
-# 'compile-fail'
-
-def classify(step):
- print "step=", step
- if 'errno' in step:
- if step['errno'] == 666:
- step['status'] = 'timeout'
- else:
- step['status'] = 'not_executed'
- return
-
- if step['returncode'] != 0 and not step['expect_fail']:
- step['status'] = 'fail'
- return
-
- if step['returncode'] == 0 and step['expect_fail']:
- step['status'] = 'unexpected_pass'
- return
-
- #
- # if it is an expected failure, don't warn just cause of warnings.
- #
- if step['returncode'] != 0 and step['expect_fail']:
- step['status'] = 'pass'
- return
-
-
- if step['op'] != 'run' and len(step['stderr']) != 0 and not step['stderr'].isspace():
- step['status'] = 'warn'
- return
-
- # on windoze, warnings are to be found in stdout... but the compiler always
- # prints the name of the file first. So warn if there is more than one line
- # in stdout. For now.
- if os.name == 'nt' and step['op'] == 'cxx_compile_object' and step['stdout'].count('\n') > 1:
- step['status'] = 'warn'
- return
-
- step['status'] = 'pass'

Deleted: trunk/tools/build/CMake/finish.py.in
==============================================================================
--- trunk/tools/build/CMake/finish.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-#
-# copyright (C) 2008 troy d. straszheim <troy_at_[hidden]>
-#
-# 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
-#
-
-#
-# Start a new build, notify server via xmlrpc
-#
-
-import sys
-sys.path.append("@BOOST_BUILD_SLAVE_PYTHONPATH@")
-from boost_build_slave import *
-
-print '\nFinishing build %d with %s via XML-RPC' % (build_id, xmlrpc_url)
-s = xmlrpclib.Server(xmlrpc_url)
-
-s.traash.finish_build(build_id)
-
-

Deleted: trunk/tools/build/CMake/info.py.in
==============================================================================
--- trunk/tools/build/CMake/info.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,26 +0,0 @@
-#!/usr/bin/python
-#
-# copyright (C) 2008 troy d. straszheim <troy_at_[hidden]>
-#
-# 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
-#
-
-#
-# Start a new build, notify server via xmlrpc
-#
-
-import sys
-sys.path.append("@BOOST_BUILD_SLAVE_PYTHONPATH@")
-from boost_build_slave import *
-
-print ' Url:', svn_entry.url, "at rev", svn_entry.revision.number
-print ' FQDN:', fqdn
-print ' Uname:', uname
-print ' Toolset:', toolset
-print ' Build ID:', build_id
-print ' Contact:', contact_info
-pref = '\n '
-print ' Details: ' + pref.join(details().splitlines()), '\n\n'
-

Deleted: trunk/tools/build/CMake/marshal.py.in
==============================================================================
--- trunk/tools/build/CMake/marshal.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,110 +0,0 @@
-#!/usr/bin/python
-#
-# copyright (C) 2008 troy d. straszheim <troy_at_[hidden]>
-#
-# 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
-#
-#
-# Compiler driver. Takes a few arguments describing what is to be done
-# (used to mark up the output) and executes compiler in a subshell, checking
-# for errors and marshalling output to disk.
-#
-import sys, signal, threading, subprocess
-sys.path.append("@BOOST_BUILD_SLAVE_PYTHONPATH@")
-from boost_build_slave import *
-
-import datetime, time, signal
-from subprocess import Popen, PIPE
-from kill_subprocess import kill_subprocess
-from classify import classify
-
-log = os.path.join(sys.argv[1], "Log.marshal")
-op = sys.argv[2]
-target = sys.argv[3]
-argv = sys.argv[4:]
-expect_fail = op.endswith("fail")
-
-if os.name == 'nt':
- os.environ['PATH'] = r'@CMAKE_LIBRARY_OUTPUT_DIRECTORY@;' + os.environ['PATH']
-
-print "***\n*** Executing op:" + op + "\n*** " + str(argv) + "\n*** log=" + log + "\n***"
-#
-# execute subprocess, watch for timeout
-#
-class SubprocThread(threading.Thread):
- def __init__(self):
- threading.Thread.__init__(self)
- self.ex = None
-
- def run(self):
- try:
- self.proc = Popen(argv, stdout=PIPE, stderr=PIPE)
- (self.stdout, self.stderr) = self.proc.communicate()
- except EnvironmentError, e:
- self.ex = e
-
-t = SubprocThread()
-starttime = datetime.datetime.now()
-t.start()
-t.join(timeout_seconds)
-
-if t.isAlive():
- print "*** Killing subprocess after timeout"
- kill_subprocess(t.proc.pid)
- e = OSError()
- e.errno = 666
- e.message = e.strerror = "TIMEOUT AFTER %d SECONDS" % timeout_seconds
- e.filename = argv[0]
- t.ex = e
-
-duration = datetime.datetime.now() - starttime
-
-#
-# Collect and store subprocess info
-#
-result = { 'expect_fail' : expect_fail,
- 'wallclock_duration' : duration.seconds + duration.microseconds * 10**-6 }
-
-if not t.ex:
- result['returncode'] = t.proc.returncode
- result['stdout'] = t.stdout
- result['stderr'] = t.stderr
-
- if t.proc.returncode != 0 and not expect_fail:
- print "*** returncode: %d" % t.proc.returncode
- print "*** stdout:" + result['stdout']
- print "*** stderr:" + result['stderr']
-else:
- result['errno'] = t.ex.errno
- result['filename'] = t.ex.filename
- result['message'] = t.ex.message
- result['strerror'] = t.ex.strerror
- print "Errno:" + str(t.ex.errno) + ": " + t.ex.strerror
-
-result.update({'op' : op,
- 'target' : target,
- 'cmdline' : argv })
-
-classify(result)
-print "post classification: result=", result
-
-f = open(log, "ab", 0)
-marshal.dump(result, f)
-f.close()
-
-if t.ex:
- sys.exit(t.ex.errno)
-else:
- if expect_fail:
- if t.proc.returncode != 0:
- sys.exit(0)
- else:
- print "UNEXPECTED SUCCESS"
- sys.exit(1) # we need an exit status for 'unexpected success'
- else:
- sys.exit(t.proc.returncode)
-
-
-

Deleted: trunk/tools/build/CMake/passthru.py.in
==============================================================================
--- trunk/tools/build/CMake/passthru.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,73 +0,0 @@
-#!/usr/bin/python
-#
-# copyright (C) 2008 troy d. straszheim <troy_at_[hidden]>
-#
-# 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
-#
-
-#
-# "Passthru" driver, only responsible for 'flipping' exit status of
-# tests that are expected to fail. See driver.py for the version
-# that is run when BOOST_BUILD_SLAVE is on, which does xmlizaton
-# and the like
-#
-import sys, os, os.path
-from subprocess import Popen, PIPE
-
-def verbose(what):
- if @BOOST_DRIVER_VERBOSE@:
- print what
-
-# ignored
-# log = os.path.join(sys.argv[1], "Log.xml")
-op = sys.argv[2]
-# target = sys.argv[3]
-argv = sys.argv[4:]
-expect_fail = op.endswith("fail")
-
-#
-# execute subprocess
-#
-subproc = None
-returncode = None
-ex = None
-stdout = None
-stderr = None
-try:
- subproc = Popen(argv, stdout=PIPE, stderr=PIPE)
- (stdout, stderr) = subproc.communicate()
-except EnvironmentError, e:
- ex = e
-
-returncode = subproc.returncode
-
-if stdout:
- print stdout
-if stderr:
- print stderr
-
-if not ex:
- # possibly flip the return code
- if not expect_fail:
- if not returncode:
- verbose("ok.")
- else:
- verbose("error.")
- sys.exit(returncode)
- else:
- if returncode != 0:
- verbose("ok.")
- sys.exit(0)
- else:
- verbose("*** UNEXPECTED SUCCESS ***")
- sys.exit(1) # we need an exit status for 'unexpected success'
-else:
- # if there is an os error 'above' the actual exit status of the subprocess,
- # use the errno
- print "Error in build system: " + str(ex.strerror)
- sys.exit(ex.errno)
-
-
-

Deleted: trunk/tools/build/CMake/post.py.in
==============================================================================
--- trunk/tools/build/CMake/post.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,56 +0,0 @@
-#!/usr/bin/python
-#
-# copyright (C) 2008 troy d. straszheim <troy_at_[hidden]>
-#
-# 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
-#
-
-#
-# Send the build log via XML-RPC
-#
-
-import sys
-sys.path.append("@BOOST_BUILD_SLAVE_PYTHONPATH@")
-from boost_build_slave import *
-
-s = xmlrpclib.Server(xmlrpc_url, allow_none=True)
-
-project_name = sys.argv[1]
-parent_target = sys.argv[2]
-build_or_test = sys.argv[3]
-logdir = sys.argv[4]
-
-# print "\n>>>\n>>> Project " + project_name \
-# + "\n>>> POST build log for " + parent_target \
-# + "\n>>> from log dir" + logdir \
-# + "\n>>> to " + xmlrpc_url \
-# + "\n>>> Server build ID: %d" % build_id \
-# + "\n>>>"
-
-p = os.path.join(logdir, "Log.marshal")
-
-if not os.path.exists(p):
- print "No results to submit"
- sys.exit(0)
-
-f = open(p, "rb")
-
-i = 0
-while True:
- try:
- r = marshal.load(f)
- r.update({ 'build_id' : build_id,
- 'project' : project_name,
- 'parent_target' : parent_target,
- 'build_or_test' : build_or_test })
- s.traash.step(r)
- i += 1
- except EOFError, e:
- break
-
-print "Submitted ", i, " steps."
-f.close()
-os.remove(p)
-

Deleted: trunk/tools/build/CMake/run_continuous_slave.py.in
==============================================================================
--- trunk/tools/build/CMake/run_continuous_slave.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,82 +0,0 @@
-#!/usr/bin/python
-#
-# Build slave script.
-#
-
-import pysvn, os, time
-from optparse import OptionParser
-
-parser = OptionParser()
-
-parser.add_option("-b", "--build-first",
- action="store_true", dest="build_first", default=False,
- help="Build on startup")
-
-parser.add_option("-c", "--clean-first",
- action="store_true", dest="clean_first", default=False,
- help="Clean on startup")
-
-parser.add_option("-C", "--clean-every-time",
- action="store_true", dest="clean_every_time", default=False,
- help="Clean before every build")
-
-parser.add_option("-k", "--keep-rebuilding",
- action="store_true", dest="keep_rebuilding", default=False,
- help="Rebuild even if there are no updates to svn")
-
-(options, args) = parser.parse_args()
-
-
-client = pysvn.Client()
-
-wc_path = r'@CMAKE_SOURCE_DIR@'
-
-def do_build(clean_):
- if clean_:
- clean = 'clean'
- else:
- clean = ''
- if os.name == 'nt':
- cmd = 'nmake /I ' + clean + ' slave-start test slave-finish'
- else:
- cmd = 'make -i ' + clean + ' slave-start test slave-finish'
- print "Starting build:\n>>> ", cmd
- os.system(cmd)
-
-
-if options.build_first:
- do_build(options.clean_first)
-
-while True:
- try:
- svn_entry = client.info(wc_path)
-
- print "Wc has url %s rev %d.\nChecking for updates." \
- % (svn_entry.url, svn_entry.revision.number)
-
- ds = client.diff_summarize(url_or_path1=svn_entry.url,
- revision1=pysvn.Revision(pysvn.opt_revision_kind.number,
- svn_entry.revision.number),
- url_or_path2=svn_entry.url,
- revision2=pysvn.Revision(pysvn.opt_revision_kind.head)
- )
-
- if len(ds):
- print "There are %d changesets:" % len(ds)
- for j in ds:
- print ">>>", j.path
- print "Updating."
- client.update(wc_path)
- if len(ds) or options.keep_rebuilding:
- do_build(options.clean_every_time)
- else:
- print "No updates."
- except Exception, e:
- print e
- print "Error. Will retry."
-
- print "Sleeping %d seconds" % @BOOST_BUILD_SLAVE_SLEEP_DURATION@
- time.sleep(@BOOST_BUILD_SLAVE_SLEEP_DURATION@)
-
-
-

Deleted: trunk/tools/build/CMake/sanity/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/sanity/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,39 +0,0 @@
-# Find each subdirectory containing a CMakeLists.txt file, and include
-# it. This avoids the need to manually list which libraries in Boost
-# have CMakeLists.txt files.
-
-# return a list of directories that we should add_subdirectory()
-macro(BOOST_COLLECT_SUBPROJECT_DIRECTORY_NAMES varname filename)
- file(GLOB BOOST_LIBRARY_CMAKE_FILES
- RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*/${filename}")
- foreach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
- get_filename_component(BOOST_LIB_DIR ${BOOST_LIB_CMAKE_FILE} PATH)
- set(${varname} ${${varname}} ${BOOST_LIB_DIR})
- endforeach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES})
-endmacro(BOOST_COLLECT_SUBPROJECT_DIRECTORY_NAMES varname)
-
-macro(ADD_SUBDIRECTORIES prefix)
- foreach(subdir ${ARGN})
- MESSAGE(STATUS "${prefix}${subdir}")
- add_subdirectory(${subdir})
- endforeach(subdir ${ARGN})
-endmacro(ADD_SUBDIRECTORIES prefix)
-
-# Find all of the subdirectories with .cmake files in them. These are
-# the libraries with dependencies.
-boost_collect_subproject_directory_names(BOOST_MODULE_DIRS "module.cmake")
-
-foreach(subdir ${BOOST_MODULE_DIRS})
- include("${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/module.cmake")
-endforeach(subdir)
-
-# Find all of the subdirectories with CMakeLists.txt files in
-# them. This contains all of the Boost libraries.
-boost_collect_subproject_directory_names(BOOST_SUBPROJECT_DIRS "CMakeLists.txt")
-
-# Add all of the Boost projects in reverse topological order, so that
-# a library's dependencies show up before the library itself.
-set(CPACK_INSTALL_CMAKE_COMPONENTS_ALL)
-list(SORT BOOST_SUBPROJECT_DIRS)
-topological_sort(BOOST_SUBPROJECT_DIRS BOOST_ _DEPENDS)
-add_subdirectories(" + " ${BOOST_SUBPROJECT_DIRS})

Deleted: trunk/tools/build/CMake/sanity/one_clean_one_warn/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/sanity/one_clean_one_warn/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,7 +0,0 @@
-boost_library_project(
- one_clean_one_warn
- SRCDIRS src
- TESTDIRS test
-)
-
-

Deleted: trunk/tools/build/CMake/sanity/one_clean_one_warn/src/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/sanity/one_clean_one_warn/src/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,5 +0,0 @@
-boost_add_library(
- one_clean_one_warn
- green.cpp warn.cpp
- )
-

Deleted: trunk/tools/build/CMake/sanity/one_clean_one_warn/src/green.cpp
==============================================================================
--- trunk/tools/build/CMake/sanity/one_clean_one_warn/src/green.cpp 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,2 +0,0 @@
-static void foo() { }
-

Deleted: trunk/tools/build/CMake/sanity/one_clean_one_warn/src/warn.cpp
==============================================================================
--- trunk/tools/build/CMake/sanity/one_clean_one_warn/src/warn.cpp 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,4 +0,0 @@
-#warning this one has a warning
-
-static void bar() { }
-

Deleted: trunk/tools/build/CMake/sanity/one_clean_one_warn/test/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/sanity/one_clean_one_warn/test/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,4 +0,0 @@
-boost_test_run(times_out)
-boost_test_compile(this_passes times_out.cpp)
-boost_test_compile_fail(this_unexpectedly_passes times_out.cpp)
-

Deleted: trunk/tools/build/CMake/sanity/one_clean_one_warn/test/times_out.cpp
==============================================================================
--- trunk/tools/build/CMake/sanity/one_clean_one_warn/test/times_out.cpp 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,4 +0,0 @@
-int main(int, char**)
-{
- while(true) ;
-}

Deleted: trunk/tools/build/CMake/sanity/wont_link/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/sanity/wont_link/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,7 +0,0 @@
-boost_library_project(
- WontLinkProject
- SRCDIRS src
- TESTDIRS test
-)
-
-

Deleted: trunk/tools/build/CMake/sanity/wont_link/src/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/sanity/wont_link/src/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,5 +0,0 @@
-boost_add_library(
- wont_link
- compiles_nowarn.cpp
- )
-

Deleted: trunk/tools/build/CMake/sanity/wont_link/src/compiles_nowarn.cpp
==============================================================================
--- trunk/tools/build/CMake/sanity/wont_link/src/compiles_nowarn.cpp 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,8 +0,0 @@
-int this_function_is_declared_but_not_defined();
-
-void provoke_link_error()
-{
- this_function_is_declared_but_not_defined();
-}
-
-

Deleted: trunk/tools/build/CMake/sanity/wont_link/test/CMakeLists.txt
==============================================================================
--- trunk/tools/build/CMake/sanity/wont_link/test/CMakeLists.txt 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,2 +0,0 @@
-boost_test_run(link_error DEPENDS wont_link)
-

Deleted: trunk/tools/build/CMake/sanity/wont_link/test/link_error.cpp
==============================================================================
--- trunk/tools/build/CMake/sanity/wont_link/test/link_error.cpp 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <iostream>
-
-void provoke_link_error();
-
-int main(int, char**)
-{
- provoke_link_error();
- return 0;
-}

Deleted: trunk/tools/build/CMake/start.py.in
==============================================================================
--- trunk/tools/build/CMake/start.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-#
-# copyright (C) 2008 troy d. straszheim <troy_at_[hidden]>
-#
-# 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
-#
-
-#
-# Start a new build, notify server via xmlrpc
-#
-
-import sys
-sys.path.append("@BOOST_BUILD_SLAVE_PYTHONPATH@")
-from boost_build_slave import *
-
-print 'Url:', svn_entry.url, "at rev", svn_entry.revision.number
-print 'FQDN:', fqdn
-print 'Uname:', uname
-print 'Toolset:', toolset
-
-print '\nNotifying %s of new build via XML-RPC' % xmlrpc_url
-s = xmlrpclib.Server(xmlrpc_url)
-
-build_id = s.traash.start_build({ 'svn_url' : svn_entry.url,
- 'svn_rev' : svn_entry.revision.number,
- 'sysname' : uname[0],
- 'nodename' : uname[1],
- 'sys_release' : uname[2],
- 'sys_version' : uname[3],
- 'sys_machine' : uname[4],
- 'fqdn' : fqdn,
- 'toolset' : toolset,
- 'contact' : contact_info,
- 'details' : details() })
-
-set_build_id(build_id)

Deleted: trunk/tools/build/CMake/unix_kill.py.in
==============================================================================
--- trunk/tools/build/CMake/unix_kill.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,6 +0,0 @@
-import os, signal
-def kill_subprocess(pid):
- os.kill(pid, signal.SIGKILL)
- os.waitpid(-1, os.WNOHANG)
-
-

Deleted: trunk/tools/build/CMake/windows_kill.py.in
==============================================================================
--- trunk/tools/build/CMake/windows_kill.py.in 2009-05-09 18:57:30 EDT (Sat, 09 May 2009)
+++ (empty file)
@@ -1,9 +0,0 @@
-import os
-def kill_subprocess(pid):
- cmd = 'TASKKILL /PID ' + str(pid) + ' /T /F'
- print "Timeout, killing subprocess:\n" + cmd
- os.popen(cmd)
-
-import win32api, win32con
-win32api.SetErrorMode( win32con.SEM_NOGPFAULTERRORBOX | win32con.SEM_FAILCRITICALERRORS )
-


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk