我希望能够在从 scons 安装一些 python 脚本时替换模板变量('$(SOFTWARE_VERSION)')。 scons已经有这样的功能了吗?如果没有,那么挂钩 scons 安装过程的最佳方法是什么,以便我可以在安装过程中执行此操作?
你可以使用Substfile
方法。这需要一个输入文件并生成一个输出文件来替换标记的变量。所以如果你有script.py.in
:
#!/usr/bin/python
print "$SOFTWARE_VERSION"
然后您可以使用以下 SConsctruct 文件生成输出:
env = Environment(tools=['textfile'])
script_dict = {'\$SOFTWARE_VERSION': '1.0'}
env.Substfile('script.py.in', SUBST_DICT = script_dict)
你需要逃离$
在字符串中'\$SOFTWARE_VERSION'
否则 SCons 将其解释为内部环境变量。结果将是一个文件script.py
包含以下内容:
#!/usr/bin/python
print "1.0"
然后您可以使用以下命令安装生成的替换文件env.Install
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)