On Oct 31, 2008, at 1:30 PM, Beman Dawes wrote:
On Fri, Oct 31, 2008 at 12:14 PM, Mike Jackson <[EMAIL PROTECTED]
> wrote:
I am working through the "testing" part of the build system at this
point and I have some questions about how the typical boost
developer actually runs the "tests".
The tests are compiled using the build/source tree. Is it probable
that boost developers actually install boost then try and compile
tests against the installed boost?
Mostly I just work within an svn working copy, but once in a while
do actually install boost and then build and run tests.
My usual approach is to develop using the VC++ IDE, and when
whatever I'm working on runs for that single compiler, I run a
script that invokes bjam for the six compilers I test against before
an actual svn commit.
The IDE setup needs to be reasonably straightforward; I want to be
able to specifiy a single Boost include directory, not one for each
library.
My guess is that usage pattern is common, but there are probably
other usage patterns too.
Actually CMake will generate the Visual Studio projects for you as
part of its output. With the current modularization method you _will_
end up with an include path for each library that you compile against
(at least in the build/source tree, installed is different). The
visual studio solution that is generated will include _all_ the
libraries including each of their tests. When it gets to a point that
is workable on VS I invite you to give it a try and offer feedback as
to how to improve the setup. The nice part is that the VS solution
will have all the include paths set for you.
I am working through some dependency issues with compiling the
actual tests. With boost modularized there are lots of missing
includes. The current way I am going about adding them is probably
NOT maintainable. I need to do it like the actual build system does
it in that you have a "module.cmake" file that lists the
dependencies. I need to work through that system and extend it for
the testing cmake files.
Is there a way to (via hard links, perhaps) make it appear both (1)
the headers are in a single location in the root directory as is
done currently, and (2) also in an include directory within each
library's directory in the lib directory hierarchy? How do
Subversion and CMake do that sort of thing?
--Beman
CMake would probably just resolve the absolute path to the include
directory. I don't know enough of the intricacies of hard links, SVN,
Windows, Linux, OS X to be able to make a decision on that one way or
another.
I have my own opinions on how I like projects setup (Header location,
source location and all that) but I will code up what ever the
majority of the boost community wants.
_________________________________________________________
Mike Jackson [EMAIL PROTECTED]
www.bluequartz.net
_______________________________________________
Boost-cmake mailing list
Boost-cmake@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-cmake