2019-05-25 01:30:12 +08:00
param ( [ string ] $version )
2019-02-03 05:54:29 +08:00
2019-05-25 01:30:12 +08:00
cd $PSScriptRoot ;
mkdir -Force -Verbose Builds ;
cd Builds ;
mkdir -Force -Verbose x86 ;
mkdir -Force -Verbose x64 ;
2018-10-28 14:27:24 +08:00
2019-05-25 01:30:12 +08:00
foreach ( $language in @ {
ENGLISH = " " ;
2019-06-14 08:08:55 +08:00
SPANISH = " Spanish " ;
SIMPLIFIED_CHINESE = " Simplified-Chinese " ;
RUSSIAN = " Russian " ;
TURKISH = " Turkish " ;
INDONESIAN = " Indonesian " ;
2019-06-20 11:19:13 +08:00
PORTUGUESE = " Portuguese " ;
2019-10-02 18:02:21 +08:00
THAI = " Thai " ;
2019-10-04 04:02:02 +08:00
KOREAN = " Korean " ;
2019-05-25 01:30:12 +08:00
} . GetEnumerator ( ) )
{
2019-05-28 02:13:12 +08:00
$folder = " Textractor- $( $language . Value ) - $version " ;
2019-07-20 22:03:40 +08:00
rm -Force -Recurse -Verbose $folder ;
2019-05-25 01:30:12 +08:00
mkdir -Force -Verbose $folder ;
2019-05-28 02:13:12 +08:00
foreach ( $arch in @ ( " x86 " , " x64 " ) )
2019-05-25 01:30:12 +08:00
{
2019-05-28 02:13:12 +08:00
cd $arch ;
2019-06-07 14:58:45 +08:00
$VS_arch = if ( $arch -eq " x86 " ) { " Win32 " } else { " x64 " } ;
2020-02-06 17:52:27 +08:00
& " C:\Program Files\CMake\bin\cmake " -G " Visual Studio 16 2019 " -A " $VS_arch " -DVERSION = " $version " -DTEXT_LANGUAGE = " $( $language . Key ) " -DCMAKE_BUILD_TYPE = " Release " . . / . . ;
2019-06-07 14:58:45 +08:00
& " C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv " Textractor . sln / build " Release| $VS_arch " ;
2019-05-28 02:13:12 +08:00
cd . . ;
2020-02-06 17:52:27 +08:00
& " C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe " sign / a / v / t " http://timestamp.digicert.com " / fd SHA256 " Release_ $arch /Textractor.exe " ;
& " C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe " sign / a / v / t " http://timestamp.digicert.com " / fd SHA256 " Release_ $arch /TextractorCLI.exe " ;
2019-05-28 02:13:12 +08:00
mkdir -Force -Verbose " $folder / $arch " ;
foreach ( $file in @ (
" Textractor.exe " ,
" TextractorCLI.exe " ,
" texthook.dll " ,
" Bing Translate.dll " ,
" Copy to Clipboard.dll " ,
" Extra Newlines.dll " ,
" Extra Window.dll " ,
" Google Translate.dll " ,
" Lua.dll " ,
" Regex Filter.dll " ,
2019-06-14 01:06:34 +08:00
" Remove Repeated Characters.dll " ,
" Remove Repeated Phrases.dll " ,
2019-08-08 02:05:50 +08:00
" Remove Repeated Phrases 2.dll " ,
2019-06-14 01:06:34 +08:00
" Remove 30 Repeated Sentences.dll " ,
2019-05-28 02:13:12 +08:00
" Replacer.dll " ,
2019-06-22 11:19:29 +08:00
" Thread Linker.dll "
2019-05-28 02:13:12 +08:00
) )
{
copy -Force -Recurse -Verbose -Destination " $folder / $arch " -Path " Release_ $arch / $file " ;
}
2019-05-25 01:30:12 +08:00
}
}
2019-06-22 11:19:29 +08:00
2019-07-20 22:03:40 +08:00
rm -Force -Recurse -Verbose " Runtime " ;
2019-06-22 11:19:29 +08:00
mkdir -Force -Verbose " Runtime " ;
2019-07-20 22:03:40 +08:00
foreach ( $arch in @ ( " x86 " , " x64 " ) )
2019-06-22 11:19:29 +08:00
{
2019-07-20 22:03:40 +08:00
mkdir -Force -Verbose " Runtime/ $arch " ;
foreach ( $file in @ (
" LoaderDll.dll " ,
" LocaleEmulator.dll " ,
" Qt5Core.dll " ,
" Qt5Gui.dll " ,
" Qt5Widgets.dll " ,
" platforms " ,
" styles "
) )
2019-06-22 11:19:29 +08:00
{
copy -Force -Recurse -Verbose -Destination " Runtime/ $arch / $file " -Path " Release_ $arch / $file " ;
}
}
2019-07-20 22:03:40 +08:00
rm -Force -Recurse -Verbose " Textractor " ;
mkdir -Force -Verbose " Textractor " ;
copy -Force -Recurse -Verbose -Destination " Textractor " -Path @ ( " Runtime/* " , " Textractor-- $version /* " ) ;
2019-06-22 11:19:29 +08:00
cd . .
2020-02-12 14:34:03 +08:00
& " C:\Program Files (x86)\Inno Setup 6\iscc " -DVERSION = " $version " installer . iss ;
2020-02-06 17:52:27 +08:00
& " C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe " sign / a / v / t " http://timestamp.digicert.com " / fd SHA256 " Builds/Textractor- $version -Setup.exe " ;