Внедрить версию Git в исполняемый файл при удаленной сборке с помощью NetBeans

Я хотел бы встроить ревизию Git (SHA1) в мои исполняемые файлы во время сборки. Я могу сделать это локально, как это:

 git log -1 --format='%h' >version
 objcopy --input binary --output elf64-x86-64 version version.o
 # link version.o into the executable

Проблема в том, что я используюNetBeans (на Windows), чтобы построить удаленно (на Linux). Это немного парадоксально: похоже, что команда git должна выполняться на локальной машине (где находится источник), но команда objcopy должна выполняться на удаленном сервере (где происходит сборка). Это проблема, потому что, хотя NetBeans позволяет мне редактировать Makefile проекта для вставки шага перед сборкой, я не могу понять, как или где поместить команду git, чтобы она выполнялась на локальном компьютере до шагов удаленной сборки.

Я попытался создать отдельный проект NetBeans для запуска команды git на localhost, подумав, что тогда я заставлю «настоящий» проект зависеть от этого, но NetBeans, похоже, не позволяет мне создавать проект, который «ничего не делает» ( то есть он не имеет исходных файлов и не производит ни библиотеку, ни исполняемый файл - он будет генерировать только текстовый файл версии).

Я использую NetBeans 7.3 для C ++ с опцией «Автоматическое копирование» для удаленных сборок. Возможным решением может быть использование режима NFS / Samba с хранилищем Git, хранящимся на сервере, но это будет довольно разрушительным, поскольку в проекте уже несколько разработчиков используют автоматическое копирование уже долгое время. Поэтому было бы неплохо иметь решение для создания некоторых файлов локально в NetBeans перед началом удаленной сборки.

Ответы на вопрос(1)

Ваш ответ на вопрос