
What I would like is to have the VC IDE projects setup so that they use the same places as bjam.
In MSVC, you could avoid to have a absolute path for a "outside" library by putting only a relative path or the library name itself as: lib/libboost_test_exec_monitor-vc71-sgd.lib and specify a global library path to apply to all projects (which is the case for the test_exec_monitor of the serialization lib) using the tab tools-->options-->projects-->VC++directories and then specifies where is located "lib/libboost_test_exec_monitor-vc71-sgd.lib". For my configuration of the serialization tests, I am using a global variable BOOST that sets up the global path for looking for libraries to $(BOOST)/lib and I remove all the C:\boost\lib from the *.vcproj (the tab has also a global path setup for includes, executable and so on) In this way, you can get both the best of the bjam batch and the natural VC IDE construct. Francis ANDRE -- A good friend will come bail you out of jail.......... but, a true friend....will be sitting next to you saying: "...that was fun." "Robert Ramey" <ramey@rrsd.com> a écrit dans le message de news:20040918163843.2E6F9310DD@acme.west.net...
1) Hard-coded paths should be avoided. Example: test_exported project contains path c:/boost/lib/libboost_test_exec_monitor-vc71-sgd.lib. Instead it should contain:
"$(ProjectDir)../../../bin/boost/libs/test/build/libboost_test_exec_monitor .
lib/vc7.1/$(OutDir)/runtime-link-static/libboost_test_exec_monitor-vc71-sgd -
1_32.lib"
2) Notice quotes around the new path above. It is recommended to use
for paths that may contain spaces. For example if ProjectDir variable was C:\My Tests you will get confusing build error message.
The above applies to many other serialization test projects.
I've struggled with this on and off.
On one hand ,I like to use the VC IDE and for that I need the test
- 50 of them !
On the other hand, I like bjam also for buiding testing everything in batch mode for all the compiler combinations I use.
So my main problem is having it both ways. The IDE "likes" to place to
intermediate objects, libraries, etc in certain places in the directory
quotes projects the tree
while bjam "likes" to put them in an entirely different place. What I would like is to have the VC IDE projects setup so that they use the same places as bjam. Without this I end up with two copies of intermediate objects in different places and this can sometimes create confusion which wastes a lot of time. However, implementing this has a couple of issues.
a) it's a pain to setup up 50 the vc projects to use the bjam locations. . I've changed the type of build, threading, use dll vs static lib, etc a couple of times and it's a huge pain each time. b) it requires that bjam already have been run once in order to create the required directories
If anybody wants me, I'll be more than happy to test and suggest fixes for MSVC builds, versions 6,7.1 or 8.0 Express. IOW, so much I dislike bjam.
If you want to fix up the whole set of projects for vc 7.1 and vc 6 ide consistent with the above I would be appreciative. Let me know if you want to do this and I'll send you my most recent copies. Then you can send it back and I can test it and check it in.
Nothing specific for bjam, though: there is not a single cross-platform build tool that I liked, like or will ever like.
LOL - Build systems and issues in general drive me crazy. So do variations in compiler function re arcane corners of C++. So does rap music.
Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost