From: Klaus Nowikow (e8827661_at_[hidden])
Date: 2006-07-05 04:36:34
I have a project containing sub-projects, some of them being shared
libraries with a resource (RC) file (at least when building on windows).
The project contains some header files shared for all sub-projects.
My folder structure looks like this (simplified):
| |- Jamroot
| |- version.h
|- dll.rc etc.
I'd like to use the #defines in include/version.h in the resource file
dll-prj/dll.rc for the VERSION resource, so that I can change the
version number in one place. To do this, I have to #include <version.h>
in dll.rc, but it is clear thar the resource compiler can't find that
header file without knowing the path. I noticed that in rc.jam the
action adds -I"$(INCLUDES)" to the call, but I have no idea how to
set the INCLUDES variable. I have already tried setting an environment
variable and a "constant INCLUDES : $(PROJECT_ROOT)/include ;" in
Jamroot, but this both didn't work.
I also have
project : requirements
in my Jamroot, which I think would be the most elegant solution,
but this also didn't work -- and neither did the <define> property.
Is there any other way of setting the -I (and -D) parameters for the
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