使用介子构建,是否可以测试我的项目中是否存在目录?
例如,我通常将验收测试放在单元测试旁边的文件夹结构中,如下所示:
library/
header.hp
src/
lib.cpp
tests/
acceptance_test/
unit_test/
我并不总是有验收测试,如果没有必要的话,我想避免在那里有一个meson.build文件。如果目录acceptance_test/
存在,我更希望有一个条件subdir('acceptance_test')
。
查阅参考手册,我看不到任何对此的直接支持。
你可以使用run_command
,做一些类似的事情
if run_command('[', '-d', dirname, ']').returncode() == 0
message('directory exists')
endif
但是,当然,这样做的缺点是不能跨平台工作。
更新:从Meson v0.53.0开始,您可以使用文件系统模块:
fs = import('fs')
if fs.is_dir('<dirname>')
message('directory exists')
endif
这是可移植的,不依赖于外壳。