
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