如何获取system()的值?
How to get the value of system()?
如何获取premake5中system()的当前值?
(以及更普遍的功能,如 architecture() 或 platform())
我尝试打印它,但它是一个函数,当我尝试打印 system() 的 return 值时,我得到 "bad argument #1 to 'tostring' (value expected)".
Premake 不能那样工作,没有 "current" 版本的数据。您必须指定要应用当前过滤器集的上下文;查看 src/base/oven.lua 了解最终数据集是如何构建的。
如果您只是想在稍后的过程中将系统(或体系结构或平台)的值放入表达式中(并且您使用的是 Premake 5),请查看 tokens:
targetdir "bin/%{cfg.system}/%{cfg.architecture}"
令牌也可以evaluate任意Lua表达式。
my_system_map = { -- must be global, so token evaluator can find it
windows = "Win32",
linux = "Posix",
macosx = "Mac"
}
targetdir "bin/%{my_system_map[cfg.system]}"
有帮助吗?
如何获取premake5中system()的当前值? (以及更普遍的功能,如 architecture() 或 platform())
我尝试打印它,但它是一个函数,当我尝试打印 system() 的 return 值时,我得到 "bad argument #1 to 'tostring' (value expected)".
Premake 不能那样工作,没有 "current" 版本的数据。您必须指定要应用当前过滤器集的上下文;查看 src/base/oven.lua 了解最终数据集是如何构建的。
如果您只是想在稍后的过程中将系统(或体系结构或平台)的值放入表达式中(并且您使用的是 Premake 5),请查看 tokens:
targetdir "bin/%{cfg.system}/%{cfg.architecture}"
令牌也可以evaluate任意Lua表达式。
my_system_map = { -- must be global, so token evaluator can find it
windows = "Win32",
linux = "Posix",
macosx = "Mac"
}
targetdir "bin/%{my_system_map[cfg.system]}"
有帮助吗?