From 2041fc6495d9c9a20a5624a3bd9a698b1154df4c Mon Sep 17 00:00:00 2001 From: Amrsatrio Date: Tue, 7 Jan 2025 01:33:19 +0700 Subject: [PATCH 1/2] Add ARM64 support --- LGTV Companion Console/Console.vcxproj | 86 ++++++++++- .../LGTV Companion Service.vcxproj | 83 +++++++++- LGTV Companion Service/companion.cpp | 4 +- .../LGTV Companion Setup.wixproj | 46 +----- LGTV Companion Setup/Product.wxs | 144 +++++++++--------- LGTV Companion UI/LGTV Companion UI.vcxproj | 76 ++++++++- LGTV Companion UI/lgtv_companion_ui.cpp | 4 +- .../LGTV Companion User.vcxproj | 90 ++++++++++- LGTVCompanion.sln | 30 +++- 9 files changed, 440 insertions(+), 123 deletions(-) diff --git a/LGTV Companion Console/Console.vcxproj b/LGTV Companion Console/Console.vcxproj index 28b94db..a3ff330 100644 --- a/LGTV Companion Console/Console.vcxproj +++ b/LGTV Companion Console/Console.vcxproj @@ -17,6 +17,14 @@ Release x64 + + Debug + ARM64 + + + Release + ARM64 + 16.0 @@ -53,6 +61,19 @@ true Unicode + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + @@ -70,6 +91,12 @@ + + + + + + LGTVcli @@ -77,18 +104,34 @@ LGTVcli - - x64-windows-static + + LGTVcli + + + LGTVcli + + + true x64-windows-static + + x64-windows-static + + + arm64-windows-static + + + arm64-windows-static + Level3 true WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Console @@ -103,6 +146,7 @@ true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Console @@ -119,6 +163,7 @@ true stdcpp17 MultiThreadedDebug + /utf-8 %(AdditionalOptions) Console @@ -136,6 +181,43 @@ true stdcpp17 MultiThreaded + /utf-8 %(AdditionalOptions) + + + Console + true + true + true + crypt32.lib;%(AdditionalDependencies) + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp17 + MultiThreadedDebug + /utf-8 %(AdditionalOptions) + + + Console + true + crypt32.lib;%(AdditionalDependencies) + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp17 + MultiThreaded + /utf-8 %(AdditionalOptions) Console diff --git a/LGTV Companion Service/LGTV Companion Service.vcxproj b/LGTV Companion Service/LGTV Companion Service.vcxproj index b187d6f..c51c150 100644 --- a/LGTV Companion Service/LGTV Companion Service.vcxproj +++ b/LGTV Companion Service/LGTV Companion Service.vcxproj @@ -17,6 +17,14 @@ Release x64 + + Debug + ARM64 + + + Release + ARM64 + 16.0 @@ -25,6 +33,7 @@ LGTVCompanionService 10.0 x64-windows-static + arm64-windows-static @@ -53,6 +62,19 @@ true Unicode + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + @@ -70,6 +92,12 @@ + + + + + + true @@ -85,8 +113,16 @@ false LGTVsvc + + true + LGTVsvc + + + false + LGTVsvc + - false + true @@ -94,6 +130,7 @@ true WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Console @@ -108,6 +145,7 @@ true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Console @@ -125,7 +163,7 @@ %(AdditionalIncludeDirectories) MultiThreadedDebug stdcpp17 - /bigobj %(AdditionalOptions) + /bigobj /utf-8 %(AdditionalOptions) Console @@ -145,6 +183,47 @@ %(AdditionalIncludeDirectories) MultiThreaded stdcpp17 + /utf-8 %(AdditionalOptions) + + + Console + true + true + true + crypt32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + %(AdditionalIncludeDirectories) + MultiThreadedDebug + stdcpp17 + /bigobj /utf-8 %(AdditionalOptions) + + + Console + true + crypt32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + %(AdditionalIncludeDirectories) + MultiThreaded + stdcpp17 + /utf-8 %(AdditionalOptions) Console diff --git a/LGTV Companion Service/companion.cpp b/LGTV Companion Service/companion.cpp index a8d0500..5c5e777 100644 --- a/LGTV Companion Service/companion.cpp +++ b/LGTV Companion Service/companion.cpp @@ -684,7 +684,7 @@ void Companion::Impl::ipcCallback(std::wstring message) } // hack to allow for escaped double quotes in arguments tools::replaceAllInPlace(temp, "\\\"", "*#*#*#"); - tools::replaceAllInPlace(temp, "\"", "%¤%¤%¤"); + tools::replaceAllInPlace(temp, "\"", "%�%�%�"); // split into separate command lines and process each std::vector commands = extractSeparateCommands(temp); if (commands.size() == 0) @@ -694,7 +694,7 @@ void Companion::Impl::ipcCallback(std::wstring message) } for (auto& commandline : commands) { - tools::replaceAllInPlace(commandline, "%¤%¤%¤", "\""); + tools::replaceAllInPlace(commandline, "%�%�%�", "\""); std::string log_message = ""; // split command line into words std::vector words = tools::stringsplit(commandline, " "); diff --git a/LGTV Companion Setup/LGTV Companion Setup.wixproj b/LGTV Companion Setup/LGTV Companion Setup.wixproj index a108559..87d1bda 100644 --- a/LGTV Companion Setup/LGTV Companion Setup.wixproj +++ b/LGTV Companion Setup/LGTV Companion Setup.wixproj @@ -1,27 +1,10 @@ - - - - Debug - x86 - 3.10 - 415e4596-6599-42bc-9c2f-7adae529354c - 2.0 - LGTV Companion Setup - Package - - - bin\$(Configuration)\ - obj\$(Configuration)\ + + Debug - - bin\$(Configuration)\ - obj\$(Configuration)\ + True - - - LGTV Companion Service @@ -41,26 +24,7 @@ - - $(WixExtDir)\WixUtilExtension.dll - WixUtilExtension - - - $(WixExtDir)\WixUIExtension.dll - WixUIExtension - + + - - - - - - \ No newline at end of file diff --git a/LGTV Companion Setup/Product.wxs b/LGTV Companion Setup/Product.wxs index 1c8e2a8..ce4c76e 100644 --- a/LGTV Companion Setup/Product.wxs +++ b/LGTV Companion Setup/Product.wxs @@ -1,85 +1,93 @@ - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - + + + - - - - - - NOT Installed - NOT Installed + + + - - - - - - - - - - - + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LGTV Companion UI/LGTV Companion UI.vcxproj b/LGTV Companion UI/LGTV Companion UI.vcxproj index 2cc40a6..93f3516 100644 --- a/LGTV Companion UI/LGTV Companion UI.vcxproj +++ b/LGTV Companion UI/LGTV Companion UI.vcxproj @@ -17,6 +17,14 @@ Release x64 + + Debug + ARM64 + + + Release + ARM64 + 16.0 @@ -25,6 +33,7 @@ LGTVCompanionUI 10.0 x64-windows-static + arm64-windows-static @@ -53,6 +62,19 @@ true Unicode + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + @@ -70,6 +92,12 @@ + + + + + + true @@ -85,8 +113,16 @@ false LGTV Companion + + true + LGTV Companion + + + false + LGTV Companion + - false + true @@ -94,6 +130,7 @@ true WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Windows @@ -108,6 +145,7 @@ true WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Windows @@ -124,6 +162,7 @@ true MultiThreadedDebug stdcpp17 + /utf-8 %(AdditionalOptions) Windows @@ -140,6 +179,41 @@ true MultiThreaded stdcpp17 + /utf-8 %(AdditionalOptions) + + + Windows + true + true + true + + + + + Level3 + true + _DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreadedDebug + stdcpp17 + /utf-8 %(AdditionalOptions) + + + Windows + true + + + + + Level3 + true + true + true + NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + stdcpp17 + /utf-8 %(AdditionalOptions) Windows diff --git a/LGTV Companion UI/lgtv_companion_ui.cpp b/LGTV Companion UI/lgtv_companion_ui.cpp index 466704a..514d0a5 100644 --- a/LGTV Companion UI/lgtv_companion_ui.cpp +++ b/LGTV Companion UI/lgtv_companion_ui.cpp @@ -46,7 +46,7 @@ INSTALLATION, USAGE ETC https://github.com/JPersson77/LGTVCompanion LICENSE - Copyright (c) 2021-2024 Jörgen Persson + Copyright (c) 2021-2024 Jörgen Persson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, @@ -61,7 +61,7 @@ LICENSE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. COPYRIGHT - Copyright (c) 2021-2024 Jörgen Persson + Copyright (c) 2021-2024 Jörgen Persson */ #include "targetver.h" diff --git a/LGTV Companion User/LGTV Companion User.vcxproj b/LGTV Companion User/LGTV Companion User.vcxproj index 64c36c1..001e65d 100644 --- a/LGTV Companion User/LGTV Companion User.vcxproj +++ b/LGTV Companion User/LGTV Companion User.vcxproj @@ -17,6 +17,14 @@ Release x64 + + Debug + ARM64 + + + Release + ARM64 + 16.0 @@ -26,6 +34,7 @@ 10.0 LGTV Companion Daemon x64-windows-static + arm64-windows-static @@ -54,6 +63,19 @@ true Unicode + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + @@ -71,6 +93,12 @@ + + + + + + true @@ -86,8 +114,16 @@ false LGTVdaemon + + true + LGTVdaemon + + + false + LGTVdaemon + - false + true @@ -95,6 +131,7 @@ true WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Console @@ -109,6 +146,7 @@ true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true + /utf-8 %(AdditionalOptions) Console @@ -127,6 +165,7 @@ stdcpp17 + /utf-8 %(AdditionalOptions) Windows @@ -150,6 +189,55 @@ stdcpp17 + /utf-8 %(AdditionalOptions) + + + Windows + true + true + true + + + + + Copy /Y "$(ProjectDir)mainicon.ico*" "$(TargetDir)" + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreadedDebug + + + stdcpp17 + /utf-8 %(AdditionalOptions) + + + Windows + true + + + + + Copy /Y "$(ProjectDir)mainicon.ico*" "$(TargetDir)" + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + + + stdcpp17 + /utf-8 %(AdditionalOptions) Windows diff --git a/LGTVCompanion.sln b/LGTVCompanion.sln index 0c65d9e..bb0c055 100644 --- a/LGTVCompanion.sln +++ b/LGTVCompanion.sln @@ -21,50 +21,72 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Debug|ARM64 = Debug|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 + Release|ARM64 = Release|ARM64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Debug|x64.ActiveCfg = Debug|x64 {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Debug|x64.Build.0 = Debug|x64 {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Debug|x86.ActiveCfg = Debug|Win32 {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Debug|x86.Build.0 = Debug|Win32 + {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Debug|ARM64.Build.0 = Debug|ARM64 {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Release|x64.ActiveCfg = Release|x64 {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Release|x64.Build.0 = Release|x64 {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Release|x86.ActiveCfg = Release|Win32 {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Release|x86.Build.0 = Release|Win32 + {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Release|ARM64.ActiveCfg = Release|ARM64 + {D44C1E2C-666D-4193-8D7D-C0663A4DF277}.Release|ARM64.Build.0 = Release|ARM64 {FD236504-E0D5-44BF-A119-41634EABD159}.Debug|x64.ActiveCfg = Debug|x64 {FD236504-E0D5-44BF-A119-41634EABD159}.Debug|x64.Build.0 = Debug|x64 {FD236504-E0D5-44BF-A119-41634EABD159}.Debug|x86.ActiveCfg = Debug|Win32 {FD236504-E0D5-44BF-A119-41634EABD159}.Debug|x86.Build.0 = Debug|Win32 + {FD236504-E0D5-44BF-A119-41634EABD159}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FD236504-E0D5-44BF-A119-41634EABD159}.Debug|ARM64.Build.0 = Debug|ARM64 {FD236504-E0D5-44BF-A119-41634EABD159}.Release|x64.ActiveCfg = Release|x64 {FD236504-E0D5-44BF-A119-41634EABD159}.Release|x64.Build.0 = Release|x64 {FD236504-E0D5-44BF-A119-41634EABD159}.Release|x86.ActiveCfg = Release|Win32 {FD236504-E0D5-44BF-A119-41634EABD159}.Release|x86.Build.0 = Release|Win32 - {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|x64.ActiveCfg = Debug|x86 - {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|x64.Build.0 = Debug|x86 + {FD236504-E0D5-44BF-A119-41634EABD159}.Release|ARM64.ActiveCfg = Release|ARM64 + {FD236504-E0D5-44BF-A119-41634EABD159}.Release|ARM64.Build.0 = Release|ARM64 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|x64.ActiveCfg = Debug|x64 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|x64.Build.0 = Debug|x64 {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|x86.ActiveCfg = Debug|x86 {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|x86.Build.0 = Debug|x86 - {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|x64.ActiveCfg = Release|x86 - {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|x64.Build.0 = Release|x86 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Debug|ARM64.Build.0 = Debug|ARM64 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|x64.ActiveCfg = Release|x64 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|x64.Build.0 = Release|x64 {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|x86.ActiveCfg = Release|x86 {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|x86.Build.0 = Release|x86 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|ARM64.ActiveCfg = Release|ARM64 + {415E4596-6599-42BC-9C2F-7ADAE529354C}.Release|ARM64.Build.0 = Release|ARM64 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Debug|x64.ActiveCfg = Debug|x64 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Debug|x64.Build.0 = Debug|x64 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Debug|x86.ActiveCfg = Debug|Win32 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Debug|x86.Build.0 = Debug|Win32 + {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Debug|ARM64.Build.0 = Debug|ARM64 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Release|x64.ActiveCfg = Release|x64 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Release|x64.Build.0 = Release|x64 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Release|x86.ActiveCfg = Release|Win32 {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Release|x86.Build.0 = Release|Win32 + {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Release|ARM64.ActiveCfg = Release|ARM64 + {5611232A-E1D4-42F8-B182-F7BD8ACF1D82}.Release|ARM64.Build.0 = Release|ARM64 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Debug|x64.ActiveCfg = Debug|x64 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Debug|x64.Build.0 = Debug|x64 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Debug|x86.ActiveCfg = Debug|Win32 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Debug|x86.Build.0 = Debug|Win32 + {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Debug|ARM64.Build.0 = Debug|ARM64 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Release|x64.ActiveCfg = Release|x64 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Release|x64.Build.0 = Release|x64 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Release|x86.ActiveCfg = Release|Win32 {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Release|x86.Build.0 = Release|Win32 + {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Release|ARM64.ActiveCfg = Release|ARM64 + {220383FE-FBC6-41C5-8F85-E4E709FD04BD}.Release|ARM64.Build.0 = Release|ARM64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 5b078b498eb05d603730b76d29070cbdb21532ac Mon Sep 17 00:00:00 2001 From: Amrsatrio Date: Tue, 7 Jan 2025 01:43:53 +0700 Subject: [PATCH 2/2] Revert VcpkgEnableManifest to false --- LGTV Companion Console/Console.vcxproj | 2 +- LGTV Companion Service/LGTV Companion Service.vcxproj | 2 +- LGTV Companion UI/LGTV Companion UI.vcxproj | 2 +- LGTV Companion User/LGTV Companion User.vcxproj | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/LGTV Companion Console/Console.vcxproj b/LGTV Companion Console/Console.vcxproj index a3ff330..ea37197 100644 --- a/LGTV Companion Console/Console.vcxproj +++ b/LGTV Companion Console/Console.vcxproj @@ -111,7 +111,7 @@ LGTVcli - true + false x64-windows-static diff --git a/LGTV Companion Service/LGTV Companion Service.vcxproj b/LGTV Companion Service/LGTV Companion Service.vcxproj index c51c150..54df39a 100644 --- a/LGTV Companion Service/LGTV Companion Service.vcxproj +++ b/LGTV Companion Service/LGTV Companion Service.vcxproj @@ -122,7 +122,7 @@ LGTVsvc - true + false diff --git a/LGTV Companion UI/LGTV Companion UI.vcxproj b/LGTV Companion UI/LGTV Companion UI.vcxproj index 93f3516..f0778a4 100644 --- a/LGTV Companion UI/LGTV Companion UI.vcxproj +++ b/LGTV Companion UI/LGTV Companion UI.vcxproj @@ -122,7 +122,7 @@ LGTV Companion - true + false diff --git a/LGTV Companion User/LGTV Companion User.vcxproj b/LGTV Companion User/LGTV Companion User.vcxproj index 001e65d..7bcf225 100644 --- a/LGTV Companion User/LGTV Companion User.vcxproj +++ b/LGTV Companion User/LGTV Companion User.vcxproj @@ -123,7 +123,7 @@ LGTVdaemon - true + false