Re:[boost] [serialization] one MSVC build fix

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 quotes 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 projects - 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 the intermediate objects, libraries, etc in certain places in the directory 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

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

"Robert Ramey"
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.
I understand. That last thing I intend is to prophesize MS IDE (or any comnpiler specific build environment) idiosyncrasies but, OTOH, IMO, it will take less time to fix these issues than it will take for jamboost Yahoo egroup users and moderators to learn to click the button and check posts on the previous page or answer simple questions.
b) it requires that bjam already have been run once in order to create the required directories
In the worst case, one batch file can fix that. Run the file, click the mouse, ... no need to wait for Gods to answer few simple questions.
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.
Why not? I am intersted in boost, not in debugging xy version of bjam or whatever I'm supposed to 'need' to build boost. Let's do it. Let me know exactly what you want/need and we'll test it back and forth.
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.
I know. But, in the end, to do the real work, debugging and testing in any particular environment, we have to stick with the particular compiler and particular platform. No cross-platform build tool is going to help in that case. That's why I consider generic build tool fantasies a major waste of developer's time and resources. Tony
participants (3)
-
Francis ANDRE
-
Robert Ramey
-
Tony Juricic