Premake,命令行选项不做任何事情

Premake, command line options don't do anything

我的 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).

两个版本都是运行,我不明白。我正在尝试切换到 select 是否要构建测试。

configuration() 是一个函数,而不是 if-then。你上面的例子等同于...

configuration("build-tests")
print("bbbbbbbbb")
include("Src/tests/tests.lua")

configuration("not build-tests")
print("aaaaaaaaaaa")

它对您的脚本中 运行 或 运行 中的代码没有影响; 全部你脚本中的代码总是运行,然后配置条件稍后评估。

而是查看实际生成的项目输出,看看是否正常。