From: Patrick Frants (patrick_at_[hidden])
Date: 2001-09-11 09:10:17
I have looked at JAM in the past, but did not really need it then. We are now going to port our products to multiple
platforms and I suspect that boost can handle both our directory structure and other requirements gracefully. The
problem is that I am not a JAM/boost pro. So maybe some of you guys can show me the right direction
The goals are:
1. Use as few jamfiles as possible (I suspect the directory structure should allow this)
2. No intermediate libraries, because all C++ static objects need to be initialized at startup
3. No need to write out dependencies at the lowest level (MinorProject to individual .cpp files)
4. Separate intermediate files from source tree with ALL_LOCATE_TARGET
We have this directory structure:
Executable1 # depends on MajorProject2, MajorProject7 and Executable1MainFile.cpp
Executable2 # depends on MajorProject6, MajorProject8 and Executable2MainFile.cpp
Executables depend on a number of MajorProjects and a specific ExecutablNMainFile.cpp. Each MajorProject can be
used by multiple Executables.
The separation of MajorProjects into MinorProjects is a logical separation only.
I was thinking of a kind of jamfile at the MajorProject level that is generic. It makes that pseudotarget MajorProjectN
automatically dependent on all the .cpp files in it's MinorProjects (*/*.cpp).
Also I would like to have a toplevel jamfile like:
subinclude Executable1 ;
subinclude Executable2 ;
And in the jamfile in the Executable1 directory:
DEPENDS Executable1 : Executable1MainFile.cpp MajorProject2 MajorProject7 ;
And in the jamfile in the Executable2 directory:
DEPENDS Executable2 : Executable2MainFile.cpp MajorProject6 MajorProject8 ;
Is this possible? If not, is there another way to reach the same goals?
-- Patrick Frants Senior Software Engineer Quintiq BV Het Wielsem 10 5201 AG 's-Hertogenbosch Phone: +31(0)736910739 Fax: +31(0)736910754
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk