我正在使用自定义构建命令.asm
在我的 C++ 项目中的文件上运行 nasm 汇编程序。我%idef
在汇编代码中使用 s 来只编译我需要的代码。我正在检查与#define
C++ 代码中相同的 s 并define()
在 Premake 5 中使用来设置它们,但另外我需要在我的自定义构建命令中的命令行调用中将它们传递给 nasm。我正在寻找的是一种将 Premake 内部#define
s 列表连接或字符串替换为调用的命令行调用字符串的方法buildcommands()
。是否有 Premake Token或内省 lua 变量并从中生成列表的方法?
请注意,我的命令行调用具体是
buildcommands "nasm.exe -f win32 -o %{cfg.objdir}%{file.basename}.lib %{file.abspath} -DNDEBUG"
假设我defines { "FEAT_A", "FEAT_B" }
在我的premake5.lua
. 然后我想-DFEAT_A -DFEAT_B
自动添加到类似于的构建命令中,-DNDEBUG
所以我不能简单地插入一个简单的令牌。我想我必须做这样的事情(lua 伪代码,因为我真的不知道语法):
define_flags = wks.defines.join(" -D")
buildcoommands("nasm.exe [...]"..define_flags)
你知道这样的事情是否可能吗?