Lua 获取Premake 5中定义为标记或字符串的#定义列表
我使用自定义构建命令在C++项目中运行NASM汇编程序。我在汇编代码中使用了Lua 获取Premake 5中定义为标记或字符串的#定义列表,lua,nasm,premake,Lua,Nasm,Premake,我使用自定义构建命令在C++项目中运行NASM汇编程序。我在汇编代码中使用了%idefs来只编译我需要的代码。我正在检查与C++代码中相同的#defines,并在Premake 5中使用define()来设置它们,但另外,我需要在自定义构建命令的命令行调用中将它们传递给nasm。我正在寻找的是一种将Premake内部的#defines列表连接或字符串替换到buildcommands()调用的命令行调用字符串中的方法。是否有一个Premake或一种方法来内省lua变量并从中生成一个列表 请注意,我
%idef
s来只编译我需要的代码。我正在检查与C++代码中相同的#define
s,并在Premake 5中使用define()
来设置它们,但另外,我需要在自定义构建命令的命令行调用中将它们传递给nasm。我正在寻找的是一种将Premake内部的#define
s列表连接或字符串替换到buildcommands()
调用的命令行调用字符串中的方法。是否有一个Premake或一种方法来内省lua变量并从中生成一个列表
请注意,我的命令行调用特别是
buildcommands“nasm.exe-f win32-o%{cfg.objdir}%{file.basename}.lib%{file.abspath}-DNDEBUG”
假设我在我的premake5.lua
中设置定义{“专长A”,“专长B”}
。然后我想将-DFEAT\u A-DFEAT\u B
自动添加到构建命令中,类似于-DNDEBUG
,因此我不能简单地插入一个简单的令牌。我想我必须这样做(lua伪代码,因为我不太懂语法):
define\u flags=wks.define.join(“-D”)
buildcoommands(“nasm.exe[…]”。定义_标志)
你知道这样的事情是否可能发生吗 像这样的怎么样
buildcommands('nasm.exe [...] %{table.implode(cfg.defines, "-D", "", " ")} [...]')