Страницы

Поиск по вопросам

среда, 22 мая 2019 г.

Добавить хеш git в исходный код

Как заставить Visual Studio автоматом при сборке присваивать макросу GIT_HASH значение хеша git, без использования дополнительных утилит/установки поддержки дополнительных языков. Чтобы на чистой машине, с установленным Visual Studio и git можно было собрать такой код:
std::cout << "git hash: " << GIT_HASH << std::endl;


Ответ

Используйте Pre-Build Event, в нем выполняйте echo и git rev-parse:
echo | set /p _=#define GIT_HASH > rev.h git rev-parse --short=12 HEAD >> rev.h
В свойствах проекта можно задать сразу несколько команд отдельными строчками. Конструкция echo | set /p _= позволяет убрать перевод строки.
Пример использования rev.h :
#include "rev.h" #define STRINGIFY_(x) #x #define STRINGIFY(x) STRINGIFY_(x) #define GIT_HASH_STR STRINGIFY(GIT_HASH)
int main() { std::cout << GIT_HASH_STR << '
'; }

Комментариев нет:

Отправить комментарий