Имам C++ проект, който случайно се съхранява в базар репо. Този проект също използва низ #define
'd, за да покаже номера на версията си. Някой току-що попита дали можем просто да свържем този показан номер на версия с номера на ревизията на bzr repo.
И така, в псевдо-C, псевдо-баш, нещо като:
#define VERSION_STRING "revision $(bzr revno)"
//...
cout << "Starting " << VERSION_STRING;
Или нещо такова. Как бихте могли да отговорите на този въпрос? Makefile изпълнява ли скрипт, който вмъква резултата от тази команда в съответния изходен файл? Има ли макро решение за това? и т.н.
Отворен съм за всички и всички умни решения, тъй като черпя образована празна информация за това. =D
-D
за g++ и clang++:g++ -DVERSION_STRING="revision $(bzr revno)" file.cpp -c -o file.o
- person BoBTFish   schedule 15.12.2015#define VERISON_STRING "000"
в случай, че вграденият bash се провали, когатоg++
се извика. - person musasabi   schedule 15.12.2015