Можно ли вызвать функцию CMake из add_custom_target или add_custom_command? Я знаю, что мог бы переместить функцию CMake в скрипт Python (или любой другой) и вызвать его из команды add_custom_target /, но я бы хотел избежать множества скриптов рядом с существующей инфраструктурой CMake.
Чего я хочу добиться, так это использовать CPack для создания zip-пакета бинарных артефактов и публиковать их в хранилище артефактов. Для части публикации я уже создал функцию CMake, но теперь мне нужно объединить упаковку и публикацию вместе.
Спасибо за любую помощь / подсказки заранее.
Мартин
Я столкнулся с этой проблемой при написании системы сборки CMake для BVLC / Caffe. В конце концов я поместил содержимое функции в отдельный скрипт CMake и вызвал его изнутри. add_custom_target
вызывая:
add_custom_target(target_name
COMMAND ${CMAKE_COMMAND} -P path_to_script
)
Вызов CMake с -P
Флаг заставляет его выступать в качестве языка сценариев. Вы можете поместить любые функции CMake в скрипт.
Я искал то же самое, и через несколько минут я понял, что это невозможно, потому что cmake является генератором сборки-генератора.
Эта команда будет просто запущена в другое время, например, из вашей IDE, когда cmake просто не существует.