这是我的代码:
add_custom_target (ts2qm)
file (GLOB _TS_FILES "*.ts")
foreach (_TS_FILE ${_TS_FILES})
# ...
add_custom_command(TARGET ts2qm POST_BUILD COMMAND "runme")
# ...
endforeach (_TS_FILE ${_TS_FILES})
add_dependencies(../${PACKAGE} ts2qm)
所以当我点击" make"这个目标是按照预期触发的,但是......也是在#34; make install" ....这里提出的问题是:如何避免触发" make install"?
感谢。
/ EDIT1:
file (GLOB _TS_FILES "*.ts")
foreach (_TS_FILE ${_TS_FILES})
# ...
add_custom_command(OUTPUT locales.txt COMMAND "runme" )
# ...
endforeach (_TS_FILE ${_TS_FILES})
add_custom_target (locales DEPENDS locales.txt)
add_dependencies(../${PACKAGE} locales)
结果相同:(
答案 0 :(得分:0)
目标“install”取决于目标“all”,因此您无法使用目标级依赖项来避免它。
每次运行目标时都会运行add_custom_command(TARGET)
命令。您可以尝试使用add_custom_command(OUTPUT)
设置文件级依赖项,因此仅在修改.ts文件时才运行该命令。