waf构建时如何创建目录

How to create a directory when building with waf

作为构建的一部分,我需要创建一个目录。例如,使用 waf,我可以使用 Build.BuildContext.symlink_as 创建符号链接。但是我找不到像 mkdir 这样的东西。创建空目录的最佳方法是什么(最好是在安装时)。

您在 Node 对象中有一个 mkdir() 方法。所以你可以这样做:

def build(bld):

    # create foo directory in the build directory 

    bld.path.get_bld().make_node("foo").mkdir()

WAF 通常会在需要时创建目录。

如果你想在构建树之外创建一个目录,安装时,你可以使用bare python,比如:

import os

def build(bld):

    if bld.cmd == "install":

        d = os.path.join(bld.options.destdir, "what/ever/you/want")
        if not os.path.exists(d):
            os.makedirs(d)

注意bld.options.destdir可以通过--destdir选项修改:)