The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.1 KiB
62 lines
1.1 KiB
4 years ago
|
project(
|
||
|
'generated cython sources',
|
||
|
['cython'],
|
||
|
)
|
||
|
|
||
|
py_mod = import('python')
|
||
|
py3 = py_mod.find_installation('python3')
|
||
|
py3_dep = py3.dependency(required : false)
|
||
|
if not py3_dep.found()
|
||
|
error('MESON_SKIP_TEST: Python library not found.')
|
||
|
endif
|
||
|
|
||
|
ct = custom_target(
|
||
|
'ct',
|
||
|
input : 'gen.py',
|
||
|
output : 'ct.pyx',
|
||
|
command : [py3, '@INPUT@', '@OUTPUT@'],
|
||
|
)
|
||
|
|
||
|
ct_ext = py3.extension_module('ct', ct, dependencies : py3_dep)
|
||
|
|
||
|
test(
|
||
|
'custom target',
|
||
|
py3,
|
||
|
args : [files('test.py'), 'ct'],
|
||
|
env : ['PYTHONPATH=' + meson.current_build_dir()]
|
||
|
)
|
||
|
|
||
|
cf = configure_file(
|
||
|
input : 'configure.pyx.in',
|
||
|
output : 'cf.pyx',
|
||
|
copy : true,
|
||
|
)
|
||
|
|
||
|
cf_ext = py3.extension_module('cf', cf, dependencies : py3_dep)
|
||
|
|
||
|
test(
|
||
|
'configure file',
|
||
|
py3,
|
||
|
args : [files('test.py'), 'cf'],
|
||
|
env : ['PYTHONPATH=' + meson.current_build_dir()]
|
||
|
)
|
||
|
|
||
|
gen = generator(
|
||
|
find_program('generator.py'),
|
||
|
arguments : ['@INPUT@', '@OUTPUT@'],
|
||
|
output : '@BASENAME@.pyx',
|
||
|
)
|
||
|
|
||
|
g_ext = py3.extension_module(
|
||
|
'g',
|
||
|
gen.process('g.in'),
|
||
|
dependencies : py3_dep,
|
||
|
)
|
||
|
|
||
|
test(
|
||
|
'generator',
|
||
|
py3,
|
||
|
args : [files('test.py'), 'g'],
|
||
|
env : ['PYTHONPATH=' + meson.current_build_dir()]
|
||
|
)
|