我目前正在尝试使用两个可执行文件设置一个 CMake 项目,其中一个是用于为另一个生成代码的简单实用程序。CMakeLists.txt 的相关位:
add_executable(lua2c lua2c.c)
add_custom_command(OUTPUT lcode.c COMMAND lua2c lcode.lua lcode.c MAIN_DEPENDENCY lua2c)
...
add_executable(darpem ... lcode.c)
使用此设置,目标lua2c
最终没有依赖关系,这会导致cc
抱怨没有输入文件。如果我删除该add_custom_command
行,则lua2c
正确构建,但显然不会生成文件lcode.c
。这在 CMake 中可行吗?我需要添加各种子目录依赖项吗?
在 Ubuntu 13.04、x86-64 上使用 CMake 版本 2.8.1。
注意:对于我的特殊情况,因为lua2c
足够简单,我可以使用不同的语言。但是,我仍然很好奇这怎么可能(对于更复杂的设置)。