OSDN Git Service

autoit.cpp - #CS #CE support (#753)
[winmerge-jp/winmerge-jp.git] / BuildArc.cmd
1 pushd "%~dp0"
2
3 setlocal
4 call SetVersion.cmd
5 if "%2" == "-ci" (
6   if exist .hg (
7     for /F "delims=" %%i in ('hg id') do set SAFEAPPVER=%SAFEAPPVER%-%%i
8   ) else if exist .git (
9     for /F "delims=" %%i in ('git rev-parse --short head') do set SAFEAPPVER=%SAFEAPPVER%-%%i
10   ) else (
11     set SAFEAPPVER=%SAFEAPPVER%-%APPVEYOR_BUILD_VERSION%
12   )
13 )
14 set DISTDIR=.\Build\Releases
15 set path="%ProgramFiles%\7-zip";"%ProgramFiles(x86)%\7-zip";%path%
16
17 if "%1" == "" (
18   call :BuildZip 
19   call :BuildZip x64
20   call :BuildZip ARM64
21 ) else (
22   call :BuildZip %1 
23 )
24
25 del "%DISTDIR%\winmerge-%SAFEAPPVER%-full-src.7z" 2> NUL
26
27 7z.exe a -t7z -xr!*.gcno -xr!*.gcda -xr!*.gcov -xr!*.orig -xr!*.o -xr!*.a -xr!.dep -xr!*.asm -xr!*.out -xr!debug_static* -xr!debug_shared* -xr!release_static* -xr!release_shared* -xr!*.bak -xr!*.lang -xr!*.db -xr!*.ncb  -xr!*.sdf -xr!*.bsc -xr!*.opt -xr!*.plg -xr!*.suo -xr!*.obj -xr!*.ilk -xr!*.pdb -xr!*.pch -xr!*.res -xr!*.exe -xr!*.sbr -xr!.vs -xr!*.VC.db-* -xr!*.zip -xr!WinMergeSplash.psd -xr!*.lib -xr!*.exp -xr!*.idb -xr!*.%COMPUTERNAME%.%USERNAME%.user -xr!BuildLog.htm -xr!ipch -xr!*.tlb -xr!*.tlog -xr!*.*~ -xr!CVS -xr!.svn -xr!.hg -xr!*.log -xr!*.lastbuildstate -xr!FreeImage*.dll -xr!WinIMergeLib.dll -xr!WinIMerge.exe -xr!BuildTmp -xr!Docs\Manual\Tools "%DISTDIR%\winmerge-%SAFEAPPVER%-full-src.7z" ArchiveSupport ColorSchemes Docs Externals Filters Installer Plugins ShellExtension Src Testing Tools Translations Web readme.txt Version.h *.cmd *.bat *.inf *.sln *.vbs
28
29 (
30 echo "%DISTDIR%\WinMerge-%SAFEAPPVER%-Setup.exe"
31 echo "%DISTDIR%\WinMerge-%SAFEAPPVER%-x64-Setup.exe"
32 echo "%DISTDIR%\WinMerge-%SAFEAPPVER%-x64-PerUser-Setup.exe"
33 echo "%DISTDIR%\WinMerge-%SAFEAPPVER%-ARM64-Setup.exe"
34 echo "%DISTDIR%\winmerge-%SAFEAPPVER%-exe.zip"
35 echo "%DISTDIR%\winmerge-%SAFEAPPVER%-x64-exe.zip"
36 echo "%DISTDIR%\winmerge-%SAFEAPPVER%-ARM64-exe.zip"
37 echo "%DISTDIR%\winmerge-%SAFEAPPVER%-pdb.7z"
38 echo "%DISTDIR%\winmerge-%SAFEAPPVER%-x64-pdb.7z"
39 echo "%DISTDIR%\winmerge-%SAFEAPPVER%-ARM64-pdb.7z"
40 echo "%DISTDIR%\winmerge-%SAFEAPPVER%-full-src.7z"
41 ) > "%DISTDIR%\files.txt"
42
43 popd
44 goto :eof
45
46
47 :BuildZip
48
49 set PLATFORM=%1
50 if "%1" == "" (
51   set PLATFORMH=%1
52 ) else (
53   set PLATFORMH=%1-
54 )
55
56 echo.
57 echo ============================================================
58 echo BUILD winmerge-%SAFEAPPVER%-%PLATFORMH%exe.zip...
59 echo ============================================================
60
61 rmdir /q /s "%DISTDIR%\%PLATFORMH%zip-version" > NUL 2> NUL
62 mkdir "%DISTDIR%" 2> NUL
63
64 rem Copy platform setups
65 copy "Build\WinMerge-%RCVER%-%PLATFORMH%Setup.exe" "%DISTDIR%\WinMerge-%SAFEAPPVER%-%PLATFORMH%Setup.exe" > NUL
66 if not "%1" == "" (
67   copy "Build\WinMerge-%RCVER%-%PLATFORMH%PerUser-Setup.exe" "%DISTDIR%\WinMerge-%SAFEAPPVER%-%PLATFORMH%PerUser-Setup.exe" > NUL
68 )
69
70 rem Create folder structure
71 for %%i in (ColorSchemes Languages Filters MergePlugins Docs Frhed\Docs Frhed\Languages WinIMerge Merge7z\Lang GnuWin32) do (
72   mkdir "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\%%i" 2> NUL
73 )
74
75 rem Docs
76 echo Copy Docs...
77 for %%i in (Translations\Docs\Readme\ReadMe-*.txt Build\Manual\htmlhelp\WinMerge*.chm Docs\Users\ReleaseNotes.html Docs\Users\ChangeLog.html) do (
78   copy "%%i" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\Docs" > NUL
79 )
80 for %%i in (Src\COPYING Docs\Users\Contributors.txt Docs\Users\ReadMe.txt) do (
81   copy "%%i" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge" > NUL
82 )
83
84 rem Excecutables
85 echo Copy Excecutables...
86 copy Build\%PLATFORM%\Release\WinMergeU.exe "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\" > NUL
87 if not "%1" == "" (
88   copy Plugins\WinMerge32BitPluginProxy\Release\WinMerge32BitPluginProxy.exe "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\" > NUL
89 )
90
91 rem ShellExtension
92 echo Copy ShellExtension...
93 if not "%1" == "ARM64" (
94   copy "Build\ShellExtension\ShellExtensionU.dll" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\" > NUL
95   copy "Build\ShellExtension\ShellExtensionX64.dll" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\" > NUL
96 )
97 if "%1" == "ARM64" (
98   copy "Build\ShellExtension\ShellExtensionARM64.dll" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\" > NUL
99 )
100 copy ShellExtension\*Register*.bat "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\" > NUL
101
102 rem Translations
103 echo Copy Translations...
104 copy Build\%PLATFORM%\Release\Languages\*.po "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\Languages\" > NUL
105
106 rem ColorSchemes
107 echo Copy ColorSchemes...
108 for %%i in (ColorSchemes\*.ini) do (
109   copy "%%i" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\ColorSchemes" > NUL
110 )
111
112 rem Filters
113 echo Copy Filters...
114 for %%i in (Filters\*.flt Filters\*.tmpl Filters\*.txt) do (
115   copy "%%i" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\Filters" > NUL
116 )
117
118 rem Plugins
119 echo Copy Plugins...
120 copy Plugins\dlls\%PLATFORM%\*.dll "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\MergePlugins\" > NUL
121 copy Plugins\dlls\*.sct "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\MergePlugins\" > NUL
122 del "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\MergePlugins\CompareMS*.dll" 2> NUL
123 del "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\MergePlugins\Watch*OfLog.dll" 2> NUL
124 del "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\MergePlugins\DisplayXMLFiles.dll" 2> NUL
125
126 rem 7zPlugins
127 echo Copy 7zPlugins...
128 copy Build\%PLATFORM%\Merge7z\Merge7z.dll "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\Merge7z\" > NUL
129 copy Build\%PLATFORM%\Merge7z\7z.dll "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\Merge7z\" > NUL
130 copy Build\%PLATFORM%\Merge7z\*.txt "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\Merge7z\" > NUL
131 copy Build\%PLATFORM%\Merge7z\Lang\*.txt "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\Merge7z\Lang\" > NUL
132
133 rem Frhed
134 echo Copy Frhed...
135 copy Build\%PLATFORM%\Frhed\GPL.txt "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\frhed\" > NUL
136 rem copy Build\%PLATFORM%\Frhed\frhed.exe "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\frhed\" > NUL
137 copy Build\%PLATFORM%\Frhed\hekseditU.dll "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\frhed\" > NUL
138 copy Build\%PLATFORM%\Frhed\Docs\*.txt "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\frhed\Docs" > NUL
139 copy Build\%PLATFORM%\Frhed\Docs\Sample.tpl "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\frhed\Docs" > NUL
140 copy Build\%PLATFORM%\Frhed\Languages\*.po "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\frhed\Languages" > NUL
141 copy Build\%PLATFORM%\Frhed\Languages\heksedit.lng "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\frhed\Languages" > NUL
142
143 rem WinIMerge
144 echo Copy WinIMerge...
145 copy Build\WinIMerge\GPL.txt "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\WinIMerge\" > NUL
146 copy Build\WinIMerge\freeimage-license-gplv2.txt "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\WinIMerge\" > NUL
147 if "%1" == "" (
148   rem copy Build\WinIMerge\bin\WinIMerge.exe "%DISTDIR%\zip-version\WinMerge\WinIMerge\" > NUL
149   copy Build\WinIMerge\bin\WinIMergeLib.dll "%DISTDIR%\zip-version\WinMerge\WinIMerge\" > NUL
150   copy Build\WinIMerge\bin\vcomp*.dll "%DISTDIR%\zip-version\WinMerge\" > NUL
151 ) else (
152   rem copy Build\WinIMerge\bin64\WinIMerge.exe "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\WinIMerge\" > NUL
153   copy Build\WinIMerge\bin64\WinIMergeLib.dll "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\WinIMerge\" > NUL
154   copy Build\WinIMerge\bin64\vcomp*.dll "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\" > NUL
155 )
156
157 rem Patch
158 echo Copy Patch...
159 xcopy /s/y Build\GnuWin32 "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\GnuWin32\" > NUL
160
161 echo.
162 echo ------------------------------------------------------------
163 echo Pack archive...
164 echo ------------------------------------------------------------
165 7z.exe a -tzip "%DISTDIR%\winmerge-%SAFEAPPVER%-%PLATFORMH%exe.zip" "%DISTDIR%\%PLATFORMH%zip-version\WinMerge\"
166 set PDBFILE="Build\%PLATFORM%\Release\WinMergeU.pdb"
167 7z.exe a -t7z  "%DISTDIR%\winmerge-%SAFEAPPVER%-%PLATFORMH%pdb.7z" %PDBFILE:\\=\%
168
169 goto :eof