123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #! /usr/bin/env python
- # encoding: utf-8
- # Thomas Nagy, 2006-2010 (ita)
- # the following two variables are used by the target "waf dist"
- VERSION='0.0.1'
- APPNAME='cxx_test'
- # these variables are mandatory ('/' are converted automatically)
- top = '.'
- out = 'debug'
- from functools import partial
- from pathlib import Path
- def get_sub_files(obj, suffixes=(".c", ".cpp", ".cxx"), max_depth=None):
- root = Path(str(obj.path))
- if root.is_file():
- root = root.parent
-
- queue = [(0, root)]
- ret = []
-
- while queue:
- depth, curr = queue.pop()
- if max_depth is not None and depth>max_depth: continue
- for file in curr.iterdir():
- if file.is_file():
- if not suffixes or file.name.endswith(suffixes):
- ret.append(str(file.relative_to(root)))
- elif file.is_dir():
- queue.append((depth+1, file))
- return ret
- def options(opt):
- opt.load('compiler_cxx')
- def configure(conf):
- conf.load('compiler_cxx')
- conf.env.append_value('CXXFLAGS', '-g')
- conf.check(header_name='stdio.h', features='cxx cxxprogram', mandatory=False)
- def build(bld):
- bld.get_sub_files = partial(get_sub_files, bld)
- bld.recurse("src/common")
- bld.recurse("src/core")
- bld.recurse("src/fft")
- bld.recurse("src/io")
- bld.recurse("src/plugins")
- bld.program(target=APPNAME,
- features='cxx cxxprogram',
- lib=['fftw3', "sndfile"],
- use=["common", "fft", "io"])
|