:: Process commandline parameter set ParamRelease=0 set ParamDebug=0 set ParamAutologin=0 set ParamPlugins=0 set ParamJsonApi=0 set ParamWebui=0 set ParamService=0 set ParamFriendServer=0 set ParamEmbeddedFriendServer=0 set ParamUseNativeDialogs=0 set ParamTor=0 set NonInteractive=0 set CoreCount=%NUMBER_OF_PROCESSORS% set Module=%~1 shift /1 :parameter_loop if "%~1" NEQ "" ( for /f "tokens=1,2 delims==" %%a in ("%~1") do ( if "%%~a"=="release" ( set ParamRelease=1 ) else if "%%~a"=="debug" ( set ParamDebug=1 ) else if "%%~a"=="autologin" ( set ParamAutologin=1 ) else if "%%~a"=="jsonapi" ( set ParamJsonApi=1 ) else if "%%~a"=="webui" ( set ParamJsonApi=1 set ParamWebui=1 ) else if "%%~a"=="service" ( set ParamService=1 ) else if "%%~a"=="friendserver" ( set ParamFriendServer=1 ) else if "%%~a"=="embedded-friendserver" ( set ParamEmbeddedFriendServer=1 ) else if "%%~a"=="plugins" ( set ParamPlugins=1 ) else if "%%~a"=="tor" ( set ParamTor=1 ) else if "%%~a"=="non-interactive" ( set NonInteractive=1 ) else if "%%~a"=="singlethread" ( set CoreCount=1 ) else if "%%~a"=="nativedialogs" ( set ParamUseNativeDialogs=1 ) else ( echo. echo Unknown parameter %1 for %Module% goto :usage ) ) shift /1 goto parameter_loop ) if "%ParamRelease%"=="1" ( if "%ParamDebug%"=="1" ( echo. echo Release or Debug? goto :usage ) set RsBuildConfig=release ) else if "%ParamDebug%"=="1" ( set RsBuildConfig=debug ) else goto :usage if "%ParamTor%"=="1" ( set RsType=-tor ) else ( set RsType= ) set BuildPath=%EnvRootPath%\builds set DeployPath=%EnvRootPath%\deploy if not exist "%BuildPath%" mkdir "%BuildPath%" if not exist "%DeployPath%" mkdir "%DeployPath%" :: Check Qt environment set QtPath= call "%ToolsPath%\find-in-path.bat" QtPath qmake.exe if "%QtPath%"=="" %cecho% error "Please run command in the Qt Command Prompt." & exit /B 1 :: Check MinGW environment set MinGWPath= call "%ToolsPath%\find-in-path.bat" MinGWPath gcc.exe if "%MinGWPath%"=="" %cecho% error "Please run command in the Qt Command Prompt." & exit /B 1 :: Get Qt version call "%ToolsPath%\get-qt-version.bat" QtVersion if "%QtVersion%"=="" %cecho% error "Cannot get Qt version." & exit /B 1 :: Get gcc versions call "%ToolsPath%\get-gcc-version.bat" GCCVersion GCCArchitecture if "%GCCVersion%"=="" %cecho% error "Cannot get gcc version." & exit /B 1 if "%GCCArchitecture%"=="" %cecho% error "Cannot get gcc architecture." & exit /B 1 set BuildLibsPath=%EnvRootPath%\build-libs\gcc-%GCCVersion%\%GCCArchitecture% set RsBuildPath=%BuildPath%\Qt-%QtVersion%-%GCCArchitecture%-%RsBuildConfig% set RsDeployPath=%DeployPath%\Qt-%QtVersion%-%GCCArchitecture%%RsType%-%RsBuildConfig% set RsPackPath=%DeployPath% set RsArchiveAdd= set RsWebuiBuildPath=%RsBuildPath%\retroshare-webui\webui if not exist "%~dp0env-mod.bat" goto no_mod call "%~dp0env-mod.bat" if errorlevel 1 exit /B %ERRORLEVEL% :no_mod exit /B 0 :usage echo. echo Usage: release^|debug [^] echo. echo Mandatory parameter echo release^|debug Build release or debug version echo. if "%Module%"=="build" ( echo Optional parameter ^(need clean when changed^) echo autologin Build with autologin echo jsonapi Build with jsonapi echo webui Build with jsonapi and webui echo service Build service echo friendserver Build Friend Server echo embedded-friendserver Build with embedded Friend Server echo plugins Build plugins echo nativedialogs Build with native dialogs echo. echo Optional parameter echo singlethread Use only 1 thread for building ) if "%Module%"=="pack" ( echo Optional parameter echo webui Pack webui echo service Pack service echo friendserver Pack Friend Server ^(needs Tor^) echo tor Pack Tor version echo plugins Pack plugins ) if "%Module%"=="git-log" ( echo Optional parameter echo non-interactive Non-interactive mode ) echo. exit /B 2