问题描述
使用的 Scons 版本:3.0.1(由于历史原因)
我想在我的 Scons 脚本中添加一个命令行构建变量,它不受它期望的值的限制。 EnumVariable 和 Listvariable 都要求您提供允许的值或元素的列表。 我想要一个变量(就像 C++ 定义可以通过 -Dfoo=bar (或至少 -Dfoo_bar)传递给 g++ 一样)可以传递给 Scons 脚本。
什么都喜欢
scons my_define=foo_bar
或
scons my_define=foo=bar,gnarl=argl
或
scons my_define=foo my_define=bar
会起作用。
我在 user guide 或通过 Google 搜索中没有找到类似的内容。
这可能吗?如果是,如何?
解决方法
是的。它位于
的用户指南中https://scons.org/doc/production/HTML/scons-user.html#idp140637539360912
虽然各种 vars.Add*()
方法提供了经过验证的变量类型。您可以通过使用普通的 vars.Add()
这是联机帮助页中的示例。
vars.Add('CC',help='The C compiler')