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

我想使用CMake生成混淆的lua文件以供交付。 对于我的生活,我无法获得add_custom_command + add_custom_target来为我构建这些文件。 有一些我错过了。

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 +使输出告诉我,目标LUABIND_COMPILED_FILES没有什么可做的。 我在这里错过了什么吗? 提前致谢。


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

要使自定义目标取决于生成的文件,请使用add_custom_target命令的DEPENDS选项:

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})
链接地址: http://www.djcxy.com/p/31873.html

上一篇: Using cmake with a custom file generator

下一篇: CMake: how do i depend on output from a custom target?