![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скомпилировать проет в двух вариантах
StriderMan © (2006-06-15 18:45:00)Вобщем задача такая
У проекта есть условия компиляции ({$IFDEF...}).
Каждый раз нужно компилить два экзешника с разными условиями ({$DEFINE ...}).
Как такое дело автоматизировать? кто подскажет?
Defunct (2006-06-17 09:18:00) [1]TUser © (16.06.06 10:33) [4]
C -b не будут
StriderMan (2006-06-16 15:04:00) [2]
> novill ©
спасибо! хороший подход
novill (2006-06-16 10:56:00) [3]Не помешает.
Хотя вот сейчас не 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
TUser (2006-06-16 10:33:00) [4]> novill © (16.06.06 10:03) [3]
Перед второй компиляцией удалить все dcu. Иначе модули будут линковаться в "первом" варианте. Проверено на D7.
novill (2006-06-16 10:03:00) [5]Как такое реализовывал я:
шаг 1: ключевые define выносятся в отдельный файл
шаг 2: в проект этот файл подключается {$include ...}
шаг 3: пишется .bat файл, в котором :
- в файл записываются одни условия (echo >файл настроек),
- проект компилится (командной строкой)
- exe-файл скидывается в нужную папку
- в файл записывают дргуие условия и комплируется
TUser (2006-06-15 21:56:00) [6]Написать скриптовую программу, которая будет компилировать проект два раза подряд с разными -D, да еще и гонять их по некоторым тестам.
Desdechado (2006-06-15 18:46:00) [7]создать группу проектов
перестраивать всю группу сразу