Boost logo

Boost Interest :

Subject: Re: [Boost-cmake] Wiki to disappear: docs in progress
From: Doug Gregor (doug.gregor_at_[hidden])
Date: 2009-05-13 11:33:10


On Wed, May 13, 2009 at 5:37 AM, Beman Dawes <bdawes_at_[hidden]> wrote:
> On Tue, May 12, 2009 at 5:11 PM, Brad King <brad.king_at_[hidden]> wrote:
>> Beman Dawes wrote:
>>>
>>> On Tue, May 12, 2009 at 4:38 PM, Doug Gregor <doug.gregor_at_[hidden]>
>>> wrote:
>>>
>>>> Beman, did you enable testing?
>>>
>>> No. I figured that was a bit much for now.
>>>
>>>> Even without all of the tests, Boost still has a huge number of targets
>>>> in it.
>>>
>>> Yes, although I've been impressed with how fast everything except the
>>> VS IDE load has been running.
>>
>> I'm surprised it takes so long without testing.  How many targets is it,
>> and how long is "long"?
>
> Sorry, I think my post was misleading. My tests with the VC++ IDE had
> BUILD_TESTING  turned on.

Ah, that explains it. With BUILD_TESTING off, you should be able to
load the Boost project into the VC++ IDE without much delay. By
consolidating library tests into a small number of executables (rather
than, *ahem*, Serialization's 400+ executable tests), we should
eliminate this bottleneck with the VC++ IDE *and* save a lot of time
and space when building/running Boost's regression tests.

> Could we change the name of that to BUILD_REGRESSION_TESTS, and change
> the tool tip to "Enable regression testing"?

Okay, done!

> If someone does that, could they please post the changeset or revision
> number so I can look at what it takes to make that kind of minor
> change.

The patch is below; I applied it in tools/build/CMake.

  - Doug

Index: BoostTesting.cmake
===================================================================
--- BoostTesting.cmake (revision 52965)
+++ BoostTesting.cmake (working copy)
@@ -37,10 +37,11 @@
 # want or need to perform regression testing on Boost. The Boost build
 # is significantly faster when we aren't also building regression
 # tests.
-option(BUILD_TESTING "Enable testing" OFF)
+option(BUILD_REGRESSION_TESTS "Enable regression testing" OFF)

-if (BUILD_TESTING)
+if (BUILD_REGRESSION_TESTS)
   enable_testing()
+ mark_as_advanced(BUILD_TESTING)

   option(TEST_INSTALLED_TREE "Enable testing of an already-installed tree" OFF)

@@ -50,7 +51,7 @@
   if (TEST_INSTALLED_TREE)
     include("${CMAKE_INSTALL_PREFIX}/lib/Boost${BOOST_VERSION}/boost-targets.cmake")
   endif (TEST_INSTALLED_TREE)
-endif (BUILD_TESTING)
+endif (BUILD_REGRESSION_TESTS)

 #-------------------------------------------------------------------------------
 # This macro adds additional include directories based on the dependencies of
@@ -203,9 +204,9 @@
   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)
+ if (NOT BUILD_REGRESSION_TESTS)
     set(BOOST_TEST_OKAY FALSE)
- endif(NOT BUILD_TESTING)
+ endif(NOT BUILD_REGRESSION_TESTS)

 endmacro(boost_test_parse_args)

Index: BoostCore.cmake
===================================================================
--- BoostCore.cmake (revision 52965)
+++ BoostCore.cmake (working copy)
@@ -56,7 +56,7 @@
 # therefore, will build and install the library binary.
 #
 # For libraries that have regression tests, and when testing is
-# enabled globally by the BUILD_TESTING option, this macro also
+# enabled globally by the BUILD_REGRESSION_TESTS option, this macro also
 # defines the TEST_BOOST_LIBNAME option (defaults to ON). When ON, the
 # generated makefiles/project files will contain regression tests for
 # this library.
@@ -313,7 +313,7 @@
       endforeach(SUBDIR ${THIS_PROJECT_SRCDIRS})
     endif()

- if(BUILD_TESTING AND THIS_PROJECT_TESTDIRS)
+ if(BUILD_REGRESSION_TESTS AND THIS_PROJECT_TESTDIRS)
       # Testing is enabled globally and this project has some
       # tests. Check whether we should include these tests.
       if (BOOST_TEST_LIBRARIES)


Boost-cmake 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