scons:如何定义仅在'scons -c'期间发生的命令/目标?

问题描述 投票:0回答:1

在建立目标之前,我希望创建一些目录结构,我知道我可以使用:

env = Environment()
env.Execute('mkdir -p xxx')

但是即使我进行清理,这也会导致执行“ mkdir -p”:

scons -c

然后将调用“ env.Execute”。

我希望有一些命令或目标仅在执行'scons -c'时才发生

如何实现?谢谢。

command execute scons
1个回答
1
投票

-c选项是内置的scons选项,您可以检查它是否使用GetOption('clean')设置。

然后,您可以根据'clean'选项的值有条件地调用命令。这是一个例子:

env = Environment()
if not GetOption('clean'):
    env.Execute('mkdir -p xxx')
else:
    env.Execute('echo "Cleaning up..."')

有关其他内置选项的更多信息,请参见此处:https://scons.org/doc/production/HTML/scons-user.html#sect-command-line-option-stringshttps://scons.org/doc/production/HTML/scons-man.html#options

© www.soinside.com 2019 - 2024. All rights reserved.