在建立目标之前,我希望创建一些目录结构,我知道我可以使用:
env = Environment()
env.Execute('mkdir -p xxx')
但是即使我进行清理,这也会导致执行“ mkdir -p”:
scons -c
然后将调用“ env.Execute”。
我希望有一些命令或目标仅在执行'scons -c'时才发生
如何实现?谢谢。
-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