From 43db562c2a171e2b735886fa8a33b0cd9e7aef4b Mon Sep 17 00:00:00 2001 From: thunder2 Date: Tue, 4 Aug 2015 19:02:13 +0200 Subject: [PATCH] Fixed build script for Windows installer --- build_scripts/Windows/GetRsVersion.bat | 43 ++++++++++++++++++++++++ build_scripts/Windows/make_installer.bat | 25 ++++++-------- build_scripts/Windows/retroshare.nsi | 7 ++-- 3 files changed, 58 insertions(+), 17 deletions(-) create mode 100644 build_scripts/Windows/GetRsVersion.bat diff --git a/build_scripts/Windows/GetRsVersion.bat b/build_scripts/Windows/GetRsVersion.bat new file mode 100644 index 000000000..153b5969d --- /dev/null +++ b/build_scripts/Windows/GetRsVersion.bat @@ -0,0 +1,43 @@ +@:: Usage: +@:: call GetRsVersion.bat Define Variable + +@setlocal +@echo off + +set Define=%~1 +if "%Define%"=="" ( + echo. + echo Parameter error + endlocal + exit /B1 +) + +set Variable=%~2 +if "%Variable%"=="" ( + echo. + echo Parameter error + endlocal + exit /B1 +) + +set Result= +set VersionFile="%~dp0..\..\libretroshare\src\retroshare\rsversion.h" + +if not exist "%VersionFile%" ( + echo. + echo Version file doesn't exist. + echo %VersionFile% + endlocal + exit /B1 +) + +for /F "usebackq tokens=1,2,3" %%A in (%VersionFile%) do ( + if "%%A"=="#define" ( + if "%%B"=="%Define%" ( + set Result=%%~C + ) + ) +) + +endlocal & set %Variable%=%Result% +exit /B 0 \ No newline at end of file diff --git a/build_scripts/Windows/make_installer.bat b/build_scripts/Windows/make_installer.bat index e2f8cfc14..42b3776e9 100644 --- a/build_scripts/Windows/make_installer.bat +++ b/build_scripts/Windows/make_installer.bat @@ -24,32 +24,27 @@ if "%MinGWDir%" NEQ "" set NSIS_PARAM=%NSIS_PARAM% /DMINGWDIR="%MinGWDir%" if "%OutDir%" NEQ "" set NSIS_PARAM=%NSIS_PARAM% /DOUTDIR="%OutDir%" :: Scan version from source +set Revision= set BuildAdd= -set VersionFile="%SourceDir%\libretroshare\src\retroshare\rsversion.h" +call "%~dp0GetRsVersion.bat" RS_REVISION_STRING Revision +if errorlevel 1 goto exit +call "%~dp0GetRsVersion.bat" RS_BUILD_NUMBER_ADD BuildAdd +if errorlevel 1 goto exit -if not exist "%VersionFile%" ( +if "%Revision%"=="" ( echo. - echo Version file doesn't exist. + echo Version not found in echo %VersionFile% - goto :exit + goto exit ) - -for /F "usebackq tokens=1,2,3" %%A in (%VersionFile%) do ( - if "%%A"=="#define" ( - if "%%B"=="RS_BUILD_NUMBER_ADD" ( - set BuildAdd=%%~C - ) - ) -) - if "%BuildAdd%"=="" ( echo. echo Version not found in echo %VersionFile% - goto :exit + goto exit ) -set NSIS_PARAM=%NSIS_PARAM% /DBUILDADD=%BuildAdd% +set NSIS_PARAM=%NSIS_PARAM% /DREVISION=%Revision% /DBUILDADD=%BuildAdd% :: Create installer "%NSIS_EXE%" %NSIS_PARAM% "%~dp0retroshare.nsi" diff --git a/build_scripts/Windows/retroshare.nsi b/build_scripts/Windows/retroshare.nsi index d6f6f9f9c..01b381657 100644 --- a/build_scripts/Windows/retroshare.nsi +++ b/build_scripts/Windows/retroshare.nsi @@ -42,7 +42,7 @@ !GetDllVersion "${RELEASEDIR}\retroshare-gui\src\release\RetroShare.exe" VERSION_ !define VERSION ${VERSION_1}.${VERSION_2}.${VERSION_3}${BUILDADD} -!define REVISION ${VERSION_4} +;!define REVISION ${VERSION_4} # Check version !ifndef REVISION @@ -53,6 +53,9 @@ !error "REVISION is not defined" !endif +# Date +!define /date Date "%Y%m%d" + # Application name and version !define APPNAME "RetroShare" !define APPNAMEANDVERSION "${APPNAME} ${VERSION}" @@ -68,7 +71,7 @@ # Main Install settings Name "${APPNAMEANDVERSION}" InstallDirRegKey HKLM "Software\${APPNAME}" "" -OutFile "${OUTDIR_}RetroShare_${VERSION}_${REVISION}_setup.exe" +OutFile "${OUTDIR_}RetroShare-${VERSION}-${Date}-${REVISION}-setup.exe" BrandingText "${APPNAMEANDVERSION}" RequestExecutionlevel highest # Use compression