bump senseglove libraries to the latest experimental release of v2.400.x and introduce ThirdParty/SGRapidYamlThirdPartyLibs

This commit is contained in:
Mamadou Babaei
2026-07-13 20:16:02 +02:00
parent d380fea8da
commit 2724a8dc7f
233 changed files with 519 additions and 235 deletions
+1
View File
@@ -21,6 +21,7 @@ This minor release introduces a major IPC overhaul, significant inter-process co
- Added third-party module `SGFakeShmThirdPartyLibs`. - Added third-party module `SGFakeShmThirdPartyLibs`.
- Added third-party module `SGFlatBuffersThirdPartyLibs`. - Added third-party module `SGFlatBuffersThirdPartyLibs`.
- Added third-party module `SGNngThirdPartyLibs`. - Added third-party module `SGNngThirdPartyLibs`.
- Added third-party module `SGRapidYamlThirdPartyLibs`.
- Added `SGBuildHacks/SGInclude_Core_DeviceTypes`. - Added `SGBuildHacks/SGInclude_Core_DeviceTypes`.
- Added missing `ESGBackendType::AndroidStrings` enumerator. - Added missing `ESGBackendType::AndroidStrings` enumerator.
- Added missing SenseGlove API Blueprint function `USGLibraryKismetLibrary::GetBackendType()`. - Added missing SenseGlove API Blueprint function `USGLibraryKismetLibrary::GetBackendType()`.
@@ -81,6 +81,7 @@ public class SenseGloveConnectImpl : ModuleRules
"SGFakeShmThirdPartyLibs", "SGFakeShmThirdPartyLibs",
"SGFlatBuffersThirdPartyLibs", "SGFlatBuffersThirdPartyLibs",
"SGNngThirdPartyLibs", "SGNngThirdPartyLibs",
"SGRapidYamlThirdPartyLibs",
"SGSerialThirdPartyLibs", "SGSerialThirdPartyLibs",
"SGWjwwoodSerialThirdPartyLibs", "SGWjwwoodSerialThirdPartyLibs",
} }
@@ -80,6 +80,7 @@ public class SenseGloveCoreImpl : ModuleRules
"SGFakeShmThirdPartyLibs", "SGFakeShmThirdPartyLibs",
"SGFlatBuffersThirdPartyLibs", "SGFlatBuffersThirdPartyLibs",
"SGNngThirdPartyLibs", "SGNngThirdPartyLibs",
"SGRapidYamlThirdPartyLibs",
} }
); );
} }
@@ -0,0 +1,155 @@
/**
* @file
*
* @author Mamadou Babaei <mamadou@senseglove.com>
*
* @section LICENSE
*
* (The MIT License)
*
* Copyright (c) 2020 - 2026 SenseGlove
*
* 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, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @section DESCRIPTION
*
*
*/
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using UnrealBuildTool;
public class SGRapidYamlThirdPartyLibs : ModuleRules
{
public SGRapidYamlThirdPartyLibs(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
string ThirdPartyDirectory = Path.GetFullPath(Path.Combine(ModuleDirectory, ".."));
string LibraryPath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "lib"));
string C4CoreLibraryName = "c4core";
string RymlLibraryName = "ryml";
bool bIsLinux = Target.Platform == UnrealTargetPlatform.Linux;
bool bIsLinuxArm64 = Target.Platform == UnrealTargetPlatform.LinuxArm64;
bool bIsWin64 = Target.IsInPlatformGroup(UnrealPlatformGroup.Windows) &&
Target.WindowsPlatform.Architecture == UnrealArch.X64;
bool bIsDebugBuild = (Target.Configuration == UnrealTargetConfiguration.Debug);
if (bIsLinux)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux"));
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26"));
#elif UE_5_6_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25"));
#elif UE_5_5_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
C4CoreLibraryName = string.Format("lib{0}.a", C4CoreLibraryName);
RymlLibraryName = string.Format("lib{0}.a", RymlLibraryName);
}
else if (bIsLinuxArm64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "linux"));
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v26"));
#elif UE_5_6_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v25"));
#elif UE_5_5_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v23"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "aarch64"));
C4CoreLibraryName = string.Format("lib{0}.a", C4CoreLibraryName);
RymlLibraryName = string.Format("lib{0}.a", RymlLibraryName);
}
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
C4CoreLibraryName = string.Format("{0}.lib", C4CoreLibraryName);
RymlLibraryName = string.Format("{0}.lib", RymlLibraryName);
}
else
{
Debug.Assert(false, "Unsupported platform!");
}
string IncludePath = Path.GetFullPath(Path.Combine(ThirdPartyDirectory, "include"));
PrivateIncludePaths.Add(IncludePath);
if (bIsDebugBuild)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "debug"));
}
else
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "release"));
}
string C4CoreLibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, C4CoreLibraryName));
PublicAdditionalLibraries.Add(C4CoreLibraryPath);
string RymlLibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, RymlLibraryName));
PublicAdditionalLibraries.Add(RymlLibraryPath);
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More