Пролог: я идиот, раз пропустил это в документации
cmake-2.8.10.2
Как вы заставляете cmake сохранять исходные права доступа к файлам при установке каталога? Для данного проекта я хотел бы, чтобы он по существу скопировал некоторые каталоги из моего исходного дерева в дерево установки. А именно:
install(
DIRECTORY config runp
DESTINATION ${CMAKE_INSTALL_PREFIX}
PATTERN ".svn" EXCLUDE
PATTERN ".git" EXCLUDE
PATTERN "start_collection.snl" EXCLUDE
)
Все работает так, как ожидалось, за исключением того, что исполняемые скрипты копируются с неправильными правами доступа к файлам. На самом деле ни одно исходное разрешение файла не сохраняется. Глобальная установка разрешений с использованием FILE_PERMISSIONS и DIRECTORY_PERMISSIONS — это то, чего я не хочу делать, и, честно говоря, в этом контексте это было бы хаком.
В мире сценариев оболочки я бы сделал что-то простое:
for i in config runp ; do
tar cf - $i | tar -C $CMAKE_INSTALL_PREFIX -xf -
done