code_twain/build_ds.bat

125 lines
3.2 KiB
Batchfile

@echo off
echo "Parameter 1:hg | lsc| hw | zj | cts | zg"
echo "Parameter 2:x86 | x64 "
echo "Parameter 3: 100 | 200 ... "
set OEM=%1
set CPU=%2
set PID=0x%3
set OEM_DIR=""
set NAME=twain%3.ds
set TMP_PATH=%~dp0..\tmp\%CPU%
set BIN_PATH=%~dp0..\release\win\%CPU%
set LIB_PATH=%~dp0..\sdk\lib\win\%CPU%
rem -----------------------------------------------------------------------------------------------------------------------------------
if "%OEM%" equ "hg" (
set OEM_DIR=huagao
set CL=/DOEM_HUAGAO /DPRODUCT_PID=%PID%
set NAME=huagao%NAME%
goto oem
)
if "%OEM%" equ "hw" (
set OEM_DIR=hanvon
set CL=/DOEM_HANWANG /DPRODUCT_PID=%PID%
set NAME=hanvon%NAME%
goto oem
)
if "%OEM%" equ "lsc" (
set OEM_DIR=lanxum
set CL=/DOEM_LISICHENG /DPRODUCT_PID=%PID%
set NAME=lanxum%NAME%
goto oem
)
if "%OEM%" equ "zj" (
set OEM_DIR=microtek
set CL=/DOEM_ZHONGJING /DPRODUCT_PID=%PID%
set NAME=microtek%NAME%
goto oem
)
if "%OEM%" equ "zg" (
set OEM_DIR=unis
set CL=/DOEM_ZIGUANG /DPRODUCT_PID=%PID%
set NAME=unis%NAME%
goto oem
)
if "%OEM%" equ "cts" (
set OEM_DIR=cumtenn
set CL=/DOEM_CANGTIAN /DPRODUCT_PID=%PID%
set NAME=cumtenn%NAME%
goto oem
)
if "%OEM%" equ "neu" (
set OEM_DIR=neutral
set CL=/DOEM_NEUTRAL /DPRODUCT_PID=%PID%
set NAME=neu%NAME%
goto oem
)
echo "Parameter 1:oem is fail"
exit 1
:oem
echo %OEM%
rem -----------------------------------------------------------------------------------------------------------------------------------
if "%CPU%" equ "x64" goto sys
if "%CPU%" equ "x86" goto sys
echo "Parameter 2:sys is fail"
exit 1
:sys
echo %CPU%
rem -----------------------------------------------------------------------------------------------------------------------------------
if "%PID%" equ "" (
echo "Lost PID parameter"
exit 1
)
set TMP_PATH=%TMP_PATH%\%OEM_DIR%\Release
set BIN_PATH=%BIN_PATH%\OEM\%OEM_DIR%
set LIB_PATH=%LIB_PATH%\OEM\%OEM_DIR%
rem -----------------------------------------------------------------------------------------------------------------------------------
echo oem=%OEM%
echo cpu=%CPU%
echo pe-path=%BIN_PATH%
echo lib-path=%LIB_PATH%
echo tmp-path=%TMP_PATH%
rem -----------------------------------------------------------------------------------------------------------------------------------
if "%VSCMD_VER%" neq "" goto compile
set dev=""
for /f "tokens=1,2,* " %%i in ('reg QUERY "HKEY_CLASSES_ROOT\CLSID\{2E1517DA-87BF-4443-984A-D2BF18F5A908}\LocalServer32" /ve') do set dev=%%k
echo dev=%dev%
if %dev% NEQ "" (
call %dev%\..\..\..\vc\auxiliary\build\vcvars64.bat
)
:env
rem -----------------------------------------------------------------------------------------------------------------------------------
:compile
mkdir %LIB_PATH%
echo delete %TMP_PATH%\twain\huagaods.obj ...
del "%TMP_PATH%\twain\*.obj" /q /f
MSBuild.exe "%~dp0\twain\twain.vcxproj" /p:Configuration=Release /p:Platform=%CPU% /p:IntDir=%TMP_PATH%\twain\ /p:OutDir=%BIN_PATH% /p:TargetName=%NAME%
if %ERRORLEVEL% neq 0 goto end
move /Y "%BIN_PATH%\%NAME%.dll" "%BIN_PATH%\%NAME%"
call :move_libs %BIN_PATH% %NAME% %LIB_PATH%
goto end
REM move_libs src_dir src_name dst_dir
:move_libs
move /Y "%1\%2.exp" "%3"
move /Y "%1\%2.lib" "%3"
move /Y "%1\%2.pdb" "%3"
EXIT /B 0
:end