|
|
|
project('find program override', 'c')
|
|
|
|
|
|
|
|
gencodegen = find_program('gencodegen', required : false)
|
|
|
|
six_prog = find_program('six_meson_exe', required : false)
|
|
|
|
|
|
|
|
assert(not gencodegen.found(), 'gencodegen is an internal program, should not be found')
|
|
|
|
assert(not six_prog.found(), 'six_meson_exe is an internal program, should not be found')
|
|
|
|
|
|
|
|
# Test the check-if-found-else-override workflow
|
|
|
|
if not gencodegen.found()
|
|
|
|
subdir('subdir')
|
|
|
|
endif
|
|
|
|
|
|
|
|
subdir('otherdir')
|
|
|
|
|
|
|
|
tool = find_program('sometool')
|
|
|
|
assert(tool.found())
|
|
|
|
assert(tool.full_path() != '')
|
|
|
|
assert(tool.full_path() == tool.path())
|
|
|
|
|
|
|
|
# six_meson_exe is an overridden project executable
|
|
|
|
six_prog = find_program('six_meson_exe')
|
|
|
|
assert(six_prog.found())
|
|
|
|
assert(six_prog.full_path() != '')
|
|
|
|
assert(six_prog.full_path() == six_prog.path())
|
|
|
|
|
|
|
|
# We have prog-version.py in current directory, but it's version 1.0.
|
|
|
|
# This needs to use fallback for "prog-version" name which will be version 2.0.
|
|
|
|
prog = find_program('prog-version.py', 'prog-version', version: '>= 2.0')
|
|
|
|
assert(prog.found())
|
|
|
|
assert(prog.version() == '2.0')
|