Скрипт для компиляции проекта из командной строки

В пред идущих статьях рассматривалась компиляция проекта из командной строки, настройки компиляции проекта из командной строки, компиляция проекта и использование EurekaLog. Итогом всех этих экспериментом является приведенный нижнее скрипт. В данном скрипте изначально задаются в переменные все параметры компиляции ,а так же делается резервное копирование пред идущей версии исполняемого файла.


call "rsvars.bat"

rem Путь к файлу поекта

set PPath=d:\project\Test1.dproj

rem Путь для сохранения резервной копии файла

set PPathToBackUp=\\server\app\BackUp\

rem Путь куда надо скопировать полученный файл

set PPathToExe=\\server\app\ClientStation\

rem Путь к локальной папке куда будет производиться компиляция

set PPathToBuild=e:\Projects\Build\

rem Имая скомпилированного файла

set ExeName=test1.exe

rem Имя с компилированного map - файла

set MapName=Test1.map

rem Название сохраненного в проекте списка параметров компиляции

set PConfig="BuildTest"

rem Удаляем исполняемый файл из локальной дирректории, куда компилируется проект

del %PPathToBuild%%ExeName%

rem Удаляем map - файл файл из локальной дирректории, куда компилируется проект

del %PPathToBuild%%MapName%

remКомпилируем проект

MSBuild "%PPath%" /property:Configuration="%PConfig%";OutputPath=%PPathToBuild%  /consoleloggerparameters:NoItemAndPropertyList

rem Добавляем в полученный исполняемый файл EurekaLog модули. Прямой вызов предпочтительнее вызова из Post Build Event – поскольку в студии это добавляется автоматически экспертом, и фактически приводитк к двойной проверки, есть эти модули ли нет

"ecc32.exe" --el_alter_exe"%PPath%;%PPathToBuild%%ExeName%"

rem формируем для имени резервного файла имя, которое будет состоять из даты / времени когда он был скорован

set FName=%time:~0,-3%

set FName=%FName::=_%

set FName=%DATE%_%FName%

rem Если дирреткория куда копируется бекап не существует, то создадим ее.

if not exist %PPathToBackUp% md "%PPathToBackUp%"

rem копируем файл с резерв

copy "%PPathToExe%%ExeName%" "%PPathToBackUp%%ExeName%_%FName%" /Y

rem Заменяем существующий файл новым.

copy "%PPathToBuild%%ExeName%" "%PPathToExe%" /Y

rem смотрим, что было написано в консоль

Pause

Share

Tags: ,

Leave a Reply