| @echo off |
| REM Copyright (C) 2016 and later: Unicode, Inc. and others. |
| REM License & terms of use: http://www.unicode.org/copyright.html |
| REM ******************************************************************** |
| |
| REM Don't add additional global environment variables, keep the variables local to this script. |
| rem setlocal |
| |
| set ICU_ARCH=%1 |
| set ICU_DBRL=%2 |
| |
| if "%1" == "" ( |
| echo Usage: %0 "x86 or x64" "Debug or Release" |
| exit /b 1 |
| ) |
| |
| if "%2" == "" ( |
| echo Usage: %0 %1 "Debug or Release" |
| exit /b 1 |
| ) |
| |
| set ICU_ICUDIR="%~dp0"\..\..\.. |
| set ICU_SAMPLESDIR=%ICU_ICUDIR%\source\samples |
| |
| if "%ICU_ARCH%" == "x64" ( |
| set ICU_BINDIR=%~dp0..\..\..\bin64 |
| ) else ( |
| set ICU_BINDIR=%~dp0..\..\..\bin |
| ) |
| |
| if not exist "%ICU_BINDIR%" ( |
| echo Error '%ICU_BINDIR%' does not exist! |
| echo Have you built all of ICU yet ? |
| goto :eof |
| ) |
| |
| REM Change the codepage to UTF-8 in order to better handle non-ASCII characters from the samples. |
| echo Setting codepage to UTF-8 |
| chcp 65001 |
| |
| echo Testing ICU samples in %ICU_ICUDIR% arch=%ICU_ARCH% type=%ICU_DBRL% |
| set PATH=%ICU_BINDIR%;%PATH% |
| pushd %ICU_BINDIR% |
| |
| set SAMPLE_BREAK=%ICU_SAMPLESDIR%\break\%ICU_ARCH%\%ICU_DBRL%\break.exe |
| set SAMPLE_CAL=%ICU_SAMPLESDIR%\cal\%ICU_ARCH%\%ICU_DBRL%\cal.exe |
| set SAMPLE_CASE=%ICU_SAMPLESDIR%\case\%ICU_ARCH%\%ICU_DBRL%\case.exe |
| set SAMPLE_CITER=%ICU_SAMPLESDIR%\citer\%ICU_ARCH%\%ICU_DBRL%\citer.exe |
| set SAMPLE_COLL=%ICU_SAMPLESDIR%\coll\%ICU_ARCH%\%ICU_DBRL%\coll.exe |
| set SAMPLE_CSDET=%ICU_SAMPLESDIR%\csdet\%ICU_ARCH%\%ICU_DBRL%\csdet.exe |
| set SAMPLE_DATE=%ICU_SAMPLESDIR%\date\%ICU_ARCH%\%ICU_DBRL%\date.exe |
| set SAMPLE_DATEFMT=%ICU_SAMPLESDIR%\datefmt\%ICU_ARCH%\%ICU_DBRL%\datefmt.exe |
| set SAMPLE_DTITVFMT=%ICU_SAMPLESDIR%\dtitvfmtsample\%ICU_ARCH%\%ICU_DBRL%\dtitvfmtsample.exe |
| set SAMPLE_DTPTNG=%ICU_SAMPLESDIR%\dtptngsample\%ICU_ARCH%\%ICU_DBRL%\dtptngsample.exe |
| set SAMPLE_MSGFMT=%ICU_SAMPLESDIR%\msgfmt\%ICU_ARCH%\%ICU_DBRL%\msgfmt.exe |
| set SAMPLE_NUMFMT=%ICU_SAMPLESDIR%\numfmt\%ICU_ARCH%\%ICU_DBRL%\numfmt.exe |
| set SAMPLE_PLURFMTSAMPLE=%ICU_SAMPLESDIR%\plurfmtsample\%ICU_ARCH%\%ICU_DBRL%\plurfmtsample.exe |
| set SAMPLE_PROPS=%ICU_SAMPLESDIR%\props\%ICU_ARCH%\%ICU_DBRL%\props.exe |
| set SAMPLE_STRSRCH=%ICU_SAMPLESDIR%\strsrch\%ICU_ARCH%\%ICU_DBRL%\strsrch.exe |
| set SAMPLE_TRANSLIT=%ICU_SAMPLESDIR%\translit\%ICU_ARCH%\%ICU_DBRL%\translit.exe |
| set SAMPLE_UCITER8=%ICU_SAMPLESDIR%\uciter8\%ICU_ARCH%\%ICU_DBRL%\uciter8.exe |
| set SAMPLE_UCNV=%ICU_SAMPLESDIR%\ucnv\%ICU_ARCH%\%ICU_DBRL%\ucnv.exe |
| REM udata needs changes to the vcxproj to change the output locations for writer/reader. |
| rem set SAMPLE_UDATA_WRITER=%ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL%\writer.exe |
| rem set SAMPLE_UDATA_READER=%ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL%\reader.exe |
| set SAMPLE_UFORTUNE=%ICU_SAMPLESDIR%\ufortune\%ICU_ARCH%\%ICU_DBRL%\ufortune.exe |
| set SAMPLE_UGREP=%ICU_SAMPLESDIR%\ugrep\%ICU_ARCH%\%ICU_DBRL%\ugrep.exe |
| REM There is also the 'resources' project in VS. |
| set SAMPLE_URESB=%ICU_SAMPLESDIR%\uresb\%ICU_ARCH%\%ICU_DBRL%\uresb.exe |
| set SAMPLE_USTRING=%ICU_SAMPLESDIR%\ustring\%ICU_ARCH%\%ICU_DBRL%\ustring.exe |
| |
| |
| @set THT=break |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_BREAK% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=cal |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_CAL% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=case |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_CASE% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=citer |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_CITER% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=coll |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_COLL% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=csdet |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_CSDET% %ICU_SAMPLESDIR%\csdet\readme.txt |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=date |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_DATE% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=datefmt |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_DATEFMT% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=dtitvfmtsample |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_DTITVFMT% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=dtptngsample |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| pushd %ICU_SAMPLESDIR%\dtptngsample\%ICU_ARCH%\%ICU_DBRL% |
| %SAMPLE_DTPTNG% |
| popd |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=msgfmt |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_MSGFMT% arg1 arg2 |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=numfmt |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_NUMFMT% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=plurfmtsample |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_PLURFMTSAMPLE% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=props |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_PROPS% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=strsrch |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_STRSRCH% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=translit |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_TRANSLIT% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=citer8 |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_UCITER8% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=ucnv |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| pushd %ICU_SAMPLESDIR%\ucnv |
| %SAMPLE_UCNV% |
| popd |
| if ERRORLEVEL 1 goto :SampleError |
| |
| REM TODO: udata needs changes to the vcxproj file to fix the output locations for writer/reader. |
| @set THT=udata |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| pushd %ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL% |
| @echo TODO: udata needs changes to the vcxproj file to fix the output locations for writer/reader. |
| @echo Skipping %THT% |
| rem %SAMPLE_UDATA_WRITER% |
| rem %SAMPLE_UDATA_READER% |
| popd |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=ufortune |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| if "%ICU_ARCH%" == "x64" ( |
| @echo The ufortune sample currently only runs on x86. |
| @echo Skipping %THT%. |
| ) else ( |
| %SAMPLE_UFORTUNE% |
| if ERRORLEVEL 1 goto :SampleError |
| ) |
| |
| @set THT=ugrep |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| echo Looking for "ICU" in '%ICU_SAMPLESDIR%\ugrep\readme.txt' with ugrep.exe |
| %SAMPLE_UGREP% ICU %ICU_SAMPLESDIR%\ugrep\readme.txt |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=uresb |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| pushd %ICU_SAMPLESDIR%\uresb |
| %SAMPLE_URESB% en |
| %SAMPLE_URESB% root |
| %SAMPLE_URESB% sr |
| popd |
| if ERRORLEVEL 1 goto :SampleError |
| |
| @set THT=ustring |
| @echo. |
| @echo ==== %THT% ========================================================================= |
| %SAMPLE_USTRING% |
| if ERRORLEVEL 1 goto :SampleError |
| |
| |
| |
| rem All done |
| goto :QuitWithNoError |
| |
| :SampleError |
| echo. |
| echo ERROR: Sample program %THT% did not exit cleanly. Stopping execution. |
| echo. |
| goto :QuitWithError |
| |
| :QuitWithNoError |
| echo. |
| popd |
| exit /b 0 |
| |
| :QuitWithError |
| echo. |
| popd |
| rem Exit with non-zero error code. |
| exit /b 1 |