我的lua脚本中有以下部分:
newoption {
trigger = "build-tests",
description = "Build tests."
}
configuration "build-tests"
print("bbbbbbbbb")
include("Src/tests/tests.lua")
configuration "not build-tests"
print("aaaaaaaaaaa")
跑步premake5 gmake --help
提供:
Usage: premake5 [options] action [arguments]
OPTIONS - General
--build-benchmarks Build benchmarks.
--build-tests Build tests.
--debugger Start MobDebug remote debugger. Works with ZeroBrane Studio
--fatal Treat warnings from project scripts as errors
--file=FILE Read FILE as a Premake script; default is 'premake5.lua'
--help Display this information
但是运行premake5 --build-tests gmake
输出:
bbbbbbbbb
aaaaaaaaaaa
Building configurations...
Running action 'gmake'...
Done (362ms).
两个版本都在运行,我不明白。我正在尝试切换以选择是否要构建测试。
configuration()
是一个函数,而不是一个if-then
。您上面的例子相当于...
configuration("build-tests")
print("bbbbbbbbb")
include("Src/tests/tests.lua")
configuration("not build-tests")
print("aaaaaaaaaaa")
它对脚本中运行或不运行的代码没有影响;始终运行脚本中的所有代码,然后稍后评估配置条件。
相反,请查看实际生成的项目输出,看看事情是否正常工作。