summaryrefslogtreecommitdiffstats
path: root/win/CS
diff options
context:
space:
mode:
authorsr55 <[email protected]>2021-02-20 19:47:34 +0000
committersr55 <[email protected]>2021-02-20 19:47:34 +0000
commitba29c1445d18fc66a8daf1e5269846a8b359a532 (patch)
tree36163d6931a549663bb7a379d169c467ae36053c /win/CS
parent046724310ccfb30ae421462db40bc7f56ee070f6 (diff)
WinGui: Refactor the build system to use the dotnet CLI and adding support for future ARM64 builds.
Diffstat (limited to 'win/CS')
-rw-r--r--win/CS/HandBrake.Installer/HandBrake.Installer.wixproj4
-rw-r--r--win/CS/HandBrake.Installer/Product.wxs116
-rw-r--r--win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_arm64.pubxml4
-rw-r--r--win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_portable.pubxml2
-rw-r--r--win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_x64.pubxml4
-rw-r--r--win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_arm64.pubxml2
-rw-r--r--win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_portable.pubxml2
-rw-r--r--win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_x64.pubxml2
-rw-r--r--win/CS/HandBrakeWPF/App.xaml.cs9
-rw-r--r--win/CS/HandBrakeWPF/Installer/Installer64.nsi79
-rw-r--r--win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi82
-rw-r--r--win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_arm64.pubxml17
-rw-r--r--win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_portable.pubxml2
-rw-r--r--win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_x64.pubxml2
-rw-r--r--win/CS/build.xml132
15 files changed, 93 insertions, 366 deletions
diff --git a/win/CS/HandBrake.Installer/HandBrake.Installer.wixproj b/win/CS/HandBrake.Installer/HandBrake.Installer.wixproj
index e2148a47d..6c8215b93 100644
--- a/win/CS/HandBrake.Installer/HandBrake.Installer.wixproj
+++ b/win/CS/HandBrake.Installer/HandBrake.Installer.wixproj
@@ -10,14 +10,16 @@
<OutputType>Package</OutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DefineConstants>Debug</DefineConstants>
+ <DefineConstants>Debug;HBPROFILE=$(HBPROFILE)</DefineConstants>
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+ <DefineConstants>Release;HBPROFILE=$(HBPROFILE)</DefineConstants>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
+
<ItemGroup>
<Compile Include="Product.wxs" />
</ItemGroup>
diff --git a/win/CS/HandBrake.Installer/Product.wxs b/win/CS/HandBrake.Installer/Product.wxs
index 580d6fdd4..14aa19da8 100644
--- a/win/CS/HandBrake.Installer/Product.wxs
+++ b/win/CS/HandBrake.Installer/Product.wxs
@@ -14,13 +14,13 @@
<?define productName = "HandBrake Nightly" ?>
<?define installDir = "Nightly" ?>
<?define ToastActivatorCLSID = "" ?>
- <?define packagePath = "..\HandBrakeWPF\bin\Debug" ?>
+ <?define packagePath = "..\HandBrakeWPF\bin\publish" ?>
<?else ?>
<?define msiProductId = "fd19ef0e-77c4-47a6-b1e4-4cea0b3a4c93" ?>
<?define productName = "HandBrake" ?>
<?define installDir = "HandBrake" ?>
<?define ToastActivatorCLSID = "" ?>
- <?define packagePath = "..\HandBrakeWPF\bin\Release" ?>
+ <?define packagePath = "..\HandBrakeWPF\bin\publish" ?>
<?endif ?>
<Product Id="$(var.msiProductId)" Name="$(var.productName)" Language="1033" Version="1.4.0.0" Manufacturer="HandBrake Team" UpgradeCode="$(var.msiProductId)">
@@ -52,7 +52,7 @@
<Condition Message="This application is only supported on Windows 7 SP1, 8.1 or 10.">
<![CDATA[Installed OR (VersionNT64 >= 603) OR (VersionNT64 = 601)]]>
</Condition>
-
+
<!-- Install Files -->
<Directory Id="TARGETDIR" Name="SourceDir">
@@ -66,106 +66,10 @@
<File Source="$(var.packagePath)\HandBrake.dll.config"/>
<File Source="$(var.packagePath)\HandBrake.Worker.exe" />
<File Source="$(var.packagePath)\HandBrake.Worker.dll.config"/>
- <File Source="$(var.packagePath)\HandBrake.Interop.dll"/>
- <File Source="$(var.packagePath)\HandBrake.Worker.dll"/>
- <File Source="$(var.packagePath)\HandBrake.dll"/>
<File Source="$(var.packagePath)\hb.dll"/>
<File Source="$(var.packagePath)\portable.ini.template"/>
-
- <!-- 3rd Party Libraries -->
- <File Source="$(var.packagePath)\Caliburn.Micro.dll"/>
- <File Source="$(var.packagePath)\Caliburn.Micro.Platform.Core.dll"/>
- <File Source="$(var.packagePath)\Caliburn.Micro.Platform.dll"/>
- <File Source="$(var.packagePath)\GongSolutions.WPF.DragDrop.dll"/>
- <File Source="$(var.packagePath)\Ookii.Dialogs.Wpf.dll"/>
- <File Source="$(var.packagePath)\System.Windows.Interactivity.dll"/>
- <File Source="$(var.packagePath)\Newtonsoft.Json.dll"/>
- <File Source="$(var.packagePath)\System.Management.dll"/>
-
-
- <File Source="$(var.packagePath)\HandBrake.deps.json"/>
- <File Source="$(var.packagePath)\HandBrake.runtimeconfig.json"/>
- <File Source="$(var.packagePath)\HandBrake.Worker.deps.json"/>
- <File Source="$(var.packagePath)\HandBrake.Worker.runtimeconfig.json"/>
</Component>
- <Directory Id="runtime" Name="runtimes">
- <Directory Id="runtime_win" Name="win">
- <Directory Id="runtime_lib" Name="lib">
- <Directory Id="runtime_netcore2" Name="netcoreapp2.0">
- <Component Win64="yes" Id="runtime" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42193">
- <File Id="runtime_system_management" Source="$(var.packagePath)\runtimes\win\lib\netcoreapp2.0\System.Management.dll" />
- </Component>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
-
- <Directory Id="de_lang" Name="de">
- <Component Win64="yes" Id="de_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42182">
- <File Id="de_lang" Source="$(var.packagePath)\de\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="co_lang" Name="co">
- <Component Win64="yes" Id="co_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42183">
- <File Id="co_lang" Source="$(var.packagePath)\co\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="es_lang" Name="es">
- <Component Win64="yes" Id="es_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42184">
- <File Id="es_lang" Source="$(var.packagePath)\es\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="fr_lang" Name="fr">
- <Component Win64="yes" Id="fr_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42185">
- <File Id="fr_lang" Source="$(var.packagePath)\fr\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="ja_lang" Name="ja">
- <Component Win64="yes" Id="ja_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42186">
- <File Id="ja_lang" Source="$(var.packagePath)\ja\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="ko_lang" Name="ko">
- <Component Win64="yes" Id="ko_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42187">
- <File Id="ko_lang" Source="$(var.packagePath)\ko\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="pt_BR_lang" Name="pt-BR">
- <Component Win64="yes" Id="pt_BR_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42188">
- <File Id="pt_BR_lang" Source="$(var.packagePath)\pt-BR\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="ru_lang" Name="ru">
- <Component Win64="yes" Id="ru_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42189">
- <File Id="ru_lang" Source="$(var.packagePath)\ru\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="tr_lang" Name="tr">
- <Component Win64="yes" Id="tr_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42190">
- <File Id="tr_lang" Source="$(var.packagePath)\tr\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="uk_lang" Name="uk">
- <Component Win64="yes" Id="uk_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42191">
- <File Id="uk_lang" Source="$(var.packagePath)\uk\HandBrake.resources.dll" />
- </Component>
- </Directory>
-
- <Directory Id="zh_lang" Name="zh">
- <Component Win64="yes" Id="zh_lang" Guid="cbae29e7-6d39-49bb-8c76-0305c3d42192">
- <File Id="zh_lang" Source="$(var.packagePath)\zh\HandBrake.resources.dll" />
- </Component>
- </Directory>
</Directory>
</Directory>
@@ -200,20 +104,6 @@
<Feature Id="DefaultFeature" Level="1">
<ComponentRef Id="ApplicationFiles"/>
<ComponentRef Id="AppShortcuts"/>
-
- <ComponentRef Id="runtime"/>
-
- <ComponentRef Id="de_lang"/>
- <ComponentRef Id="co_lang"/>
- <ComponentRef Id="es_lang"/>
- <ComponentRef Id="fr_lang"/>
- <ComponentRef Id="ja_lang"/>
- <ComponentRef Id="ko_lang"/>
- <ComponentRef Id="pt_BR_lang"/>
- <ComponentRef Id="ru_lang"/>
- <ComponentRef Id="tr_lang"/>
- <ComponentRef Id="uk_lang"/>
- <ComponentRef Id="zh_lang"/>
</Feature>
</Product>
diff --git a/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_arm64.pubxml b/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_arm64.pubxml
index 8846618b5..1d06fec4c 100644
--- a/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_arm64.pubxml
+++ b/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_arm64.pubxml
@@ -6,12 +6,12 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\arm64</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0</TargetFramework>
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
<SelfContained>false</SelfContained>
<PublishReadyToRun>True</PublishReadyToRun>
- <PublishSingleFile>True</PublishSingleFile>
+ <PublishSingleFile>False</PublishSingleFile>
</PropertyGroup>
</Project> \ No newline at end of file
diff --git a/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_portable.pubxml b/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_portable.pubxml
index e645a0793..cd60867d4 100644
--- a/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_portable.pubxml
+++ b/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_portable.pubxml
@@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\portable</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0</TargetFramework>
<SelfContained>false</SelfContained>
diff --git a/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_x64.pubxml b/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_x64.pubxml
index c91a2a87d..074fe9cd8 100644
--- a/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_x64.pubxml
+++ b/win/CS/HandBrake.Interop/Properties/PublishProfiles/publish_x64.pubxml
@@ -6,12 +6,12 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\x64</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0</TargetFramework>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<SelfContained>false</SelfContained>
<PublishReadyToRun>True</PublishReadyToRun>
- <PublishSingleFile>True</PublishSingleFile>
+ <PublishSingleFile>False</PublishSingleFile>
</PropertyGroup>
</Project> \ No newline at end of file
diff --git a/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_arm64.pubxml b/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_arm64.pubxml
index fd5c831b7..0f4c7b2b2 100644
--- a/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_arm64.pubxml
+++ b/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_arm64.pubxml
@@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\arm64</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0</TargetFramework>
<SelfContained>false</SelfContained>
diff --git a/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_portable.pubxml b/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_portable.pubxml
index e645a0793..cd60867d4 100644
--- a/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_portable.pubxml
+++ b/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_portable.pubxml
@@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\portable</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0</TargetFramework>
<SelfContained>false</SelfContained>
diff --git a/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_x64.pubxml b/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_x64.pubxml
index 72e4d110f..284426c1e 100644
--- a/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_x64.pubxml
+++ b/win/CS/HandBrake.Worker/Properties/PublishProfiles/publish_x64.pubxml
@@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\x64</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0</TargetFramework>
<SelfContained>false</SelfContained>
diff --git a/win/CS/HandBrakeWPF/App.xaml.cs b/win/CS/HandBrakeWPF/App.xaml.cs
index 04aacf2b9..471b5412c 100644
--- a/win/CS/HandBrakeWPF/App.xaml.cs
+++ b/win/CS/HandBrakeWPF/App.xaml.cs
@@ -72,14 +72,7 @@ namespace HandBrakeWPF
Application.Current.Shutdown();
return;
}
-
- if (!File.Exists("hb.dll"))
- {
- MessageBox.Show(HandBrakeWPF.Properties.Resources.Startup_HbDllMissing, HandBrakeWPF.Properties.Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error);
- Application.Current.Shutdown();
- return;
- }
-
+
if (e.Args.Any(f => f.Equals("--reset")))
{
HandBrakeApp.ResetToDefaults();
diff --git a/win/CS/HandBrakeWPF/Installer/Installer64.nsi b/win/CS/HandBrakeWPF/Installer/Installer64.nsi
index 7e5033fb1..63c0a7263 100644
--- a/win/CS/HandBrakeWPF/Installer/Installer64.nsi
+++ b/win/CS/HandBrakeWPF/Installer/Installer64.nsi
@@ -123,57 +123,6 @@ Section "HandBrake" SectionApp
File "*.config"
File "*.pdb"
File "*.config"
- File "*.deps.json"
- File "*.runtimeconfig.json"
-
- SetOutPath "$INSTDIR\runtimes\win\lib\netcoreapp2.0"
- SetOverwrite ifnewer
- File "runtimes\win\lib\netcoreapp2.0\*.*"
-
- ; Copy the languages
- SetOutPath "$INSTDIR\de"
- SetOverwrite ifnewer
- File "de\*.*"
-
- SetOutPath "$INSTDIR\zh"
- SetOverwrite ifnewer
- File "zh\*.*"
-
- SetOutPath "$INSTDIR\es"
- SetOverwrite ifnewer
- File "es\*.*"
-
- SetOutPath "$INSTDIR\fr"
- SetOverwrite ifnewer
- File "fr\*.*"
-
- SetOutPath "$INSTDIR\ko"
- SetOverwrite ifnewer
- File "ko\*.*"
-
- SetOutPath "$INSTDIR\ru"
- SetOverwrite ifnewer
- File "ru\*.*"
-
- SetOutPath "$INSTDIR\tr"
- SetOverwrite ifnewer
- File "tr\*.*"
-
- SetOutPath "$INSTDIR\ja"
- SetOverwrite ifnewer
- File "ja\*.*"
-
- SetOutPath "$INSTDIR\pt-BR"
- SetOverwrite ifnewer
- File "pt-BR\*.*"
-
- SetOutPath "$INSTDIR\co"
- SetOverwrite ifnewer
- File "co\*.*"
-
- SetOutPath "$INSTDIR\uk"
- SetOverwrite ifnewer
- File "uk\*.*"
; Copy the standard doc set into the doc folder
SetOutPath "$INSTDIR\doc"
@@ -220,34 +169,6 @@ Section Uninstall
Delete "$INSTDIR\*.*"
Delete "$INSTDIR\doc\*.*"
RMDir "$INSTDIR\doc"
- Delete "$INSTDIR\de\*.*"
- RMDir "$INSTDIR\de"
- Delete "$INSTDIR\zh\*.*"
- RMDir "$INSTDIR\zh"
- Delete "$INSTDIR\es\*.*"
- RMDir "$INSTDIR\es"
- Delete "$INSTDIR\fr\*.*"
- RMDir "$INSTDIR\fr"
- Delete "$INSTDIR\ko\*.*"
- RMDir "$INSTDIR\ko"
- Delete "$INSTDIR\ru\*.*"
- RMDir "$INSTDIR\ru"
- Delete "$INSTDIR\tr\*.*"
- RMDir "$INSTDIR\tr"
- Delete "$INSTDIR\ja\*.*"
- RMDir "$INSTDIR\ja"
- Delete "$INSTDIR\pt-BR\*.*"
- RMDir "$INSTDIR\pt-BR"
- Delete "$INSTDIR\co\*.*"
- RMDir "$INSTDIR\co"
- Delete "$INSTDIR\uk\*.*"
- RMDir "$INSTDIR\uk"
-
- Delete "$INSTDIR\runtimes\win\lib\netcoreapp2.0\*.*"
- RMDir "$INSTDIR\runtimes\win\lib\netcoreapp2.0"
- RMDir "$INSTDIR\runtimes\win\lib"
- RMDir "$INSTDIR\runtimes\win"
- RMDir "$INSTDIR\runtimes"
RMDir "$INSTDIR"
diff --git a/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi b/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi
index 0d2f18b54..25e0ac74a 100644
--- a/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi
+++ b/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi
@@ -119,58 +119,8 @@ Section "HandBrake" SectionApp
File "*.dll"
File "*.template"
File "*.config"
- File "*.deps.json"
- File "*.runtimeconfig.json"
- File "HandBrake*.pdb"
-
- SetOutPath "$INSTDIR\runtimes\win\lib\netcoreapp2.0"
- SetOverwrite ifnewer
- File "runtimes\win\lib\netcoreapp2.0\*.*"
-
- ; Copy the languages
- SetOutPath "$INSTDIR\de"
- SetOverwrite ifnewer
- File "de\*.*"
-
- SetOutPath "$INSTDIR\zh"
- SetOverwrite ifnewer
- File "zh\*.*"
-
- SetOutPath "$INSTDIR\es"
- SetOverwrite ifnewer
- File "es\*.*"
-
- SetOutPath "$INSTDIR\fr"
- SetOverwrite ifnewer
- File "fr\*.*"
-
- SetOutPath "$INSTDIR\ko"
- SetOverwrite ifnewer
- File "ko\*.*"
-
- SetOutPath "$INSTDIR\ru"
- SetOverwrite ifnewer
- File "ru\*.*"
-
- SetOutPath "$INSTDIR\tr"
- SetOverwrite ifnewer
- File "tr\*.*"
-
- SetOutPath "$INSTDIR\ja"
- SetOverwrite ifnewer
- File "ja\*.*"
-
- SetOutPath "$INSTDIR\pt-BR"
- SetOverwrite ifnewer
- File "pt-BR\*.*"
-
- SetOutPath "$INSTDIR\co"
- SetOverwrite ifnewer
- File "co\*.*"
-
- SetOutPath "$INSTDIR\uk"
- SetOverwrite ifnewer
- File "uk\*.*"
+ File "*.pdb"
+ File "*.config"
; Copy the standard doc set into the doc folder
SetOutPath "$INSTDIR\doc"
@@ -215,34 +165,6 @@ Section Uninstall
Delete "$INSTDIR\*.*"
Delete "$INSTDIR\doc\*.*"
RMDir "$INSTDIR\doc"
- Delete "$INSTDIR\de\*.*"
- RMDir "$INSTDIR\de"
- Delete "$INSTDIR\zh\*.*"
- RMDir "$INSTDIR\zh"
- Delete "$INSTDIR\es\*.*"
- RMDir "$INSTDIR\es"
- Delete "$INSTDIR\fr\*.*"
- RMDir "$INSTDIR\fr"
- Delete "$INSTDIR\ko\*.*"
- RMDir "$INSTDIR\ko"
- Delete "$INSTDIR\ru\*.*"
- RMDir "$INSTDIR\ru"
- Delete "$INSTDIR\tr\*.*"
- RMDir "$INSTDIR\tr"
- Delete "$INSTDIR\ja\*.*"
- RMDir "$INSTDIR\ja"
- Delete "$INSTDIR\pt-BR\*.*"
- RMDir "$INSTDIR\pt-BR"
- Delete "$INSTDIR\co\*.*"
- RMDir "$INSTDIR\co"
- Delete "$INSTDIR\uk\*.*"
- RMDir "$INSTDIR\uk"
-
- Delete "$INSTDIR\runtimes\win\lib\netcoreapp2.0\*.*"
- RMDir "$INSTDIR\runtimes\win\lib\netcoreapp2.0"
- RMDir "$INSTDIR\runtimes\win\lib"
- RMDir "$INSTDIR\runtimes\win"
- RMDir "$INSTDIR\runtimes"
RMDir "$INSTDIR"
diff --git a/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_arm64.pubxml b/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_arm64.pubxml
new file mode 100644
index 000000000..5a21d0919
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_arm64.pubxml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121.
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration>Release</Configuration>
+ <Platform>Any CPU</Platform>
+ <PublishDir>bin\publish</PublishDir>
+ <PublishProtocol>FileSystem</PublishProtocol>
+ <TargetFramework>net5.0-windows</TargetFramework>
+ <RuntimeIdentifier>win-x64</RuntimeIdentifier>
+ <SelfContained>false</SelfContained>
+ <PublishSingleFile>True</PublishSingleFile>
+ <PublishReadyToRun>True</PublishReadyToRun>
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_portable.pubxml b/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_portable.pubxml
index a08109177..ca4a52847 100644
--- a/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_portable.pubxml
+++ b/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_portable.pubxml
@@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\portable</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0-windows</TargetFramework>
<SelfContained>false</SelfContained>
diff --git a/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_x64.pubxml b/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_x64.pubxml
index 46d53a9c0..fdfa77c90 100644
--- a/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_x64.pubxml
+++ b/win/CS/HandBrakeWPF/Properties/PublishProfiles/publish_x64.pubxml
@@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
- <PublishDir>bin\publish\x64</PublishDir>
+ <PublishDir>bin\publish</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0-windows</TargetFramework>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
diff --git a/win/CS/build.xml b/win/CS/build.xml
index b665f4381..da326533f 100644
--- a/win/CS/build.xml
+++ b/win/CS/build.xml
@@ -6,109 +6,91 @@
HandBrake Build Script for usage with Jenkins.
Usage:
- msbuild build.xml /t:Nightly
- msbuild build.xml /t:Release
+ msbuild build_publish.xml /t:x64 /p:Profile=[Nightly or Release]
+ msbuild build_publish.xml /t:arm64 /p:Profile=[Nightly or Release]
Example with code signing:
- msbuild build.xml /t:Release /p:SignThumbprint=XYZ /p:SignTimestampServer=http://time.certum.pl/
- msbuild build.xml /t:Release /p:PfxFile=file.pfx /p:PfxPwd=XYZ /p:SignTimestampServer=http://time.certum.pl/
+ msbuild build_publish.xml /t:x64 /p:SignThumbprint=XYZ /p:SignTimestampServer=http://time.certum.pl/
+ msbuild build_publish.xml /t:x64 /p:PfxFile=file.pfx /p:PfxPwd=XYZ /p:SignTimestampServer=http://time.certum.pl/
- Requires: libhb.dll to be in the release folder.
+ Requires: hb.dll to be in the release folder.
-->
-<Project DefaultTargets="Nightly" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="x64" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <!-- Setup -->
- <PropertyGroup>
- <Platform>AnyCPU</Platform>
- <PlatformTarget>AnyCPU</PlatformTarget>
- </PropertyGroup>
+ <!-- ******* Build Targets ******* -->
+ <Target Name="arm64" DependsOnTargets="$(ARM64DependsOn)"/>
+ <Target Name="x64" DependsOnTargets="$(X64DependsOn)"/>
- <!-- Build all the main cproj files.-->
- <ItemGroup>
- <ProjectsToBuild Include="HandBrake.Interop\*proj" Exclude="$(MSBuildProjectFile)"/>
- <ProjectsToBuild Include="HandBrakeWPF\*proj" Exclude="$(MSBuildProjectFile)"/>
- </ItemGroup>
+ <PropertyGroup Condition="'$(Profile)'==''">
+ <Profile>Nightly</Profile>
+ <Configuration>Debug</Configuration>
+ </PropertyGroup>
- <!-- Build the installer.-->
- <ItemGroup>
- <InstallerToBuild Include="HandBrake.Installer\*wixproj" Exclude="$(MSBuildProjectFile)"/>
- </ItemGroup>
+ <PropertyGroup Condition="'$(Profile)'=='Nightly'">
+ <Configuration>Debug</Configuration>
+ </PropertyGroup>
- <!-- Builds /t: -->
- <Target Name="Nightly" DependsOnTargets="$(NightlyDependsOn)"/>
- <Target Name="Release" DependsOnTargets="$(InstallDependsOn)"/>
+ <PropertyGroup Condition="'$(Profile)'=='Release'">
+ <Configuration>Release</Configuration>
+ </PropertyGroup>
- <!-- Dependencies -->
<PropertyGroup>
- <NightlyDependsOn>SetupForNightly;BuildRelease;NightlyPostBuild;BuildInstaller;Cleanup;CodeSign</NightlyDependsOn>
- <InstallDependsOn>SetupForRelease;BuildRelease;ReleasePostBuild;BuildInstaller;Cleanup;CodeSign</InstallDependsOn>
+ <ARM64DependsOn>ARM64Setup;BuildSoftware;BuildInstaller</ARM64DependsOn>
+ <X64DependsOn>X64Setup;BuildSoftware;BuildInstaller</X64DependsOn>
</PropertyGroup>
-
- <!-- Setup -->
- <Target Name="SetupForNightly">
+
+ <Target Name="ARM64Setup">
<PropertyGroup>
- <Configuration>Debug</Configuration>
+ <BuildProfile>publish_arm64</BuildProfile>
+ <Platform>arm64</Platform>
</PropertyGroup>
</Target>
- <Target Name="SetupForRelease">
+ <Target Name="X64Setup">
<PropertyGroup>
- <Configuration>Release</Configuration>
+ <BuildProfile>publish_x64</BuildProfile>
+ <Platform>x64</Platform>
</PropertyGroup>
</Target>
- <!-- Build All Components (WPF, Worker, Interop) -->
- <Target Name="BuildRelease">
- <Message Text="Project File Name = $(Platform)" />
- <MSBuild Projects ="@(ProjectsToBuild)"
- ContinueOnError ="false"
- Properties="Configuration=$(Configuration);Platform=$(Platform)" >
- <Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>
+ <!-- ******* Build the software ******* -->
+ <Target Name="BuildSoftware">
+ <Exec Command="dotnet publish -p:PublishProfile=$(buildProfile)" />
- </MSBuild>
- </Target>
+ <!-- Copy required assets -->
+ <Exec Command="xcopy $(MSBuildProjectDirectory)\HandBrake.Worker\bin\publish $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish /I /Y" />
+ <Exec Command="xcopy $(MSBuildProjectDirectory)\doc $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\doc /I /Y" />
+ <Exec Command="xcopy $(MSBuildProjectDirectory)\doc $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\doc /I /Y" />
- <!-- Build the installers -->
- <Target Name="BuildInstaller">
- <!-- The installer doesn't support AnyCPU -->
- <MSBuild Projects ="@(InstallerToBuild)"
- ContinueOnError ="false"
- Properties="Configuration=$(Configuration);Platform=x64" >
- <Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>
- </MSBuild>
-
- <Exec Command="makensis $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\MakeNightly64.nsi" Condition="'$(Configuration)'=='Debug'" />
- <Exec Command="makensis $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\Installer64.nsi" Condition="'$(Configuration)'=='Release'" />
+ <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\Installer\Installer64.nsi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish /Y" Condition="'$(Profile)'=='Release'"/>
+ <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\Installer\MakeNightly64.nsi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish /Y" Condition="'$(Profile)'=='Nightly'"/>
+ <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\Installer\InstallerBackground.bmp $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish /Y" />
+ <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\handbrakepineapple.ico $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish /Y" />
</Target>
- <!-- Post Build Events -->
- <Target Name="NightlyPostBuild">
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\Installer\MakeNightly64.nsi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\Installer\InstallerBackground.bmp $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\handbrakepineapple.ico $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
-
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrake.Worker\bin\$(Configuration)\*.json $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
-
- <Exec Command="xcopy $(MSBuildProjectDirectory)\doc $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\doc /I /Y" />
- </Target>
+ <!-- ******* Create Installers ******* -->
- <Target Name="ReleasePostBuild">
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\Installer\Installer64.nsi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\Installer\InstallerBackground.bmp $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrakeWPF\handbrakepineapple.ico $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
+ <ItemGroup>
+ <InstallerToBuild Include="HandBrake.Installer\*wixproj" Exclude="$(MSBuildProjectFile)" >
+ <AdditionalProperties>HBPROFILE=$(Platform)</AdditionalProperties>
+ </InstallerToBuild>
+ </ItemGroup>
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrake.Worker\bin\$(Configuration)\*.json $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration) /Y" />
+ <Target Name="BuildInstaller">
+ <Exec Command="makensis $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\MakeNightly64.nsi" Condition="'$(Profile)'=='Nightly'" />
+ <Exec Command="makensis $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\Installer64.nsi" Condition="'$(Profile)'=='Release'" />
- <Exec Command="xcopy $(MSBuildProjectDirectory)\doc $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\doc /I /Y" />
- </Target>
+ <!-- Wix Installer -->
+ <MSBuild Projects ="@(InstallerToBuild)" ContinueOnError ="false" Properties="Configuration=$(Configuration)" >
+ <Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>
+ </MSBuild>
- <Target Name="Cleanup">
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrake.Installer\bin\$(Configuration)\HandBrake.msi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\HandBrake-Nightly-x86_64-Win_GUI.msi /Y" Condition="'$(Configuration)'=='Debug'" />
- <Exec Command="copy $(MSBuildProjectDirectory)\HandBrake.Installer\bin\x64\$(Configuration)\HandBrake.msi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\HandBrake-Version-x86_64-Win_GUI.msi /Y" Condition="'$(Configuration)'=='Release'" />
+ <Exec Command="copy $(MSBuildProjectDirectory)\HandBrake.Installer\bin\$(Configuration)\HandBrake.msi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\HandBrake-$(Profile)-ARM64-Win_GUI.msi /Y" Condition="'$(Platform)'=='arm64'" />
+ <Exec Command="copy $(MSBuildProjectDirectory)\HandBrake.Installer\bin\$(Configuration)\HandBrake.msi $(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\HandBrake-$(Profile)-x86_64-Win_GUI.msi /Y" Condition="'$(Platform)'=='x64'" />
</Target>
- <!-- Code Signing -->
+ <!-- ******* Code Signing ******* -->
<PropertyGroup Condition="'$(SignToolLocation)'==''">
<SignToolLocation>C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\SignTool.exe</SignToolLocation>
@@ -130,8 +112,8 @@
</PropertyGroup>
<Target Name="CodeSign" Condition="'$(SignEnabled)' == 'true'">
- <Exec Command="&quot;$(SignToolLocation)&quot; sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v &quot;$(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\*Win_GUI.exe&quot;" />
- <Exec Command="&quot;$(SignToolLocation)&quot; sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v &quot;$(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\*Win_GUI.msi&quot;" />
+ <Exec Command="&quot;$(SignToolLocation)&quot; sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v &quot;$(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\*Win_GUI.exe&quot;" />
+ <Exec Command="&quot;$(SignToolLocation)&quot; sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v &quot;$(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\*Win_GUI.msi&quot;" />
</Target>
</Project>