LINUX.ORG.RU

Указание версии или ревизии при компиляции


1

1

Собственно интересует следующее, макросы в gcc, которыми можно было бы пользоваться для обозначения сборок, допустим дата и время сборки и т.д.

Так же приветствуется рассказ о том кто как связывает это системами контроля версий.

★★★

Есть тупой, но надежный вариант - генерировать version.h в начале сборки.

ratatosk
()
Ответ на: комментарий от Manhunt

вот ктобы сказал как это делается с qmake

visual ★★★
() автор топика
__DATE__
__TIME__

По названиям, думаю понятно, что делают эти определения препроцессора.

random_linux_user
()

Меня тоже заинтересовало: чтобы вручную не нумеровать, а нумеровать, скажем, по дням сборки вида X.XX.XX, где вся цифра XXXXX - кол-во дней сборки программы (т.е., скажем, правлю я ее сегодня, к версии прибавляется 1, через две недели вспоминаю - прибавляется еще 1).

Как бы это так на макросах gcc замутить? Или через cmake?

Можно, наверное, сделать файлик, в котором хранить текущий номер. При каждой компиляции проверять, сколько прошло времени с момента ctime этого файла. Если больше 24 часов - инкрементировать его содержимое. Надо придумать, как это на cmake сделать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Зачем мне SVN только на локальной машине?

Ну, тут дело вкуса. Я например Hg использую вообще везде. Хотя, бытует мнение, что SCM/VCS полезны вообще всегда — даже в проектах, над которыми работают в одиночку.

random_linux_user
()
Ответ на: комментарий от Eddy_Em

Ну собственно, занимаешься фигней, которую можно поручить hg/bitbucket

Brainerazer
()
Ответ на: комментарий от Eddy_Em

> Зачем мне SVN только на локальной машине?

Ну возьмите тогда CVS;-)

Сист. управления версиями очень удобны, при минимальном использовании они делают то же самое что Ваш скриптик (и так же просто), но при этом появляется еще куча возможностей.

AIv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.