diff options
author | sr55 <[email protected]> | 2021-02-20 19:47:34 +0000 |
---|---|---|
committer | sr55 <[email protected]> | 2021-02-20 19:47:34 +0000 |
commit | ba29c1445d18fc66a8daf1e5269846a8b359a532 (patch) | |
tree | 36163d6931a549663bb7a379d169c467ae36053c /win/CS | |
parent | 046724310ccfb30ae421462db40bc7f56ee070f6 (diff) |
WinGui: Refactor the build system to use the dotnet CLI and adding support for future ARM64 builds.
Diffstat (limited to 'win/CS')
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=""$(SignToolLocation)" sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v "$(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\*Win_GUI.exe"" />
- <Exec Command=""$(SignToolLocation)" sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v "$(MSBuildProjectDirectory)\HandBrakeWPF\bin\$(Configuration)\*Win_GUI.msi"" />
+ <Exec Command=""$(SignToolLocation)" sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v "$(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\*Win_GUI.exe"" />
+ <Exec Command=""$(SignToolLocation)" sign $(SignType) $(SignThumbprint)$(PfxFile) $(SignPwd) $(PfxPwd) $(SignTimestamp) $(SignTimestampServer) /v "$(MSBuildProjectDirectory)\HandBrakeWPF\bin\publish\*Win_GUI.msi"" />
</Target>
</Project>
|