include_directories 中的介子绝对路径

Aar*_*man 4 meson-build

在 Meson 中,是否可以从调用创建的对象中获取字符串绝对路径include_directories

我的用例:

    include_dirs = include_directories('include')
    lib = library(
        'mylib',
        source_files,
        include_directories: include_dirs
    )
    run_target('analyze',
        command: ['static_analysis',
            source_files,
            '-I', include_dirs.to_abs_path(),
        ]
    )
Run Code Online (Sandbox Code Playgroud)

include_dirs.to_abs_path()不存在,但我想知道类似的事情是否可能。或者,files()存在(如此处所用source_files);有没有directories()

小智 6

您现在可能已经知道如何实现这一点,但是如果有人正在寻找相同的东西,您可以通过调用来获取根目录

dir_base = meson.current_source_dir()
Run Code Online (Sandbox Code Playgroud)

这将返回当前介子构建文件的目录。
然后你可以通过以下方式构建包含路径

dir_include = join_paths(dir_base, 'include')
Run Code Online (Sandbox Code Playgroud)