我的CMakeLists.txt需要包含oem.cmake
INCLUDE (oem.cmake)
oem.cmake的内容类似于
SET (PRODUCT_NAME "...")
SET (PRODUCT_VENDOR "...")
...
但必须由lua脚本生成
lua generate_oem_conf.lua "<oem>"
我尝试了ADD_CUSTOM_COMMAND,但它不会被执行并且报告找不到oem.cmake。
在包括?
之前,有什么方法可以让oem.cmake生成答案 0 :(得分:1)
问题是,在编译程序时,您运行 add_custoum_command 的命令会运行。
include 需要您在配置期间包含的文件,即运行cmake时。
您可以在配置期间使用execute_process来运行要运行的命令 例如
execute_process(COMMAND "lua" "generate_oem_conf.lua \"<oem>\""
WORKING_DIRECTORY ${PATH_TO_GEN_LUA_FILE} )
include(oem.cmake)
为了工作,lua必须在你的PATH中。 也许你必须逃避&lt; 和&gt; 字符。