tags:

views:

852

answers:

3

can someone give a scons config file which allows the following structure

toplevel/
        /src - .cc files
        /include .h files

at top level I want the o and final exe.

+1  A: 

This question: http://stackoverflow.com/questions/279860/... gives a pretty flexible scons skeleton which should serve your needs with a few tweaks to the path variables.

Andrew Beyer
I think this answer is too difficult for most people new to scons. VariantDir? (for example) and assumes knowledge of Python.
Richard Riley
+2  A: 

Here is one example of Sconscript file

env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:inc',
                CPPDEFINES=[],
                LIBS=['glib-2.0']) 
env.Program('runme', Glob('src/*.c'))

(The environment line is not really necessary for the example, but I have it to include the non standard glib header path and left it there so you can get the idea how to add extra includes and defines)

The source files are in src directory and header files in inc directory. You run scons from the base directory and the output file is also generated in the same directory.

Amit
A: 
env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:include',
                CPPDEFINES=[],
                LIBS=['glib-2.0']) 

if ARGUMENTS.get('debug', 0):
    env.Append(CCFLAGS = ' -g')

env.Program('template', Glob('src/*.cc'))

Worked a treat. Thanks.

Richard Riley