Index: ext/gmock/gmock.vc140.vcxproj
===================================================================
diff -u -rd6c3523b8a96c26c0c448dc35964d172661e9be5 -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- ext/gmock/gmock.vc140.vcxproj (.../gmock.vc140.vcxproj) (revision d6c3523b8a96c26c0c448dc35964d172661e9be5)
+++ ext/gmock/gmock.vc140.vcxproj (.../gmock.vc140.vcxproj) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -43,46 +43,46 @@
StaticLibrary
- v140_xp
+ v120_xp
Unicode
true
StaticLibrary
- v140_xp
+ v120_xp
Unicode
true
StaticLibrary
- v140_xp
+ v120_xp
Unicode
StaticLibrary
- v140_xp
+ v120_xp
Unicode
StaticLibrary
- v140_xp
+ v120_xp
Unicode
true
StaticLibrary
- v140_xp
+ v120_xp
Unicode
true
StaticLibrary
- v140_xp
+ v120_xp
Unicode
StaticLibrary
- v140_xp
+ v120_xp
Unicode
Index: ext/sqlite3/sqlite3.vc140.vcxproj
===================================================================
diff -u -rd6c3523b8a96c26c0c448dc35964d172661e9be5 -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- ext/sqlite3/sqlite3.vc140.vcxproj (.../sqlite3.vc140.vcxproj) (revision d6c3523b8a96c26c0c448dc35964d172661e9be5)
+++ ext/sqlite3/sqlite3.vc140.vcxproj (.../sqlite3.vc140.vcxproj) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -43,46 +43,46 @@
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
true
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
true
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
true
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
true
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
Index: scripts2015/config.bat
===================================================================
diff -u
--- scripts2015/config.bat (revision 0)
+++ scripts2015/config.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,53 @@
+@echo off
+SET ReposCH=https://svn.copyhandler.com/svn/copyhandler
+SET ReposIcpf=https://svn.copyhandler.com/svn/libicpf
+SET ReposIctranslate=https://svn.copyhandler.com/svn/libictranslate
+
+SET CurrentDir=%CD%
+SET ScriptDir=%CurrentDir%
+SET CHRootDir=%CurrentDir%\..
+SET OutputDir=%CurrentDir%\out
+SET TmpDir=%CurrentDir%\tmp
+
+SET VSInstallDirX64=%ProgramFiles%\Microsoft Visual Studio 14.0
+SET ProgramFilesX86=%ProgramFiles%
+
+SET LC_MESSAGES=en_EN
+
+rem NOTE: Strange construct here because of strange behaviour of %ProgramFiles(x86)% which loses last parenthesis otherwise
+if "%ProgramFiles(x86)%" == "" SET VSInstallDirX86=%ProgramFiles%\Microsoft Visual Studio 14.0
+if NOT "%ProgramFiles(x86)%" == "" SET VSInstallDirX86=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0
+if NOT "%ProgramFiles(x86)%" == "" SET ProgramFilesX86=%ProgramFiles(x86)%
+
+if not exist "%ScriptDir%\config.bat" (
+ echo ERROR: This script needs to be called from its directory.
+ exit /b 1
+)
+
+rem Detect 7-zip location
+SET SEVENZIPEXE=
+for %%X in (7z.exe) do (set SEVENZIPEXE=%%~$PATH:X)
+if "%SEVENZIPEXE%" == "" set SEVENZIPEXE=%ProgramFiles%\7-Zip\7z.exe
+if not exist "%SEVENZIPEXE%" (
+ echo 7-zip executable is not in the PATH nor at its default location. Please install 7-zip.
+ exit /b 1
+)
+
+rem Detect inno setup compiler
+SET ISCCEXE=
+for %%X in (iscc.exe) do (set ISCCEXE=%%~$PATH:X)
+if "%ISCCEXE%" == "" set ISCCEXE=%ProgramFilesX86%\Inno Setup 5\iscc.exe
+if not exist "%ISCCEXE%" (
+ echo Inno setup compiler executable is not in the PATH nor at its default location. Please install Inno Setup.
+ exit /b 1
+)
+
+SET SVNINDEXCMD=
+for %%X in (svnindex.cmd) do (set SVNINDEXCMD=%%~$PATH:X)
+if "%SVNINDEXCMD%" == "" set SVNINDEXCMD=%ProgramFiles%\Windows Kits\8.1\Debuggers\x64\srcsrv\svnindex.cmd
+if not exist "%SVNINDEXCMD%" (
+ echo svnindex.cmd not found in PATH environment variable nor in its default location. Please install Debugging tools for Windows.
+ exit /b 1
+)
+
+exit /b 0
Index: scripts2015/internal/clear_env.bat
===================================================================
diff -u
--- scripts2015/internal/clear_env.bat (revision 0)
+++ scripts2015/internal/clear_env.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,60 @@
+@echo off
+
+call config.bat
+if errorlevel 1 (
+ exit /b 1
+)
+
+rem Setup environment
+if exist "%TmpDir%" (
+ echo * Removing temporary directory...
+
+ cd "%TmpDir%\.."
+
+ rmdir /S /Q "%TmpDir%" >nul
+ if exist "%TmpDir%" (
+ rem Wait for a while for system to delete the files
+ timeout 2 /NOBREAK >nul
+ )
+ if exist "%TmpDir%" (
+ echo ERROR: Deleting the old temporary folder failed.
+ exit /b 1
+ )
+)
+
+if NOT "%1" == "/skip_create" (
+ if exist "%OutputDir%" (
+ echo * Removing OutputDirectory...
+ rmdir /S /Q "%OutputDir%" >nul
+ if exist "%OutputDir%" (
+ echo ERROR: Deleting the old output folder failed.
+ exit /b 1
+ )
+ )
+
+ mkdir "%TmpDir%"
+ if not exist "%TmpDir%" (
+ echo ERROR: Creating temporary folder failed.
+ exit /b 1
+ )
+
+ mkdir "%OutputDir%"
+ if not exist "%OutputDir%" (
+ echo ERROR: Creating temporary folder failed.
+ exit /b 1
+ )
+
+ mkdir "%TmpDir%\32bit"
+ if not exist "%TmpDir%\32bit" (
+ echo ERROR: Creating temporary 32bit folder failed.
+ goto error
+ )
+
+ mkdir "%TmpDir%\64bit"
+ if not exist "%TmpDir%\64bit" (
+ echo ERROR: Creating temporary 64bit folder failed.
+ goto error
+ )
+)
+
+exit /b 0
Index: scripts2015/internal/detect_incorrect_manifest.bat
===================================================================
diff -u
--- scripts2015/internal/detect_incorrect_manifest.bat (revision 0)
+++ scripts2015/internal/detect_incorrect_manifest.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,69 @@
+@echo off
+
+setlocal ENABLEDELAYEDEXPANSION
+
+rem Validate input parameters
+if [%1] == [] (
+ echo Usage: detect_incorrect_manifest.bat path_to_exe_dll_file
+ goto end
+)
+
+rem initialize
+call config.bat
+if errorlevel 1 (
+ exit /b 1
+)
+
+call internal\prepare_env.bat
+if errorlevel 1 (
+ goto error
+)
+
+if not exist "%VS120COMNTOOLS%\vsvars32.bat" (
+ echo ERROR: Can't find the vsvars32.bat file.
+ goto error
+) else (
+ call "%VS120COMNTOOLS%\vsvars32.bat" >nul
+)
+
+rem process input path
+SET InputFile=%~1
+SET TmpManifestLocation=%TmpDir%\extracted.manifest
+
+rem dll or exe?
+if NOT "%InputFile%" == "!InputFile:.dll=dummy!" (
+ rem this is a dll
+ SET ResID=2
+) else if NOT "%InputFile%" == "!InputFile:.exe=dummy!" (
+ rem exe file
+ SET ResID=1
+) else (
+ echo ERROR: Unknown file type encountered.
+ goto error
+)
+
+mt.exe -nologo -inputresource:"%InputFile%";#%ResID% -out:"%TmpManifestLocation%"
+if errorlevel 1 (
+ echo ERROR: cannot extract manifest from file %InputFile%.
+ goto error
+)
+
+SET _command=type "%TmpManifestLocation%"
+
+rem Currently we expect to have only 9.0.30729.5570 referenced in the manifest; if there is any older version, then some library linked with the project uses outdated version (boost?)
+for %%v in ("9.0.21022.8" "9.0.30411" "9.0.30729.1" "9.0.30729.4148") do (
+ for /f %%a in ('%_command% ^| find %%v') do (
+ if NOT "%%a" == "0" (
+ echo ERROR: %~Nx1 references an old version of MFC ^(%%v^)
+ goto error
+ )
+ )
+)
+
+goto end
+
+:error
+exit /b 1
+
+:end
+exit /b 0
Index: scripts2015/internal/detect_internal_version.bat
===================================================================
diff -u
--- scripts2015/internal/detect_internal_version.bat (revision 0)
+++ scripts2015/internal/detect_internal_version.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,161 @@
+@echo off
+
+setlocal ENABLEDELAYEDEXPANSION
+
+rem Validate input parameters
+if [%1] == [] (
+ echo Usage: detect_version_internal.bat path
+ goto end
+)
+
+echo * Detecting type of the working copy
+set _svn_info=svn info "%1"
+for /f "delims=" %%a in ('!_svn_info! ^|find "URL"') do set _SVNUrl=%%a
+if errorlevel 1 (
+ echo Problem with retrieving working copy URL.
+ goto error
+)
+
+if NOT "!_SVNUrl!" == "!_SVNUrl:trunk=dummy!" (
+ SET _ReleaseType=internal
+) else if NOT "!_SVNUrl!" == "!_SVNUrl:tags=dummy!" (
+ SET _ReleaseType=tag
+) else (
+ echo Cannot detect type of the working copy. Directory not under version control system?
+ exit /b 1
+)
+
+rem In case of tagged releases we scan working copy for revision number only to get the modification flag
+echo * Scanning svn working copy for revision number
+rem Get SVN version
+SET _svn_version=svnversion -n "%1"
+for /f %%a in ('!_svn_version!') do set _SVNCalculatedVersion=%%a
+if errorlevel 1 (
+ echo Problem with scanning svn WC for current version.
+ goto error
+)
+if "!_SVNCalculatedVersion!" == "" (
+ echo Can't get the major version.
+ goto error
+)
+
+rem Which format does svn version have?
+rem When version contain colon, then take only the newer revision from it
+if NOT "!_SVNCalculatedVersion!" == "!_SVNCalculatedVersion::=dummy!" (
+ SET _SVNCalculatedVersion=!_SVNCalculatedVersion:*:=!
+)
+
+rem If svn version contains S (switched), then just ignore this char
+if NOT "!_SVNCalculatedVersion!" == "!_SVNCalculatedVersion:S=dummy!" (
+ SET _SVNCalculatedVersion=!_SVNCalculatedVersion:S=!
+)
+
+rem If we have only partial working copy (P), then fail
+if NOT "!_SVNCalculatedVersion!" == "!_SVNCalculatedVersion:P=dummy!" (
+ echo Only partial working copy detected - cannot detect version.
+ goto error
+)
+
+rem If we have local modifications, then remember it, so we can modify the version number/string later
+if NOT "!_SVNCalculatedVersion!" == "!_SVNCalculatedVersion:M=dummy!" (
+ SET _SVNCalculatedVersion=!_SVNCalculatedVersion:M=!
+ SET _SVNIsModified=1
+) else (
+ SET _SVNIsModified=0
+)
+
+echo * Detecting version numbers contained in version.h
+set _ver_cmd=type "%1\src\common\version.h"
+
+for /f "tokens=3 delims= " %%a in ('!_ver_cmd! ^|find "define PRODUCT_VERSION1 "') do set _MajorVersion=%%a
+if errorlevel 1 (
+ echo Problem with retrieving _MajorVersion.
+ goto error
+)
+if "!_MajorVersion!" == "" (
+ echo Can't get the major version.
+ goto error
+)
+
+set _ver_cmd=type "%1\src\common\version.h"
+for /f "tokens=3 delims= " %%a in ('!_ver_cmd! ^|find "define PRODUCT_VERSION2 "') do set _MinorVersion=%%a
+if errorlevel 1 (
+ echo Problem with retrieving _MinorVersion.
+ goto error
+)
+if "!_MinorVersion!" == "" (
+ echo Can't get the major version.
+ goto error
+)
+
+if "!_ReleaseType!" == "tag" (
+ rem If handling the tagged revision, overwrite !_SVNVersion!, %_CustomVersion% and !_TextVersion! with the values contained in version.h
+ set _ver_cmd2=type "%1\src\common\version.h"
+ for /f "tokens=3 delims= " %%a in ('!_ver_cmd2! ^|find "define PRODUCT_VERSION3 "') do set _SVNVersion=%%a
+ if errorlevel 1 (
+ echo Problem with retrieving svn version.
+ goto error
+ )
+ if "!_SVNVersion!" == "" (
+ echo Can't get the svn version.
+ goto error
+ )
+
+ set _ver_cmd2=type "%1\src\common\version.h"
+ for /f "tokens=3 delims= " %%a in ('!_ver_cmd2! ^|find "define PRODUCT_VERSION4 "') do set _CustomVersion=%%a
+ if errorlevel 1 (
+ echo Problem with retrieving custom version.
+ goto error
+ )
+ if "!_CustomVersion!" == "" (
+ echo Can't get the custom version.
+ goto error
+ )
+
+ set _ver_cmd2=type "%1\src\common\version.h"
+ for /f "tokens=3 delims= " %%a in ('!_ver_cmd2! ^|find "define PRODUCT_VERSION "') do set _TextVersion=%%a
+ if errorlevel 1 (
+ echo Problem with retrieving text version.
+ goto error
+ )
+ if "!_TextVersion!" == "" (
+ echo Can't get the text version.
+ goto error
+ )
+
+ rem Get rid of the '"' characters from the _TextVersion
+ if "!_SVNIsModified!" == "0" (
+ SET _TextVersion=!_TextVersion:"=!
+ ) else (
+ SET _TextVersion=!_TextVersion:"=!_M
+ )
+) else (
+ SET _SVNVersion=!_SVNCalculatedVersion!
+ rem For internal version we format the text version on our own
+ if "!_SVNIsModified!" == "0" (
+ SET _TextVersion=!_MajorVersion!.!_MinorVersion!internal-svn!_SVNVersion!
+ ) else (
+ SET _TextVersion=!_MajorVersion!.!_MinorVersion!internal-svn!_SVNVersion!_M
+ )
+
+ if "!_TextVersion!" == "" (
+ echo Cannot calculate the text version.
+ goto error
+ )
+)
+
+rem Overwrite %_CustomVersion% with !_SVNIsModified!
+SET _CustomVersion=!_SVNIsModified!
+
+endlocal & call SET CHMajorVersion=%_MajorVersion%& SET CHMinorVersion=%_MinorVersion%& SET CHSVNVersion=%_SVNVersion%& SET CHCustomVersion=%_CustomVersion%& SET CHTextVersion=%_TextVersion%& SET CHReleaseType=%_ReleaseType%
+
+echo * Detected current working copy (%CHReleaseType%) at %CHMajorVersion%.%CHMinorVersion%.%CHSVNVersion%.%CHCustomVersion% (%CHTextVersion%)
+
+goto end
+
+:error
+rem Get outside of the temp directory to be able to delete it
+exit /b 1
+
+:end
+exit /b 0
Index: scripts2015/internal/embed_srcserver_info.bat
===================================================================
diff -u
--- scripts2015/internal/embed_srcserver_info.bat (revision 0)
+++ scripts2015/internal/embed_srcserver_info.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,57 @@
+@echo off
+
+setlocal ENABLEDELAYEDEXPANSION
+
+if "%1" == "" (
+ echo Usage: embed_srcserver_info.bat path_to_sources
+ goto end
+)
+
+SET MainProjectDir=%~1
+
+call config.bat
+if errorlevel 1 (
+ exit /b 1
+)
+
+call internal\prepare_env.bat
+if errorlevel 1 (
+ goto error
+)
+
+SET _command=call "%SVNINDEXCMD%" /debug /source=%MainProjectDir%\src\ictranslate;%MainProjectDir%\src\libictranslate;%MainProjectDir%\src\libicpf;%MainProjectDir%\src;%MainProjectDir%\ext\sqlite3 /symbols=%MainProjectDir%\bin\release
+!_command! >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Error encountered while embedding source server information. See the log below:
+ type "%TmpDir%\command.log"
+ exit /b 1
+)
+
+rem We expect all pdbs to be modified (currently 14 of them - 7/architecture)
+SET IndexRes=Undefined
+SET _command=type "%TmpDir%\command.log"
+for /f %%a in ('!_command! ^| find /c "wrote"') do set IndexRes=%%a
+if NOT "!IndexRes!" == "14" (
+ echo Some source server information has not been embedded. See the log below:
+ type "%TmpDir%\command.log"
+ exit /b 1
+)
+
+echo ...embedded information in !IndexRes! files.
+SET _command=type "%TmpDir%\command.log"
+for /f %%a in ('!_command! ^| find /c "ERROR"') do set IndexRes=%%a
+if NOT "!IndexRes!" == "0" (
+ echo Error encountered when embedding source server information. See the log below:
+ type "%TmpDir%\command.log"
+ exit /b 1
+)
+
+SET _command=type "%TmpDir%\command.log"
+for /f %%a in ('!_command! ^| find /c "WARNING"') do set IndexRes=%%a
+if NOT "!IndexRes!" == "0" (
+ echo Error encountered when embedding source server information. See the log below:
+ type "%TmpDir%\command.log"
+ exit /b 1
+)
+
+exit /b 0
Index: scripts2015/internal/prepare_env.bat
===================================================================
diff -u
--- scripts2015/internal/prepare_env.bat (revision 0)
+++ scripts2015/internal/prepare_env.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,43 @@
+@echo off
+
+call config.bat
+if errorlevel 1 (
+ exit /b 1
+)
+
+rem Setup environment
+if not exist "%TmpDir%" (
+ mkdir "%TmpDir%"
+ if not exist "%TmpDir%" (
+ echo ERROR: Creating temporary folder failed.
+ exit /b 1
+ )
+)
+
+if not exist "%OutputDir%" (
+ mkdir "%OutputDir%"
+ if not exist "%OutputDir%" (
+ echo ERROR: Creating temporary folder failed. See the log below:
+ type "%TmpDir%\command.log"
+ exit /b 1
+ )
+)
+
+rem Prepare directories
+if not exist "%TmpDir%\32bit" (
+ mkdir "%TmpDir%\32bit"
+ if not exist "%TmpDir%\32bit" (
+ echo ERROR: Creating temporary 32bit folder failed.
+ goto error
+ )
+)
+
+if not exist "%TmpDir%\64bit" (
+ mkdir "%TmpDir%\64bit"
+ if not exist "%TmpDir%\64bit" (
+ echo ERROR: Creating temporary 64bit folder failed.
+ goto error
+ )
+)
+
+exit /b 0
Index: scripts2015/internal/replace_version.vbs
===================================================================
diff -u
--- scripts2015/internal/replace_version.vbs (revision 0)
+++ scripts2015/internal/replace_version.vbs (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,36 @@
+Const ForReading = 1
+Const ForWriting = 2
+
+strOldFileName = Wscript.Arguments(0)
+strNewFileName = Wscript.Arguments(1)
+strMajor = WScript.Arguments(2)
+strMinor = WScript.Arguments(3)
+strSVN = WScript.Arguments(4)
+strCustom = WScript.Arguments(5)
+strTextVersion = WScript.Arguments(6)
+
+' Validate parameters
+if strOldFileName = "" or strNewFileName = "" or strMajor = "" or strMinor = "" or strSVN = "" or strCustom ="" or strTextVersion="" then
+ WScript.echo "Missing input parameters"
+ return 1
+end if
+
+Set objFSO = CreateObject("Scripting.FileSystemObject")
+
+' Read the source file
+Set objFile = objFSO.OpenTextFile(strOldFileName, ForReading)
+
+strText = objFile.ReadAll
+objFile.Close
+
+' Replace the text
+strText = Replace(strText, "{major_version}", strMajor)
+strText = Replace(strText, "{minor_version}", strMinor)
+strText = Replace(strText, "{svn_version}", strSVN)
+strText = Replace(strText, "{custom_version}", strCustom)
+strText = Replace(strText, "{text_version}", strTextVersion)
+
+' And write the text
+Set objFile = objFSO.OpenTextFile(strNewFileName, ForWriting)
+objFile.WriteLine strText
+objFile.Close
Index: scripts2015/internal/svntag_single.bat
===================================================================
diff -u
--- scripts2015/internal/svntag_single.bat (revision 0)
+++ scripts2015/internal/svntag_single.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,48 @@
+@echo off
+
+setlocal
+
+if [%1] == [] (
+ echo Usage: svntag_single.bat ReposAddress TextVersion
+ exit /b 1
+)
+
+SET ReposAddress=%1
+SET TextVersion=%2
+
+call config.bat
+if errorlevel 1 (
+ exit /b 1
+)
+
+rem partial cleanup
+SET CHTmpDir=%TmpDir%\repo-tag-test
+if exist "%CHTmpDir%" (
+ rmdir /S /Q "%CHTmpDir%" >nul
+ if exist "%CHTmpDir%" (
+ echo ERROR: Deleting the old temporary folder failed.
+ exit /b 1
+ )
+)
+
+rem check if the project isn't already tagged
+svn co "%ReposAddress%/tags/%TextVersion%" "%CHTmpDir%" 2>nul
+if errorlevel 1 (
+ rem when error, it probably means that the tag does not exist
+ goto create
+)
+
+rem if we're here, then the tag already exist
+echo * The repository already had a tag %TextVersion%. Skipping tagging.
+exit /b 0
+
+:create
+echo * Tagging %ReposAddress% as %TextVersion%...
+svn cp -m "Tagged project to %TextVersion%" "%ReposAddress%/trunk/" "%ReposAddress%/tags/%TextVersion%" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while tagging %ReposAddress% project. See the log below:
+ type "%TmpDir%\command.log"
+ exit /b 1
+)
+
+exit /b 0
Index: scripts2015/internal/symsrv_add_single_package.bat
===================================================================
diff -u
--- scripts2015/internal/symsrv_add_single_package.bat (revision 0)
+++ scripts2015/internal/symsrv_add_single_package.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,71 @@
+@echo off
+
+rem Mark the changes as local ones
+setlocal
+
+if [%1] == [] (
+ echo "Usage: symsrv.bat package_path symsrv_path"
+ goto end
+)
+
+if [%2] == [] (
+ echo "Usage: symsrv.bat package_path symsrv_path"
+ goto end
+)
+
+echo --- Initializing -----------------------------------------------
+echo * Reading configuration...
+call config.bat
+if errorlevel 1 (
+ goto error
+)
+echo * Preparing environment...
+call internal\prepare_env.bat
+if errorlevel 1 (
+ goto error
+)
+
+echo --- Processing files --------------------------------------------
+echo * Extracting files...
+
+SET OutDir=%TmpDir%\symbols
+if exist "%OutDir%" (
+ rmdir /S /Q "%OutDir%" >nul
+ if exist "%OutDir%" (
+ echo ERROR: Deleting the temporary folder failed.
+ exit /b 1
+ )
+)
+
+mkdir "%OutDir%"
+if errorlevel 1 (
+ echo ERROR: Creating temporary directory failed.
+ goto error
+)
+
+rem Unpack archive
+7z x -o%OutDir% %1 >nul
+if errorlevel 1 (
+ echo ERROR: Unpacking archive failed.
+ goto error
+)
+
+echo * Adding files to symbol server directory...
+
+symstore add /r /f "%OutDir%" /s "%~2" /t "Copy Handler" /v "%~1"
+if errorlevel 1 (
+ echo ERROR: Storing symbols failed.
+ goto error
+)
+
+echo * Cleaning up files...
+rmdir /S /Q "%OutDir%"
+
+echo * Done
+
+goto end
+
+:error
+echo * Error processing files.
+
+:end
Index: scripts2015/make_existing_release.bat
===================================================================
diff -u
--- scripts2015/make_existing_release.bat (revision 0)
+++ scripts2015/make_existing_release.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,238 @@
+@echo off
+
+rem Script prepares all packages based on the source code in which this script is placed.
+
+rem Mark the changes as local ones
+setlocal ENABLEDELAYEDEXPANSION
+
+echo --- Initializing ----------------------------------------------------
+call config.bat
+if errorlevel 1 (
+ exit /b 1
+)
+
+echo * Clearing environment...
+call internal\clear_env.bat
+if errorlevel 1 (
+ goto error
+)
+
+echo * Initializing MSBuild environment
+if not exist "%VS140COMNTOOLS%\VsMSBuildCmd.bat" (
+ echo ERROR: Can't find the vsvars32.bat file.
+ goto error
+) else (
+ call "%VS140COMNTOOLS%\VsMSBuildCmd.bat" >nul
+)
+
+set MainProjectDir=%CHRootDir%
+
+rem Update the version string in the version.h for trunk
+echo * Detecting current version information...
+call internal\detect_internal_version.bat "%MainProjectDir%"
+if errorlevel 1 (
+ goto error
+)
+
+if "%CHReleaseType%" == "internal" (
+ echo * Updating version information in version.h for the internal release...
+ cscript //NoLogo internal\replace_version.vbs "%MainProjectDir%\src\common\version.h.template" "%MainProjectDir%\src\common\version.h" !CHMajorVersion! !CHMinorVersion! !CHSVNVersion! !CHCustomVersion! !CHTextVersion! >"%TmpDir%\command.log"
+ if errorlevel 1 (
+ echo ERROR: encountered a problem while updating version information. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+ )
+)
+
+echo --- Building solutions ----------------------------------------------
+rem cd "%MainProjectDir%"
+echo * Building release...
+msbuild "..\msbuild.proj" /t:Release /m:4 >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Build process failed. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo --- Verifying build -------------------------------------------------
+cd %MainProjectDir%
+if not exist bin\release (
+ echo ERROR: The bin\release directory does not exist.
+ goto error
+)
+
+cd %MainProjectDir%\scripts
+
+SET FoundWrongManifest=0
+for %%v in (%MainProjectDir%\bin\release\*.dll %MainProjectDir%\bin\release\*.exe) do (
+ echo * Verifying %%~nv%%~xv...
+ call internal\detect_incorrect_manifest.bat "%%v"
+ if errorlevel 1 (
+ SET FoundWrongManifest=1
+ )
+)
+
+if "!FoundWrongManifest!" == "1" (
+ echo ERROR: Incorrect manifest detected in one or more executables.
+ goto error
+)
+
+if NOT "%SKIPCHSIGNING%" == "1" (
+ echo --- Signing executables ---------------------------------------------
+ signtool sign /t http://time.certum.pl /a "%MainProjectDir%\bin\release\*.dll" "%MainProjectDir%\bin\release\*.exe" 2>"%TmpDir%\command-err.log"
+ if errorlevel 1 (
+ echo ERROR: Cannot sign executables! See the log below:
+ type "%TmpDir%\command-err.log"
+ goto error
+ )
+) else (
+ echo WARNING: Signing executables was disabled.
+)
+
+echo --- Preparing packages ----------------------------------------------
+echo * Create source package for version %CHTextVersion%...
+
+rem Export the current working copy to a separate directory to avoid including unnecessary files in the source archive
+SET CHSrcDir="%TmpDir%\ch-src"
+svn export "%MainProjectDir%" "%CHSrcDir%" >"%TmpDir%\command.log" 2>"%TmpDir%\command-err.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while exporting local sources to a separate location. See the log below:
+ type "%TmpDir%\command-err.log"
+ goto error
+)
+
+cd %CHSrcDir%
+
+"%SEVENZIPEXE%" a "%OutputDir%\chsrc-%CHTextVersion%.zip" -tzip -x^^!"scripts\*.bat" -xr^^!".svn" . >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Preparation of the sources failed. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo * Preparing the symbols package...
+
+cd %MainProjectDir%\scripts
+if "%CHCustomVersion%" == "1" (
+ if "%CHReleaseType%" == "internal" (
+ echo * WARNING: Skipping embedding source server info in PDB files due to local sources modifications...
+ ) else (
+ echo * ERROR: Tagged sources contains local modifications - cannot embed source server info in PDB files...
+ goto error
+ )
+) else (
+ echo * Embedding source server info in PDB files...
+ call internal\embed_srcserver_info.bat "%MainProjectDir%"
+
+ if errorlevel 1 (
+ echo ERROR: encountered a problem while embedding source server information in debug symbols.
+ goto error
+ )
+)
+
+cd %MainProjectDir%\bin\release
+
+"%SEVENZIPEXE%" a "%OutputDir%\ch_symbols-%CHTextVersion%.zip" -tzip "*.pdb" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Could not create symbols archive. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo * Preparing the installer package...
+cd %MainProjectDir%
+if not exist scripts (
+ echo ERROR: The scripts directory does not exist.
+ goto error
+)
+
+cd %MainProjectDir%\scripts
+
+"%ISCCEXE%" setup.iss /o%OutputDir% >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Preparation of the installer version failed. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+if NOT "%SKIPCHSIGNING%" == "1" (
+ echo * Signing installer package...
+ signtool sign /t http://time.certum.pl /a "%OutputDir%\*.exe" 2>"%TmpDir%\command-err.log"
+ if errorlevel 1 (
+ echo ERROR: Cannot sign executables! See the log below:
+ type "%TmpDir%\command-err.log"
+ goto error
+ )
+) else (
+ echo WARNING: Signing executables was disabled.
+)
+
+echo * Preparing zip package...
+cd %MainProjectDir%
+
+rem Prepare files
+SET Res=0
+xcopy "bin\release\ch.exe" "%TmpDir%\32bit\" >"%TmpDir%\command.log" || SET Res=1
+xcopy "License.txt" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\chext.dll" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\libicpf32u.dll" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\libchcore32u.dll" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\libictranslate32u.dll" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\ictranslate.exe" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\sqlite3_32.dll" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "scripts\portable_config\ch.xml" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%VSInstallDirX86%\VC\redist\x86\Microsoft.VC140.CRT\*" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%VSInstallDirX86%\VC\redist\x86\Microsoft.VC140.MFC\*" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%ProgramFilesX86%\Windows Kits\8.1\Debuggers\x86\dbghelp.dll" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%UniversalCRTSdkDir%\Redist\ucrt\DLLs\x86\*.dll" "%TmpDir%\32bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy /E /I "bin\release\help" "%TmpDir%\32bit\help" >>"%TmpDir%\command.log" || SET Res=1
+xcopy /E /I "bin\release\langs" "%TmpDir%\32bit\langs" >>"%TmpDir%\command.log" || SET Res=1
+
+xcopy "bin\release\ch64.exe" "%TmpDir%\64bit\" >"%TmpDir%\command.log" || SET Res=1
+xcopy "License.txt" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\chext64.dll" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\libicpf64u.dll" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\libchcore64u.dll" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\libictranslate64u.dll" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\ictranslate64.exe" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "bin\release\sqlite3_64.dll" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "scripts\portable_config\ch.xml" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%VSInstallDirX86%\VC\redist\x64\Microsoft.VC140.CRT\*" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%VSInstallDirX86%\VC\redist\x64\Microsoft.VC140.MFC\*" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%ProgramFilesX86%\Windows Kits\8.1\Debuggers\x64\dbghelp.dll" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy "%UniversalCRTSdkDir%\Redist\ucrt\DLLs\x64\*.dll" "%TmpDir%\64bit\" >>"%TmpDir%\command.log" || SET Res=1
+xcopy /E /I "bin\release\help" "%TmpDir%\64bit\help" >>"%TmpDir%\command.log" || SET Res=1
+xcopy /E /I "bin\release\langs" "%TmpDir%\64bit\langs" >>"%TmpDir%\command.log" || SET Res=1
+
+if %Res% NEQ 0 (
+ echo ERROR: Detected a problem when copying files. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+cd "%TmpDir%\"
+
+"%SEVENZIPEXE%" a -tzip "%OutputDir%\ch-%CHTextVersion%.zip" 32bit 64bit >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Could not create win32 zip archive. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+cd "%ScriptDir%"
+
+echo * Done...
+
+goto cleanup
+
+:error
+echo * Clearing environment...
+call internal\clear_env.bat /skip_create
+exit /b 1
+
+:cleanup
+echo * Clearing environment...
+call internal\clear_env.bat /skip_create
+
+:end
+exit /b 0
Index: scripts2015/make_release.bat
===================================================================
diff -u
--- scripts2015/make_release.bat (revision 0)
+++ scripts2015/make_release.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,60 @@
+@echo off
+
+rem Scripts checks out trunk or specific tag of CH and launches preparation of the packages for the retrieved version.
+
+rem Mark the changes as local ones
+setlocal
+
+rem Check input parameter
+if [%1] == [] (
+ echo Usage: make_release.bat ^
+ exit /b 1
+)
+
+echo --- Initializing -----------------------------------------------
+echo * Reading configuration...
+call config.bat
+if errorlevel 1 (
+ goto error
+)
+
+echo * Preparing environment...
+call internal\prepare_env.bat
+if errorlevel 1 (
+ goto error
+)
+
+echo --- Retrieving code ----------------------------------
+if "%1" == "trunk" (
+ SET CHRepositoryAddress=%ReposCH%/trunk
+) else (
+ SET CHRepositoryAddress=%ReposCH%/tags/%1
+)
+
+echo * Checking out %CHRepositoryAddress%...
+SET CHTmpDir=%TmpDir%\ch-svn
+svn co "%CHRepositoryAddress%" "%CHTmpDir%" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Could not check out source code. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+rem call the original version of the script that was used to prepare the version (might not work for versions prior to 1.40)
+cd %CHTmpDir%\scripts
+call make_existing_release.bat
+if errorlevel 1 (
+ goto error
+)
+
+goto cleanup
+
+:error
+call internal\clear_env.bat /skip_create
+exit /b 1
+
+:cleanup
+call internal\clear_env.bat /skip_create
+
+:end
+exit /b 0
Index: scripts2015/portable_config/ch.xml
===================================================================
diff -u
--- scripts2015/portable_config/ch.xml (revision 0)
+++ scripts2015/portable_config/ch.xml (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
Index: scripts2015/setup.iss
===================================================================
diff -u
--- scripts2015/setup.iss (revision 0)
+++ scripts2015/setup.iss (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,171 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+#define SETUP_COMPILER 1
+#include "../src/common/version.h"
+#define MyAppName PRODUCT_NAME
+#define MyAppVerName PRODUCT_NAME + " " + PRODUCT_VERSION
+#define MyAppPublisher "Józef Starosczyk"
+#define MyAppURL "http://www.copyhandler.com"
+
+#define InstallerFilename "chsetup-" + PRODUCT_VERSION
+
+#define ExeFilename32 "ch.exe"
+#define ExeFilename64 "ch64.exe"
+#define ShellExtFilename32 "chext.dll"
+#define ShellExtFilename64 "chext64.dll"
+#define LibicpfFilename32 "libicpf32u.dll"
+#define LibicpfFilename64 "libicpf64u.dll"
+#define LibCHCoreFilename32 "libchcore32u.dll"
+#define LibCHCoreFilename64 "libchcore64u.dll"
+#define LibictranslateFilename32 "libictranslate32u.dll"
+#define LibictranslateFilename64 "libictranslate64u.dll"
+#define ICTranslateFilename32 "ictranslate.exe"
+#define ICTranslateFilename64 "ictranslate64.exe"
+#define SQLite32 "sqlite3_32.dll"
+#define SQLite64 "sqlite3_64.dll"
+#define MSRedistDir32 "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x86"
+#define MSRedistDir64 "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64"
+#define DbgHelp32 "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86"
+#define DbgHelp64 "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64"
+#define UCrtDir32 "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86"
+#define UCrtDir64 "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64"
+
+[Setup]
+AppName={#MyAppName}
+AppVerName={#MyAppVerName}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName={pf}\{#MyAppName}
+DefaultGroupName={#MyAppName}
+AllowNoIcons=true
+LicenseFile=..\License.txt
+OutputDir=.\
+OutputBaseFilename={#InstallerFilename}
+Compression=lzma/ultra
+SolidCompression=true
+AppMutex=_Copy handler_ instance
+ShowLanguageDialog=auto
+AppID={{9CF6A157-F0E8-4216-B229-C0CA8204BE2C}
+InternalCompressLevel=ultra
+AppCopyright={#COPYRIGHT_INFO}
+AppVersion={#PRODUCT_VERSION}
+UninstallDisplayIcon={app}\{#ExeFilename32}
+AppContact=ixen(at)copyhandler(dot)com
+VersionInfoVersion=
+VersionInfoTextVersion={#PRODUCT_VERSION}
+VersionInfoCopyright={#COPYRIGHT_INFO}
+ChangesEnvironment=true
+ArchitecturesInstallIn64BitMode=x64
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
+Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
+Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
+Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
+Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
+Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
+Name: "french"; MessagesFile: "compiler:Languages\French.isl"
+Name: "german"; MessagesFile: "compiler:Languages\German.isl"
+Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
+Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
+Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
+Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
+Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
+Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
+Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
+Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
+Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
+Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
+Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
+Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
+Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
+Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
+
+[Tasks]
+Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
+Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
+Name: startatboot; Description: {cm:StartAtBoot}; Flags: unchecked
+
+[Files]
+Source: "..\bin\release\help\*.chm"; DestDir: "{app}\help"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "..\bin\release\langs\*.lng"; DestDir: "{app}\langs"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "..\License.txt"; DestDir: "{app}"; Flags: ignoreversion
+
+Source: "..\bin\release\{#ExeFilename32}"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "..\bin\release\{#ExeFilename64}"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+Source: "..\bin\release\{#ShellExtFilename32}"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: not Is64BitInstallMode
+Source: "..\bin\release\{#ShellExtFilename64}"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: Is64BitInstallMode
+Source: "..\bin\release\{#LibicpfFilename32}"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "..\bin\release\{#LibicpfFilename64}"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+Source: "..\bin\release\{#LibCHCoreFilename32}"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "..\bin\release\{#LibCHCoreFilename64}"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+Source: "..\bin\release\{#LibictranslateFilename32}"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "..\bin\release\{#LibictranslateFilename64}"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+Source: "..\bin\release\{#ICTranslateFilename32}"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "..\bin\release\{#ICTranslateFilename64}"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+Source: "..\bin\release\{#SQLite32}"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "..\bin\release\{#SQLite64}"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+
+Source: "{#MSRedistDir32}\Microsoft.VC140.CRT\*"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "{#MSRedistDir64}\Microsoft.VC140.CRT\*"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+Source: "{#MSRedistDir32}\Microsoft.VC140.MFC\*"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "{#MSRedistDir64}\Microsoft.VC140.MFC\*"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+Source: "{#UCrtDir32}\*"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "{#UCrtDir64}\*"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+
+Source: "{#DbgHelp32}\dbghelp.dll"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode
+Source: "{#DbgHelp64}\dbghelp.dll"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode
+
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Icons]
+Name: {group}\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; WorkingDir: {app}
+Name: {group}\{cm:TranslateCopyHandler}; Filename: {app}\{code:ExpandArch|ICTranslateFilename}; Parameters: """{app}\langs\english.lng"""; WorkingDir: {app}\lang
+Name: {group}\{cm:UninstallCopyHandler}; Filename: {uninstallexe}; WorkingDir: {app}
+Name: {userdesktop}\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; Tasks: desktopicon; WorkingDir: {app}
+Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; Tasks: quicklaunchicon; WorkingDir: {app}
+
+[Run]
+Filename: "{app}\{code:ExpandArch|ExeFilename}"; Flags: nowait postinstall skipifsilent; Description: "{cm:LaunchProgram,{#MyAppName}}"
+
+[Registry]
+
+Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Copy Handler; Flags: dontcreatekey deletevalue
+Root: HKCU; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Copy Handler; Tasks: startatboot; ValueData: {app}\{code:ExpandArch|ExeFilename}; Flags: uninsdeletevalue
+
+[Dirs]
+Name: {app}\help; Flags: uninsalwaysuninstall
+Name: {app}\langs; Flags: uninsalwaysuninstall
+
+[CustomMessages]
+TranslateCopyHandler=Translate Copy Handler
+polish.TranslateCopyHandler=Przetłumacz program Copy Handler
+UninstallCopyHandler=Uninstall Copy Handler
+polish.UninstallCopyHandler=Odinstaluj program Copy Handler
+StartAtBoot=Run program at system startup
+polish.StartAtBoot=Uruchom program przy starcie systemu
+
+[ThirdParty]
+CompileLogMethod=append
+
+[Code]
+function ExpandArch(ConstantStr: String): String;
+begin
+ if Is64BitInstallMode then
+ begin
+ case ConstantStr of
+ 'ExeFilename': Result := '{#ExeFilename64}';
+ 'ICTranslateFilename': Result := '{#ICTranslateFilename64}';
+ end;
+ end
+ else
+ begin
+ case ConstantStr of
+ 'ExeFilename': Result := '{#ExeFilename32}';
+ 'ICTranslateFilename': Result := '{#ICTranslateFilename32}';
+ end;
+ end;
+end;
Index: scripts2015/svntag.bat
===================================================================
diff -u
--- scripts2015/svntag.bat (revision 0)
+++ scripts2015/svntag.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,146 @@
+@echo off
+
+rem Script creates a tag in svn for the alpha/beta/final release (uses the version.h and svn info as the source of information)
+
+rem Mark the changes as local ones
+setlocal
+
+if [%1] == [] (
+ echo Usage: svntag.bat ^
+ exit /b 1
+)
+
+rem This script wasn't tested yet (written 2011-10-22 23:04)
+echo --- Initializing ----------------------------------------------------
+
+rem Include config
+call config.bat
+if errorlevel 1 (
+ exit /b 1
+)
+
+call internal\clear_env.bat
+if errorlevel 1 (
+ echo ERROR: Problem with preparing environment.
+ goto error
+)
+
+rem checkout ch project (trunk)
+echo * Retrieving trunk for CH...
+SET CHTmpTrunkDir=%TmpDir%\ch-trunk
+svn --ignore-externals co "%ReposCH%/trunk" "%CHTmpTrunkDir%" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: Cannot checkout trunk. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+rem detect version (for trunk it should get major.minor from version.h, svn rev from svn revision id)
+echo * Detecting trunk version information...
+call internal\detect_internal_version.bat "%CHTmpTrunkDir%"
+if errorlevel 1 (
+ goto error
+)
+
+rem generate the tag to be created for sources
+SET /a TagSVNRev=%CHSVNVersion%+2
+SET /a NewTrunkMinor=%CHMinorVersion%
+SET /a NewTrunkSVNRev=%TagSVNRev%+1
+SET NewTrunkTextTag=%CHMajorVersion%.%NewTrunkMinor%internal-svn%NewTrunkSVNRev%
+
+if "%1" == "Final" (
+ SET TextTag=%CHMajorVersion%.%CHMinorVersion%Final
+ SET /a NewTrunkMinor=%CHMinorVersion%+1
+) else if "%1" == "Alpha" (
+ SET TextTag=%CHMajorVersion%.%CHMinorVersion%Alpha-svn%TagSVNRev%
+) else if "%1" == "Beta" (
+ SET TextTag=%CHMajorVersion%.%CHMinorVersion%Beta-svn%TagSVNRev%
+) else (
+ echo ERROR: Unknown release type specified.
+ goto error
+)
+
+echo * Tagging projects with %TextTag%...
+call internal\svntag_single.bat "%ReposIcpf%" %TextTag%
+if errorlevel 1 (
+ goto error
+)
+
+call internal\svntag_single.bat "%ReposIctranslate%" %TextTag%
+if errorlevel 1 (
+ goto error
+)
+
+call internal\svntag_single.bat "%ReposCH%" %TextTag%
+if errorlevel 1 (
+ goto error
+)
+
+echo * Checking out the tagged ch repository...
+SET CHTmpTagDir=%TmpDir%\ch-tagged
+svn --ignore-externals co "%ReposCH%/tags/%TextTag%" "%CHTmpTagDir%" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while checking out copyhandler project. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo * Creating new svn:externals definition...
+
+echo src/libicpf %ReposIcpf%/tags/%TextTag%/src/libicpf >"%TmpDir%\externals.txt"
+echo src/libictranslate %ReposIctranslate%/tags/%TextTag%/src/libictranslate >>"%TmpDir%\externals.txt"
+echo src/rc2lng %ReposIctranslate%/tags/%TextTag%/src/rc2lng >>"%TmpDir%\externals.txt"
+echo src/ictranslate %ReposIctranslate%/tags/%TextTag%/src/ictranslate >>"%TmpDir%\externals.txt"
+
+svn propedit --editor-cmd "type %TmpDir%\externals.txt >" svn:externals "%CHTmpTagDir%" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while checking out copyhandler project. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo * Updating version information for tagged sources...
+cscript //NoLogo internal\replace_version.vbs "%CHTmpTagDir%\src\common\version.h.template" "%CHTmpTagDir%\src\common\version.h" %CHMajorVersion% %CHMinorVersion% %TagSVNRev% 0 %TextTag% >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while checking out copyhandler project. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo * Performing commit of the updated version and svn:externals...
+svn commit -m "Updated svn:externals definition" "%CHTmpTagDir%" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while committing changes to repository. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo * Updating version information for trunk sources (%NewTrunkTextTag%)...
+cscript //NoLogo internal\replace_version.vbs "%CHTmpTrunkDir%\src\common\version.h.template" "%CHTmpTrunkDir%\src\common\version.h" %CHMajorVersion% %NewTrunkMinor% %NewTrunkSVNRev% 0 %NewTrunkTextTag% >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while checking out copyhandler project. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+echo * Performing commit of the updated version...
+svn commit -m "Automatic version bump after tagging %TextTag%" "%CHTmpTrunkDir%" >"%TmpDir%\command.log"
+if errorlevel 1 (
+ echo ERROR: encountered a problem while committing changes to repository. See the log below:
+ type "%TmpDir%\command.log"
+ goto error
+)
+
+goto cleanup
+
+:error
+call internal\clear_env.bat /skip_create
+
+exit /b 1
+
+:cleanup
+echo * Cleaning up the temporary files...
+call internal\clear_env.bat /skip_create
+
+:end
+exit /b 0
Index: scripts2015/symsrv_add_release.bat
===================================================================
diff -u
--- scripts2015/symsrv_add_release.bat (revision 0)
+++ scripts2015/symsrv_add_release.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,41 @@
+@echo off
+
+rem Mark the changes as local ones
+setlocal
+
+if [%1] == [] (
+ echo Usage: symsrv_add_release.bat ^ [dir_with_packages]
+ goto end
+)
+
+echo --- Initializing -----------------------------------------------
+echo * Reading configuration...
+call config.bat
+if errorlevel 1 (
+ goto error
+)
+
+if NOT [%2] == [] (
+ SET PackagesDir=%2
+) else (
+ SET PackagesDir=%OutputDir%
+)
+
+echo --- Preparing files --------------------------------------------
+echo * Scanning directory %PackagesDir% for packages...
+for /R %PackagesDir% %%f in (*.zip) do (
+ echo * Processing package %%f...
+ call internal\symsrv_add_single_package.bat "%%f" "%1"
+ if errorlevel 1 (
+ goto error
+ )
+)
+
+echo * Done
+
+goto end
+
+:error
+ echo ERROR: encountered an error while processing packages.
+
+:end
Index: scripts2015/upload_release.bat
===================================================================
diff -u
--- scripts2015/upload_release.bat (revision 0)
+++ scripts2015/upload_release.bat (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -0,0 +1,31 @@
+@echo off
+
+rem Mark the changes as local ones
+setlocal
+
+echo --- Initializing -----------------------------------------------
+echo * Reading configuration...
+call config.bat
+if errorlevel 1 (
+ goto error
+)
+
+echo --- Uploading files --------------------------------------------
+echo cd uploads >"%TmpDir%\filelist.txt"
+for %%f in (out\*.*) do echo put %%f >>"%TmpDir%\filelist.txt"
+
+
+psftp -v -b "%TmpDir%\filelist.txt" ixen@frs.sourceforge.net
+if errorlevel 1 (
+ goto error
+)
+
+echo * Done
+
+goto end
+
+:error
+echo * Error uploading files.
+del "%TmpDir%\filelist.txt"
+
+:end
Index: src/ch/ch.vc140.vcxproj
===================================================================
diff -u -r1cbea44490be75319be043e12953072020e7d5c0 -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/ch/ch.vc140.vcxproj (.../ch.vc140.vcxproj) (revision 1cbea44490be75319be043e12953072020e7d5c0)
+++ src/ch/ch.vc140.vcxproj (.../ch.vc140.vcxproj) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -43,49 +43,49 @@
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Application
- v140_xp
+ v120_xp
Dynamic
Unicode
Index: src/chext/TLogger.h
===================================================================
diff -u -r3d1de44762647618faf9b5b3a87f89b293899d8d -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/chext/TLogger.h (.../TLogger.h) (revision 3d1de44762647618faf9b5b3a87f89b293899d8d)
+++ src/chext/TLogger.h (.../TLogger.h) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -35,7 +35,7 @@
// logging helpers
namespace details
{
- constexpr severity_level HRESULT2Severity(HRESULT hResult)
+ inline severity_level HRESULT2Severity(HRESULT hResult)
{
return (SUCCEEDED(hResult)) ? debug : error;
}
Index: src/chext/chext.vc140.vcxproj
===================================================================
diff -u -r3d1de44762647618faf9b5b3a87f89b293899d8d -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/chext/chext.vc140.vcxproj (.../chext.vc140.vcxproj) (revision 3d1de44762647618faf9b5b3a87f89b293899d8d)
+++ src/chext/chext.vc140.vcxproj (.../chext.vc140.vcxproj) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -43,53 +43,53 @@
DynamicLibrary
- v140_xp
+ v120_xp
false
false
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
false
false
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
false
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
false
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
false
false
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
false
false
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
false
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
false
Unicode
Index: src/libchcore/TCoreException.cpp
===================================================================
diff -u -r0c48142d3db406c32c05d7afdf77da45b2459b34 -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/libchcore/TCoreException.cpp (.../TCoreException.cpp) (revision 0c48142d3db406c32c05d7afdf77da45b2459b34)
+++ src/libchcore/TCoreException.cpp (.../TCoreException.cpp) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -21,4 +21,13 @@
namespace chcore
{
+ TCoreException::TCoreException(EGeneralErrors eErrorCode, const wchar_t* pszMsg, const wchar_t* pszFile, size_t stLineNumber, const wchar_t* pszFunction) :
+ TBaseException(eErrorCode, pszMsg, pszFile, stLineNumber, pszFunction)
+ {
+ }
+
+ TCoreException::TCoreException(EGeneralErrors eErrorCode, const char* pszMsg, const wchar_t* pszFile, size_t stLineNumber, const wchar_t* pszFunction) :
+ TBaseException(eErrorCode, pszMsg, pszFile, stLineNumber, pszFunction)
+ {
+ }
}
Index: src/libchcore/TCoreException.h
===================================================================
diff -u -r09d769045d1d5c45d8df16d209c754b872348c26 -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/libchcore/TCoreException.h (.../TCoreException.h) (revision 09d769045d1d5c45d8df16d209c754b872348c26)
+++ src/libchcore/TCoreException.h (.../TCoreException.h) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -32,11 +32,11 @@
namespace chcore
{
-
class LIBCHCORE_API TCoreException : public TBaseException
{
public:
- using TBaseException::TBaseException;
+ TCoreException(EGeneralErrors eErrorCode, const wchar_t* pszMsg, const wchar_t* pszFile, size_t stLineNumber, const wchar_t* pszFunction);
+ TCoreException(EGeneralErrors eErrorCode, const char* pszMsg, const wchar_t* pszFile, size_t stLineNumber, const wchar_t* pszFunction);
};
}
Index: src/libchcore/TFilesystemFeedbackWrapper.h
===================================================================
diff -u -r89f857792bba8752de98ddd477949e45cef5ba5a -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/libchcore/TFilesystemFeedbackWrapper.h (.../TFilesystemFeedbackWrapper.h) (revision 89f857792bba8752de98ddd477949e45cef5ba5a)
+++ src/libchcore/TFilesystemFeedbackWrapper.h (.../TFilesystemFeedbackWrapper.h) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -32,6 +32,7 @@
{
public:
TFilesystemFeedbackWrapper(const IFeedbackHandlerPtr& spFeedbackHandler, const IFilesystemPtr& spFilesystem, icpf::log_file& rLog, TWorkerThreadController& rThreadController);
+ TFilesystemFeedbackWrapper& operator=(const TFilesystemFeedbackWrapper&) = delete;
TSubTaskBase::ESubOperationResult CreateDirectoryFB(const TSmartPath& pathDirectory);
TSubTaskBase::ESubOperationResult CheckForFreeSpaceFB(const TSmartPath& pathFirstSrc, const TSmartPath& pathDestination, unsigned long long ullNeededSize);
Index: src/libchcore/TFilesystemFileFeedbackWrapper.h
===================================================================
diff -u -r89f857792bba8752de98ddd477949e45cef5ba5a -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/libchcore/TFilesystemFileFeedbackWrapper.h (.../TFilesystemFileFeedbackWrapper.h) (revision 89f857792bba8752de98ddd477949e45cef5ba5a)
+++ src/libchcore/TFilesystemFileFeedbackWrapper.h (.../TFilesystemFileFeedbackWrapper.h) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -34,6 +34,7 @@
{
public:
TFilesystemFileFeedbackWrapper(const IFeedbackHandlerPtr& spFeedbackHandler, icpf::log_file& rLog, TWorkerThreadController& rThreadController);
+ TFilesystemFileFeedbackWrapper& operator=(const TFilesystemFileFeedbackWrapper&) = delete;
TSubTaskBase::ESubOperationResult OpenSourceFileFB(const IFilesystemFilePtr& fileSrc);
TSubTaskBase::ESubOperationResult OpenExistingDestinationFileFB(const IFilesystemFilePtr& fileDst);
Index: src/libchcore/TLocalFilesystemFile.cpp
===================================================================
diff -u -r41383599835bbab64d854eed179a7db21a59c6bf -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/libchcore/TLocalFilesystemFile.cpp (.../TLocalFilesystemFile.cpp) (revision 41383599835bbab64d854eed179a7db21a59c6bf)
+++ src/libchcore/TLocalFilesystemFile.cpp (.../TLocalFilesystemFile.cpp) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -54,7 +54,7 @@
}
}
- constexpr DWORD TLocalFilesystemFile::GetFlagsAndAttributes(bool bNoBuffering) const
+ DWORD TLocalFilesystemFile::GetFlagsAndAttributes(bool bNoBuffering) const
{
return FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED | FILE_FLAG_SEQUENTIAL_SCAN | (bNoBuffering ? FILE_FLAG_NO_BUFFERING : 0);
}
Index: src/libchcore/TLocalFilesystemFile.h
===================================================================
diff -u -r41383599835bbab64d854eed179a7db21a59c6bf -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/libchcore/TLocalFilesystemFile.h (.../TLocalFilesystemFile.h) (revision 41383599835bbab64d854eed179a7db21a59c6bf)
+++ src/libchcore/TLocalFilesystemFile.h (.../TLocalFilesystemFile.h) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -55,7 +55,7 @@
private:
TLocalFilesystemFile(const TSmartPath& pathFile, bool bNoBuffering);
- constexpr DWORD GetFlagsAndAttributes(bool bNoBuffering) const;
+ DWORD GetFlagsAndAttributes(bool bNoBuffering) const;
void OpenExistingForWriting(bool bNoBuffering);
Index: src/libchcore/libchcore.vc140.vcxproj
===================================================================
diff -u -r4d1f8110906889d56552771fb58a6de86bc54a29 -rbfc7a8378a96c5b58def559b343918fca32f05a6
--- src/libchcore/libchcore.vc140.vcxproj (.../libchcore.vc140.vcxproj) (revision 4d1f8110906889d56552771fb58a6de86bc54a29)
+++ src/libchcore/libchcore.vc140.vcxproj (.../libchcore.vc140.vcxproj) (revision bfc7a8378a96c5b58def559b343918fca32f05a6)
@@ -43,47 +43,47 @@
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
true
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
true
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
DynamicLibrary
- v140_xp
+ v120_xp
Unicode
DynamicLibrary
Unicode
true
- v140_xp
+ v120_xp
DynamicLibrary
Unicode
true
- v140_xp
+ v120_xp
DynamicLibrary
Unicode
- v140_xp
+ v120_xp
DynamicLibrary
Unicode
- v140_xp
+ v120_xp