|
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)