81 строка
2.1 KiB
Batchfile
81 строка
2.1 KiB
Batchfile
@ECHO OFF
|
|
|
|
SETLOCAL
|
|
|
|
PUSHD %~dp0
|
|
|
|
SET PATH=C:\MSYS\bin;%PATH%
|
|
|
|
IF NOT DEFINED COVDIR SET "COVDIR=C:\cov-analysis"
|
|
IF DEFINED COVDIR IF NOT EXIST "%COVDIR%" (
|
|
ECHO.
|
|
ECHO ERROR: Coverity not found in "%COVDIR%"
|
|
GOTO End
|
|
)
|
|
|
|
|
|
CALL :SubVSPath
|
|
IF NOT EXIST "%VS_PATH%" CALL :SUBMSG "ERROR" "Visual Studio 2017 NOT FOUND!"
|
|
|
|
|
|
:Cleanup
|
|
IF EXIST "cov-int" RD /q /s "cov-int"
|
|
IF EXIST "gcw.lzma" DEL "gcw.lzma"
|
|
IF EXIST "gcw.tar" DEL "gcw.tar"
|
|
IF EXIST "gcw.tgz" DEL "gcw.tgz"
|
|
|
|
|
|
:Main
|
|
SET "TOOLSET=%VS_PATH%\Common7\Tools\vsdevcmd"
|
|
CALL "%TOOLSET%"
|
|
|
|
SET MSBUILD_SWITCHES=/nologo /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"^
|
|
/maxcpucount /consoleloggerparameters:DisableMPLogging;Summary;Verbosity=minimal
|
|
|
|
"%COVDIR%\bin\cov-build.exe" --dir cov-int MSBuild.exe GitCredentialManager.sln %MSBUILD_SWITCHES%
|
|
|
|
|
|
:tar
|
|
tar --version 1>&2 2>NUL || (ECHO. & ECHO ERROR: tar not found & GOTO SevenZip)
|
|
tar caf "gcw.lzma" "cov-int"
|
|
GOTO End
|
|
|
|
|
|
:SevenZip
|
|
CALL :SubDetectSevenzipPath
|
|
|
|
rem Coverity is totally bogus with lzma...
|
|
rem And since I cannot replicate the arguments with 7-Zip, just use tar/gzip.
|
|
IF EXIST "%SEVENZIP%" (
|
|
"%SEVENZIP%" a -ttar "gcw.tar" "cov-int"
|
|
"%SEVENZIP%" a -tgzip "gcw.tgz" "gcw.tar"
|
|
IF EXIST "gcw.tar" DEL "gcw.tar"
|
|
GOTO End
|
|
)
|
|
|
|
|
|
:SubDetectSevenzipPath
|
|
FOR %%G IN (7z.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
|
|
IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
|
|
|
|
FOR %%G IN (7za.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
|
|
IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
|
|
|
|
FOR /F "tokens=2*" %%A IN (
|
|
'REG QUERY "HKLM\SOFTWARE\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ" ^|^|
|
|
REG QUERY "HKLM\SOFTWARE\Wow6432Node\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "SEVENZIP=%%B\7z.exe"
|
|
EXIT /B
|
|
|
|
|
|
:SubVSPath
|
|
FOR /f "delims=" %%A IN ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -property installationPath -latest -requires Microsoft.Component.MSBuild Microsoft.VisualStudio.Component.VC.ATLMFC Microsoft.VisualStudio.Component.VC.Tools.x86.x64') DO SET "VS_PATH=%%A"
|
|
EXIT /B
|
|
|
|
|
|
:End
|
|
POPD
|
|
ECHO. & ECHO Press any key to close this window...
|
|
PAUSE >NUL
|
|
ENDLOCAL
|
|
EXIT /B
|