Не используйте функцию file(COPY...)
, но добавьте следующую команду в add_custom_command
:
COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_BINARY_DIR}/${fn_c}
${CMAKE_SOURCE_DIR}/include/rpc/marshall
Но для того, что вы собираетесь делать, я бы посоветовал вам поддерживать чистоту дерева исходных текстов, добавляя напрямую сгенерированные файлы из каталога сборки. Это может сломаться, например, если вы захотите создать два разных дерева сборки из одного исходного дерева.
редактировать:
CMAKE_COMMAND задокументировано в разделе переменных онлайновой документации по man-странице (ищите CMAKE_COMMAND, а не $ {CMAKE_COMMAND}.
В командной строке CMAKE -E
покажет вам список доступных переносимых команд.