@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