46 lines
1.5 KiB
Batchfile
46 lines
1.5 KiB
Batchfile
@echo off
|
|
setlocal
|
|
|
|
REM LiveEA compiler batch
|
|
REM Usage: build_liveea.bat [optional_full_path_to_LiveEA.mq5]
|
|
|
|
set "EA_SRC=%~dp0LiveEA.mq5"
|
|
if not "%~1"=="" (
|
|
if exist "%~1" set "EA_SRC=%~1"
|
|
)
|
|
|
|
set "LOG=%TEMP%\LiveEA_compile.log"
|
|
if exist "%LOG%" del /f /q "%LOG%" >nul 2>&1
|
|
|
|
REM Resolve MetaEditor path
|
|
if defined METAEDITOR_PATH (
|
|
set "METAEDITOR=%METAEDITOR_PATH%"
|
|
) else (
|
|
set "METAEDITOR=C:\Program Files\MetaTrader 5\metaeditor64.exe"
|
|
if not exist "%METAEDITOR%" set "METAEDITOR=C:\Program Files (x86)\MetaTrader 5\metaeditor.exe"
|
|
if not exist "%METAEDITOR%" (
|
|
for /f "usebackq delims=" %%A in (`powershell -NoProfile -Command "Get-ChildItem -Path 'C:\\Program Files','C:\\Program Files (x86)' -Filter metaeditor*.exe -Recurse -ErrorAction SilentlyContinue | Sort-Object -Property LastWriteTime -Descending | Select-Object -First 1 -ExpandProperty FullName"`) do set "METAEDITOR=%%A"
|
|
)
|
|
)
|
|
|
|
if not exist "%METAEDITOR%" (
|
|
echo [ERROR] MetaEditor not found. Set METAEDITOR_PATH env var to the full path of metaeditor64.exe
|
|
echo Example: setx METAEDITOR_PATH "C:\\Program Files\\MetaTrader 5\\metaeditor64.exe" /M
|
|
exit /b 1
|
|
)
|
|
|
|
echo [INFO] Compiling: "%EA_SRC%"
|
|
echo [INFO] Using MetaEditor: "%METAEDITOR%"
|
|
|
|
"%METAEDITOR%" /compile:"%EA_SRC%" /log:"%LOG%"
|
|
set ERR=%ERRORLEVEL%
|
|
|
|
echo ---------------- Compiler Log ----------------
|
|
if exist "%LOG%" (
|
|
type "%LOG%"
|
|
) else (
|
|
echo (no log produced)
|
|
)
|
|
echo ------------------------------------------------
|
|
|
|
exit /b %ERR%
|