Scons:命令行构建变量,对允许值没有限制
Scons: command-line build variables without restrictions on allowed values
使用的 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')
使用的 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')