Hi Miguel,
> Hi there, I have a shared library that builds like
> this:
>
....
> Then I am trying to install it and rename the
> installed library this way:
>
> stage MY_Blend_plugin_install
>
> : MY_Blend
> : <location>$(LIBS_TOP)/install/maya/plugins
>
> <name>MY_Blend.mll
> ;
...
> Unfortunately I am getting a weird errror:
> "<name> property cannot be specified when
staging
> several targets"
Well, on Windows, DLL is a pair of targets -- DLL and import
lib. On Linux,
with current CVS, you'd get a different error:
In 'install': <name> property specified with
target that requires relinking
Generally speaking, on Linux, if you change a name of a
shared library, you
need to relink all other libraries and executable files that
refer to it.
Of course, this is not needed for plugins, but Boost.Build
does not know if
this is plugin, or not, and I don't know an easy way to
detect if there are
other libraries linking to this one. And this restriction
probably does not
makes sense for Windows, but we don't distinguish this case
yet.
Am I right that this is plugin for a specific tool, and the
extension should
always be ".mll". Then you can just do this:
import type ;
type.register MLL : mll : SHARED_LIB ;
you can put this code in Jamroot, and then use this:
mll MY_Blend
# sources
: [ glob ./src/*.cpp ]
Foundation OpenMaya OpenMayaAnim
:
<include>./src
<link>shared
;
That's from memory, but should work, and won't require
renaming library on
install time.
- Volodya
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
a>
|