Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Скомпилировать проет в двух вариантах   Найти похожие ветки 

 
StriderMan ©   (2006-06-15 18:45) [0]

Вобщем задача такая

У проекта есть условия компиляции ({$IFDEF...}).
Каждый раз нужно компилить два экзешника с разными условиями ({$DEFINE ...}).

Как такое дело автоматизировать? кто подскажет?


 
Desdechado ©   (2006-06-15 18:46) [1]

создать группу проектов
перестраивать всю группу сразу


 
TUser ©   (2006-06-15 21:56) [2]

Написать скриптовую программу, которая будет компилировать проект два раза подряд с разными -D, да еще и гонять их по некоторым тестам.


 
novill ©   (2006-06-16 10:03) [3]

Как такое реализовывал я:
шаг 1: ключевые define выносятся в отдельный файл
шаг 2: в проект этот файл подключается {$include ...}
шаг 3: пишется .bat файл, в котором :
 - в файл записываются одни условия (echo >файл настроек),
 - проект компилится (командной строкой)
 - exe-файл скидывается в нужную папку
 - в файл записывают дргуие условия и комплируется


 
TUser ©   (2006-06-16 10:33) [4]

> novill ©   (16.06.06 10:03) [3]

Перед второй компиляцией удалить все dcu. Иначе модули будут линковаться в "первом" варианте. Проверено на D7.


 
novill ©   (2006-06-16 10:56) [5]

Не помешает.
Хотя вот сейчас не D6 проверил, в простом случае работает и без удаления.

StriderMan , текст батника.


CLS
echo {$define my} >tests.my
rem сюда всталяется процедура удаления
c:\progra~1\borland\delphi6\bin\dcc32.exe project1.dpr -b -cg -q   >make.log
ren project1.exe def.exe
echo {} >tests.my
rem сюда всталяется процедура удаления
c:\progra~1\borland\delphi6\bin\dcc32.exe project1.dpr -b -cg -q   >>make.log
ren project1.exe NOTdef.exe


Кстати, если исходники проекта разнесены на несколько директорий, то очень удобно пользоватся ключем /s  у комады del


 
StriderMan ©   (2006-06-16 15:04) [6]


> novill ©

спасибо! хороший подход


 
Defunct ©   (2006-06-17 09:18) [7]

TUser ©   (16.06.06 10:33) [4]

C -b не будут



Страницы: 1 вся ветка

Текущий архив: 2006.07.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
15-1151337136
_RusLAN
2006-06-26 19:52
2006.07.30
Linux. Небольшой. Какой выбрать?


1-1150093819
atruhin
2006-06-12 10:30
2006.07.30
Как определить что drag&drop осуществляется в пределах приложения


15-1151649881
MBo
2006-06-30 10:44
2006.07.30
Пятничные похождения Васи Пупкина и другие задачки ;)


2-1152546932
PP
2006-07-10 19:55
2006.07.30
SQL запрос на выборку из трёх таблиц


2-1152725470
RobinBad
2006-07-12 21:31
2006.07.30
TRichEdit