Premake, 命令行选项无效

我在我的lua脚本中有以下部分:

newoption {
    trigger     = "build-tests",
    description = "构建测试"
}

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

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

运行premake5 gmake --help会给出以下信息:

用法:premake5 [选项] 动作 [参数]

选项-常规

 --build-benchmarks  构建基准。
 --build-tests       构建测试。
 --debugger          启动MobDebug远程调试器。适用于ZeroBrane Studio
 --fatal             将来自项目脚本的警告视为错误
 --file=FILE         读取文件作为Premake脚本;默认为'premake5.lua'
 --help              显示此信息

但是,运行premake5 --build-tests gmake输出:

bbbbbbbbb
aaaaaaaaaaa
Building configurations...
Running action 'gmake'...
Done (362ms).

两个版本都在运行,我不明白。 我正在尝试获取一个开关,以选择是否要构建测试。

点赞
用户93921
用户93921

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

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

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

它对于你的脚本中运行或不运行的代码没有影响;_所有_的脚本代码总是被运行,然后配置条件稍后评估。

相反,查看实际生成的项目输出以查看事情是否正常工作。

2020-05-29 19:46:30