[boost-build] linking against pre-built libraries
Hello, What I'm trying to accomplish is to link against pre-built boost library that lives in $BOOST_ROOT/stage/lib, but the default naming convention comes with a boost version at the end: boost_unit_test_framework-vc80-mt-gd-1_47.lib I don't want to hardcode the exact name because some clients use older version of boost. unfortunatelly I cannot do something like this (or maybe I'm wrong): exe myExe : some.cpp /boost//unit_test_framework because that would build test library and I want to prevent that. I want to keep variants and compiler version in the name so --layout=system and --layout=tagged does not help me either. One solution would be to get rid of the boost version suffix(prefferable) and second would be to read BOOST_VERSION from boost/Jamroot and append that to the name of a library file, because I don't want clients to hardcode their boost version in jamfiles manually. How do I do that? Regards
Not sure if anybody read this, so i added correct group :)
I found something intresting.
Boost-build packaged with version 1.46.1 was copying unversioned libraries:
ln-NT stage\lib\boost_unit_test_framework-vc80-mt-gd.lib
"NT symlinks not supported yet, making copy"
1 file(s) copied.
But then something happened in 1.47 that it doesn't do this anymore in
1.49_beta also, I'm not sure how it's done in 1.49 and trunk. I hope that
it's solved.
I found this:
https://svn.boost.org/trac/boost/ticket/6027
someone ignored this, perhaps by language used. But anyway it works, and
this is what I needed
2012/6/13 Jarosław Bober
Hello, What I'm trying to accomplish is to link against pre-built boost library that lives in $BOOST_ROOT/stage/lib, but the default naming convention comes with a boost version at the end: boost_unit_test_framework-vc80-mt-gd-1_47.lib I don't want to hardcode the exact name because some clients use older version of boost.
unfortunatelly I cannot do something like this (or maybe I'm wrong): exe myExe : some.cpp /boost//unit_test_framework because that would build test library and I want to prevent that.
I want to keep variants and compiler version in the name so --layout=system and --layout=tagged does not help me either.
One solution would be to get rid of the boost version suffix(prefferable) and second would be to read BOOST_VERSION from boost/Jamroot and append that to the name of a library file, because I don't want clients to hardcode their boost version in jamfiles manually. How do I do that?
Regards
participants (1)
-
Jarosław Bober