# HG changeset patch # User Chris Cannam # Date 1544190092 0 # Node ID 21e03596dd93d26e66263d1d401e5036dd78413c # Parent 0329bbd4b57c0391e58d626714848c342f148bb2 Towards Win32 deployment diff -r 0329bbd4b57c -r 21e03596dd93 .appveyor.yml --- a/.appveyor.yml Thu Dec 06 13:54:34 2018 +0000 +++ b/.appveyor.yml Fri Dec 07 13:41:32 2018 +0000 @@ -6,6 +6,7 @@ - Release install: + - cinst wget - ps: '"[hostfingerprints]" | Out-File -Encoding "ASCII" -Append $env:USERPROFILE\mercurial.ini' - ps: '"code.soundsoftware.ac.uk = 66:ef:e2:0e:e3:55:93:9a:33:aa:2a:e9:fe:be:21:c2:a2:8d:4f:f1" | Out-File -Encoding "ASCII" -Append $env:USERPROFILE\mercurial.ini' - ps: '"[hostsecurity]" | Out-File -Encoding "ASCII" -Append $env:USERPROFILE\mercurial.ini' diff -r 0329bbd4b57c -r 21e03596dd93 .hgignore --- a/.hgignore Thu Dec 06 13:54:34 2018 +0000 +++ b/.hgignore Fri Dec 07 13:41:32 2018 +0000 @@ -27,3 +27,6 @@ *.xcodeproj *.bak *.msi +easyhg-kdiff3 +mercurial-*-x86 +build_win32 diff -r 0329bbd4b57c -r 21e03596dd93 deploy/win32/build.bat --- a/deploy/win32/build.bat Thu Dec 06 13:54:34 2018 +0000 +++ b/deploy/win32/build.bat Fri Dec 07 13:41:32 2018 +0000 @@ -3,24 +3,72 @@ set STARTPWD=%CD% -set QTDIR=C:\Qt\5.11.2\mingw53_32 +set QTDIR=C:\Qt\5.12.0\msvc2017 if not exist %QTDIR% ( -@ echo Could not find 32-bit Qt +@ echo Could not find 32-bit Qt using MSVC @ exit /b 2 ) +if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" ( +@ echo "Could not find MSVC vars batch file" +@ exit /b 2 +) + +call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 + set ORIGINALPATH=%PATH% set PATH=%PATH%;C:\Program Files (x86)\SMLNJ\bin;%QTDIR%\bin;C:\Qt\Tools\QtCreator\bin;C:\Qt\Tools\mingw530_32\bin cd %STARTPWD% +if not exist easyhg-kdiff3 ( + hg clone https://code.soundsoftware.ac.uk/hg/easyhg-kdiff3 +) +set KDIFFDIR=%STARTPWD%\easyhg-kdiff3\kdiff3\src-QT4 + mkdir build_win32 cd build_win32 -qmake -spec win32-g++ -r ..\easyhg.pro +qmake -spec win32-msvc -r -tp vc ..\easyhg.pro if %errorlevel% neq 0 exit /b %errorlevel% -mingw32-make +msbuild EasyMercurial.vcxproj /t:Build /p:Configuration=Release +if %errorlevel% neq 0 exit /b %errorlevel% + +cd %KDIFFDIR% + +mkdir build_win32 +cd build_win32 + +qmake -spec win32-msvc -r -tp vc ..\kdiff3.pro +if %errorlevel% neq 0 exit /b %errorlevel% + +msbuild kdiff3.vcxproj /t:Build /p:Configuration=Release +if %errorlevel% neq 0 exit /b %errorlevel% + +cd %STARTPWD%\build_win32 + +copy %KDIFFDIR%\build_win32\release\kdiff3.exe .\release + +copy %QTDIR%\bin\Qt5Core.dll .\release +copy %QTDIR%\bin\Qt5Gui.dll .\release +copy %QTDIR%\bin\Qt5Widgets.dll .\release +copy %QTDIR%\bin\Qt5Network.dll .\release +copy %QTDIR%\bin\Qt5PrintSupport.dll .\release +copy %QTDIR%\plugins\platforms\qminimal.dll .\release +copy %QTDIR%\plugins\platforms\qwindows.dll .\release +copy %QTDIR%\plugins\styles\qwindowsvistastyle.dll .\release + +cd %STARTPWD% + +if not exist mercurial-4.8.0-x86.msi ( + C:\ProgramData\chocolatey\bin\wget https://bitbucket.org/tortoisehg/files/downloads/mercurial-4.8.0-x86.msi +) +if %errorlevel% neq 0 exit /b %errorlevel% + +if not exist mercurial-4.8.0-x86 ( + msiexec /a mercurial-4.8.0-x86.msi /qn TARGETDIR=%STARTPWD%\mercurial-4.8.0-x86 +) if %errorlevel% neq 0 exit /b %errorlevel% set PATH=%ORIGINALPATH% diff -r 0329bbd4b57c -r 21e03596dd93 deploy/win32/easyhg.wxs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy/win32/easyhg.wxs Fri Dec 07 13:41:32 2018 +0000 @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0329bbd4b57c -r 21e03596dd93 easyhg.wxs --- a/easyhg.wxs Thu Dec 06 13:54:34 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,389 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0329bbd4b57c -r 21e03596dd93 src/mainwindow.cpp --- a/src/mainwindow.cpp Thu Dec 06 13:54:34 2018 +0000 +++ b/src/mainwindow.cpp Fri Dec 07 13:41:32 2018 +0000 @@ -874,14 +874,13 @@ // forward slashes as directory separators, Windows // Explorer is not int last = m_workFolderPath.length() - 1; - char c = m_workFolderPath[last].toAscii(); + QChar c = m_workFolderPath[last]; if (c == '\\' || c == '/') { m_workFolderPath.chop(1); } file = m_workFolderPath + "\\" + file; file = file.replace('/', '\\'); args << "/select," << file; - // FIXME: This shouldn't be using a hardcoded path. QProcess::execute("c:/windows/explorer.exe", args); #elif defined(Q_OS_MAC) file = m_workFolderPath + "/" + file;