Russian Qt Forum
Ноябрь 24, 2024, 03:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как реализовать автонумерацию билда (сборки)?  (Прочитано 6541 раз)
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« : Май 22, 2009, 09:58 »

Как реализовать автонумерацию билда (сборки) под Windows-ом? Хотелось бы из кода иметь доступ до номера билда.
Записан
Rcus
Гость
« Ответ #1 : Май 22, 2009, 10:39 »

google "cmake build number"
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #2 : Май 22, 2009, 13:02 »

google "cmake build number"

нашлось 7232 страницы и ни чего по делу. Может ищю криво? Есть у когонибудь конкретный пример или ссылка на конкретное решение задачи?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Май 22, 2009, 13:03 »

а у меня первая ссылка:
http://www.cmake.org/pipermail/cmake/2004-January/004638.html
Записан

Юра.
roman.ks
Гость
« Ответ #4 : Июнь 11, 2009, 15:10 »

Чем собираете и какая ОС?
Записан
SASA
Гость
« Ответ #5 : Июнь 15, 2009, 18:16 »

http://www.prog.org.ru/topic_5495_0.html
Может чё интересное найдёшь.
Записан
nion_IV
Гость
« Ответ #6 : Октябрь 29, 2010, 10:12 »

http://www.prog.org.ru/topic_5495_0.html
Может чё интересное найдёшь.

Ну в той теме интересное решение с svn. А если нет svn? Или билды нужно чаще считать, чем комитишся. Я решил так:
создал в корне исходников файл build.h
Код:
#ifndef BUILD_H
#define BUILD_H
#define BUILD 1
#endif

создал батник autobuild.bat
Цитировать
echo off
set BUILD=0
SET P=%CD%
IF EXIST build.h (
   FOR /F "tokens=3 delims=, " %%i in (build.h) do set BUILD=%%i

)
set /a NEWBUILD=%BUILD%+1
echo #define BUILD %NEWBUILD% > build.h
echo build %BUILD%

добавляю #include build.h и в about достаю сборку
Цитировать
void MainWindow::about()
{
   QString translatedTextAboutQtCaption("<h3>My Programm  version 0.1.4<h3>");
   QString translatedTextAboutQtText;
   translatedTextAboutQtText = QMessageBox::tr(
      "<p>Build  %1</p>"
      "<p>text</p>"
      "<p>text</p>"
      ).arg(BUILD);
   QMessageBox *msgBox = new QMessageBox(this);
   msgBox->setText(translatedTextAboutQtCaption);
   msgBox->setInformativeText(translatedTextAboutQtText);
   //...
   msgBox->exec();
}

Теперь нужно вызвать autobuild.bat перед сборкой. В QtCreator-e в настройках проекта добавить этап сборки для релиза (а можно для любой сборки) autobuild.bat. В других IDE сделать подобную настройку сборки.
Записан
ufna
Гость
« Ответ #7 : Октябрь 29, 2010, 14:36 »

Считаю не верным запуск скрипта ПЕРЕД сборкой. Если сборка не удалась по причине ошибок, то зачем мы инкрементируем счетчик?

Я давно для этих целей написал микропрогу, которая в исходниках файлик нужный правит, но именно после того, как сборка успешно собралась, тем самым в исходниках всегда версия следующей успешной сборки.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.073 секунд. Запросов: 23.