Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将cmake与自定义文件生成器一起使用_Cmake - Fatal编程技术网

将cmake与自定义文件生成器一起使用

将cmake与自定义文件生成器一起使用,cmake,Cmake,我想使用CMake生成模糊的lua文件以供交付。对于我来说,我无法使用add_custom_命令+add_custom_目标来为我构建这些文件。我遗漏了一些东西 ADD_CUSTOM_TARGET(LUABIND_COMPILED_FILES ALL) FOREACH(F ${LUA_SCRIPT_FILES}) ADD_CUSTOM_COMMAND( OUTPUT ${LUA_COMPILED_SCRIPTS}/${F} COMMAND ${LUAC} -o ${LUA_COMPILED_SC

我想使用CMake生成模糊的lua文件以供交付。对于我来说,我无法使用add_custom_命令+add_custom_目标来为我构建这些文件。我遗漏了一些东西

ADD_CUSTOM_TARGET(LUABIND_COMPILED_FILES ALL)
FOREACH(F ${LUA_SCRIPT_FILES})
ADD_CUSTOM_COMMAND(
OUTPUT ${LUA_COMPILED_SCRIPTS}/${F}
COMMAND ${LUAC} -o ${LUA_COMPILED_SCRIPTS}/${F}
COMMENT "Compiling ${F} to binary"
ADD_DEPENDENCIES(LUABIND_COMPILED_FILES ${LUA_COMPILED_SCRIPTS}/${F})
ENDFOREACH()

出于某种原因,当我运行cmake+make时,输出告诉我对于目标LUABIND\u编译的\u文件没有什么可做的。我是不是遗漏了什么?提前感谢。

添加依赖项命令只能用于添加顶级目标之间的依赖项。但是,
ADD_CUSTOM_命令
命令会生成输出文件,但不会添加新目标

要使自定义目标依赖于生成的文件,请使用命令的“依赖”选项:


看起来是这样的!谢谢你的帮助!
set (LUA_COMPILED_FILES "")
foreach(F ${LUA_SCRIPT_FILES})
    add_custom_command(
        OUTPUT "${LUA_COMPILED_SCRIPTS}/${F}"
        COMMAND ${LUAC} -o "${LUA_COMPILED_SCRIPTS}/${F}"
        COMMENT "Compiling ${F} to binary")
    list (APPEND LUA_COMPILED_FILES "${LUA_COMPILED_SCRIPTS}/${F}")
endforeach()

add_custom_target(LUABIND ALL DEPENDS ${LUA_COMPILED_FILES})