Boost logo

Boost :

Subject: Re: [boost] [Build] How to find a library (ICU)?
From: Vladimir Prus (ghost_at_[hidden])
Date: 2010-03-22 02:02:37


Artyom wrote:
>> Look at how Boost.Regex does it.
>> It also uses ICU.
>>
>
> As I already mentioned:
>
> Boost.Regex ICU library search has a bug -- it does not search
> correctly debug/release versions when using MSVC compiler.

Is _d prefix actually needed? That is:

- is linking to release version of ICU gonna cause problems due to
ABI changes?
- is _d prefix used by official distribution of ICU?

If so, it's easy to change.

> Also it too tighten to specific platforms/implementations.
>
> So I ask if there is any standard way to do this, as today
>
> lib z ;
>
> But with fallback, with error reporting if not found, with options
> to search where is the library.
>
> I assume that ICU is not the only 3rd part library that Boost uses
> so Boost.Build should have some generic find_library like functionality
> I just can't find any documentation for it.

I recommend you wait for a week. While it's certainly possible to
improve ICU autodetection for your library, an convenient and consistent
interface for such checks was one of my goals for 1.43 and is being
designed right now.

>
> BTW: Is there anything like CMAKE_INCLUDE_PATH/CMAKE_LIBRARY_PATH of
> CMake or autotools CXXFLAGS/LDFLAGS that allow to pass a path
> to libraries -- but in generic way -- to all modules.

You would use <include>whatever or <library-path>whatever in the requirements
of Jamroot, or in project-config.jam

- Volodya


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk