|
Boost-Build : |
Subject: Re: [Boost-build] easy way to stage not built with boost build
From: Jim Gallagher (jim_at_[hidden])
Date: 2010-05-19 19:07:11
>> This happens because BB treats a searched lib as a combination
>> of -L and -l switches instead of as a real file. You can probably
>> make this work by using alias and listing the exact file.
>>
>> alias zlib : $(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0/zlib.lib :
>> <target-os>windows ;
>>
>> (Warning, I haven't actually tried this, and there
>> might be a better way).
>
>You will also likely need to add installing dependencies as mentioned in
>the docs
><http://www.boost.org/doc/tools/build/doc/html/bbv2/tasks/installing.html>.
>
OK, thanks for pointing me in the right direction. This appears to do what
I want (with one wart):
In Jamroot:
constant ZLIB : zlib124 ;
lib zlib124 : :
<target-os>windows
<file>$(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0/zlib.lib
: :
<include>$(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0
<library>$(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0/zlib1.dll ;
In Jamfile:
exe example :
example.c
$(TOP)//$(ZLIB)
;
install stage
: example
: <location>$(STAGE_SERVER)
<install-dependencies>on
<install-type>EXE
<install-type>LIB
;
explicit stage ;
The wart is that I have to use both the import and dll in the lib definition,
and "install stage" copies both to the staging area. If I can get around this,
it would be perfect! If I use just the .lib, my exe links, but stage
does not copy the .dll.
Thanks,
Jim
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk