【发布时间】:2017-05-27 01:36:56
【问题描述】:
使用 Cmake v3.8,我需要我的自定义命令仅在生成新构建的 .hex、.map 和 .elf 文件后运行。但是,在生成所有 *.hex、*.map 和 *.elf 文件后,该命令并未真正运行。这是我所拥有的:
add_custom_command(
POST_BUILD
COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/performCrc32.py
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT performCrc32.out
COMMENT "Running CRC32 check..."
)
add_custom_target(
performCrc32 ALL
DEPENDS performCrc32.py
performCrc32.out
)
如果有的话,我错过了什么?
【问题讨论】:
-
提供创建
.hex、.map和.elf文件的代码。 -
构建完成后会创建 .hex、.map 和 .elf 文件。我需要在构建完全完成后运行我的自定义命令。我认为添加限定符“POST_BUILD”会为我提供必要的时序要求,但事实并非如此。 performCrc32.py 在构建新的 .hex、.map 和 .elf 文件之前运行。 “execute_process()”在 Cmake 生成期间运行,因此它也没有为我提供我需要的东西。