У меня есть что-то подобное в моем проекте:
add_custom_command(OUTPUT somefile)
add_custom_target(tgt ALL DEPENDS somefile)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/somefile DESTINATION somedir)
Это работает нормально, но моя команда выполняется во время make
из-за ключевого слова ALL
в add_custom_target (). Я хочу, чтобы CMake запускал эту команду только при выдаче make install
, а не во время сборки.
Если я удаляю ключевое слово ALL, целая цель по умолчанию не создается, поэтому не создается какой-либо файл и make install
завершается неудачей.