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.
80 lines
1.5 KiB
80 lines
1.5 KiB
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()] |
|
) |
|
|
|
# Test a CustomTargetIndex |
|
cti = custom_target( |
|
'cti', |
|
input : 'gen.py', |
|
output : 'cti.pyx', |
|
command : [py3, '@INPUT@', '@OUTPUT@'], |
|
) |
|
|
|
cti_ext = py3.extension_module('cti', cti[0], dependencies : py3_dep) |
|
|
|
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()] |
|
) |
|
|
|
subdir('libdir') |
|
|
|
test( |
|
'custom target in subdir', |
|
py3, |
|
args : [files('test.py'), 'ct2'], |
|
env : ['PYTHONPATH=' + pydir] |
|
)
|
|
|