0
我有rc
目錄我想在該目錄中遞歸運行xxd -i filename
並將生成的文件添加到我的項目中。cmake運行xxd作爲自定義命令
我正在檢查lua上的一些answer。我以類似的方式做了它。
SET(RESOURCE_COMPILER "xxd")
SET(COMPILED_RESOURCES "rc/base.css rc/common.js")
FOREACH(F ${COMPILED_RESOURCES})
ADD_CUSTOM_COMMAND(
OUTPUT "${COMPILED_RESOURCES}/${F}"
COMMAND ${RESOURCE_COMPILER} -i "${COMPILED_RESOURCES}/${F}"
COMMENT "Compiling ${F} to binary")
LIST (APPEND COMPILED_RESOURCES "${COMPILED_RESOURCES}/${F}")
ENDFOREACH()
但我沒有看到任何生成的文件。
我在循環中放置了一個MESSAGE。我觀察到沒有空間。但即使我用'$ {RESOURCE_COMPILER}「-i」$ {INPUT_FILE}'修復了這個問題,也沒有生成任何文件。 –
在循環內部放置一個'message'將不會給出由'add_custom_command'執行的命令的正確印象。參數全部單獨傳遞給xxd,並且適當添加空格。應該不需要''-i「''。如果你想檢查你的命令是否正確,你可以暫時添加'execute_process(COMMAND $ {RESOURCE_COMPILER} -i $ {CMAKE_SOURCE_DIR} /rc/base.css $ {CMAKE_SOURCE_DIR} /rc/base.css.hex)'到你的CMakeLists.txt。這將在每次調用cmake時運行,並讓你看看命令是否在做你想做的。 – Fraser
那麼我應該用'execute_process'替換ADD_CUSTOM_COMMAND嗎? –