在介子中,您可以测试项目中是否存在目录



使用介子构建,是否可以测试我的项目中是否存在目录?

例如,我通常将验收测试放在单元测试旁边的文件夹结构中,如下所示:

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

这是可移植的,不依赖于外壳。

相关内容

最新更新