[C++-sig] [Boost.Python] Recommended file structure layout?

Daniel Lidström daniel.lidstrom at sbg.se
Fri Jan 22 16:33:42 CET 2010


Hello,

I am very interested in using Boost.Python to test my C++ codebase.
However, I would like to have some tips on a typical layout of the
files in my project. My codebase today is completely C++-based and
I also have tests using cppunit. Here's my file structure of the
GFL library (Windows dll):

GFL/
   include/
           GFL   <- headers go here
   src/          <- C++ source goes here (creates GFL.dll)
   Test/         <- cppunit tests go here (Test.exe links with GFL.dll)

Now I need to create the python->C++ bridge using Boost.Python.
This has to be separate from the GFL dll as I don't want to link
with python in the main dll at this stage. Here's what I am thinking:

GFL/
   include/
           GFL
   src/
   Test/
   PyBridge/     <- source files with Boost.Python bridge

This would create two libraries, GFL.dll and GFL.PyBridge.dll. I am
unsure of the naming convention. Now, I probably would put python
test files in PyTest, like so:

GFL/
   include/
           GFL
   src/
   Test/
   PyBridge/
   PyTest/       <- nose tests here :-)

What do you think about this structure? Anybody here doing similar things?
I would really appreciate some feedback! :-)

Now to another question (sorry if I am too off-topic on this one).
We are using TeamCity for continuous integration. My goal is to integrate
nose-tests using TeamCity. I can already vision how that would work.
But I would also like to make GFL.dll and GFL.PyBridge.dll available to
my integration&verification team, so that they can create their own python
scripts for verification tests. Is there anyone here who has this kind of
solution in place? If so, how do you make the compiled binaries easily
available to the I&V team? If this is really too off-topic I'll take my
question to the TeamCity forums (might do it anyway).

Thanks in advance!

Regards,

Daniel Lidström
Stockholm, Sweden


More information about the Cplusplus-sig mailing list