different set of flags for subprojects in waf

330 Views Asked by At

I'm still struggling with waf for setting up different set of flags for subprojects.

I have a structure like this, in which superproject recursed to the subprojects:

superproject/wscript 
   libproject/wscript
   progproject/wscript

The problem is that both subprojects progrproject and libproject use boost tool.

I want that both projects check for boost at configuration time, since I want the projects to be self-contained when they are built independently.

I have to do something like this to not overwrite flags for boost between subprojects:

#In libproject
cfg.check_boost('regex', uselib_store='BOOST_LIBPROJECT')

#In progrpoject
cfg.check_boost('program_options', uselib_store='BOOST_PROGPROJECT')

This has the side-effect of making options --boost-libsand --boost-includesdefaults not to work anymore.

Actually, I would like to use the default BOOST store for both, but one seems to overwrite the other in _cache.py file. If I build the projects alone and separate, this problem does not happen. I think setting another environment is not a solution (right?) since this makes the command to become ./waf build_libproject or similar, which is not what I want.

I want:

./waf configure build

to run correctly without workarounding with different stores or preventive flag name changing.

What is the correct way to do it?

0

There are 0 best solutions below