build.bat 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. @echo off
  2. rem See 'readme.md' file
  3. if "%PROCESSOR_ARCHITECTURE%"=="x86" (
  4. set "PROGRAMFILES32=%ProgramFiles%"
  5. set "PROGRAMFILES64=%ProgramW6432%"
  6. ) else if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
  7. set "PROGRAMFILES32=%ProgramFiles(x86)%"
  8. set "PROGRAMFILES64=%ProgramFiles%"
  9. ) else (
  10. echo Unrecognized architecture %PROCESSOR_ARCHITECTURE%
  11. exit
  12. )
  13. set BDS=%PROGRAMFILES32%\Embarcadero\Studio\14.0
  14. set VS_PATH_REL=Microsoft Visual Studio\2022
  15. set MSBUILD_REL=MSBuild\Current\Bin\MSBuild.exe
  16. rem Visual Studio Community 2022 (development machine)
  17. set MSBUILD_COMMUNITY=%PROGRAMFILES64%\%VS_PATH_REL%\Community\%MSBUILD_REL%
  18. set MSBUILD=%MSBUILD_COMMUNITY%
  19. rem Visual Studio 2022 Build Tools (build server)
  20. if not exist "%MSBUILD%" set MSBUILD=%PROGRAMFILES32%\%VS_PATH_REL%\BuildTools\%MSBUILD_REL%
  21. if not exist "%MSBUILD%" set echo Cannot find MSBUILD (%MSBUILD%, %MSBUILD_COMMUNITY%), install Build Tools for Visual Studio 2022 & exit
  22. set WITH_DOTNET=1
  23. if "%BUILD_TARGET%"=="" set BUILD_TARGET=Build
  24. if "%BUILD_CONFIG%"=="" set BUILD_CONFIG=Release
  25. set BUILDTOOLS=%~dp0\buildtools
  26. cd libs
  27. set INTERM_PATH=%~dp0\source
  28. call buildlibs.bat
  29. set INTERM_PATH=
  30. cd ..\source
  31. set BDS_BUILD_PROPERTIES=RELEASE_TYPE=%RELEASE_TYPE%;CONFIG=%BUILD_CONFIG%;INTERM_PATH=.;FINAL_PATH=.
  32. "%MSBUILD%" WinSCP.groupproj /t:%BUILD_TARGET% /p:%BDS_BUILD_PROPERTIES%
  33. "%MSBUILD%" DragExt.cbproj /t:%BUILD_TARGET% /p:%BDS_BUILD_PROPERTIES%;Platform=Win64
  34. if "%WITH_DOTNET%"=="0" goto SKIP_DOTNET
  35. cd ..\dotnet
  36. set DOTNET_BUILD_PROPERTIES=INTERM_PATH=.;FINAL_PATH=.
  37. dotnet restore WinSCPnet.csproj -p:%DOTNET_BUILD_PROPERTIES%
  38. dotnet build WinSCPnet.csproj -c %BUILD_CONFIG% -p:%DOTNET_BUILD_PROPERTIES%
  39. :SKIP_DOTNET