add linux aarch64 platform support for unreal 5.2+ and bump senseglove libraries to v2.7.1-965f90c

This commit is contained in:
Mamadou Babaei
2023-05-19 18:15:29 +02:00
parent 2f9602c7f2
commit 6dfe66e548
89 changed files with 218 additions and 140 deletions
+6 -1
View File
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added Linux AArch64 platform support on UE 5.2+.
- Added a new Grab component that can turn any actor into a grabbable object.
- Added a new Touch component that enables haptic feedbacks.
@@ -16,6 +17,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fix Blueprint signatures for USGVirtualHandComponentKismetLibrary and make all the Blueprint exposed functions static.
### Changed
- SenseGlove libraries have been updated to v2.7.1-965f90c with support for Linux AArch64.
## [v1.3.1] - 2023-04-28
### Fixed
@@ -172,4 +177,4 @@ This is a minor release focusing on adherence to the Unreal Engine Marketplace G
### Added
- Initial public release of the SenseGlove haptic API for Unreal Engine with support for Microsoft Windows and GNU/Linux.
- Initial public release of the SenseGlove haptic API for Unreal Engine with support for Microsoft Windows and GNU/Linux.
+44 -22
View File
@@ -6,17 +6,17 @@ This repository relies on Git LFS for storing binary blobs (e.g. third-party lib
## Platform Support Matrix
| | **Windows (MSVC 2017)** | **Windows (MSVC 2019)** | **Windows (MSVC 2022)** | **Linux (Native Toolchain)** | **macOS** | **Oculus Mobile (Android NDK)** |
|:--------:|:-----------------------:|:-----------------------:|:-----------------------:|:----------------------------:|:---------:|:-------------------------------:|
| **4.22** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.23** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.24** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.25** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.26** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.27** | ✅ v1.3.x | ✅ v1.3.x | ✅ v1.3.x | ✅ v1.3.x | ❌ | ✅ v1.3.x (r21e) |
| **5.0** | ❌ | ✅ v1.3.x | ✅ v1.3.x | ✅ v1.3.x | | ✅ v1.3.x (r21e) |
| **5.1** | ❌ | ✅ v1.3.x | ✅ v1.3.x | ✅ v1.3.x | | ✅ v1.3.x (r25b) |
| **5.2** | ❌ | ✅ v1.3.x | ✅ v1.3.x | ✅ v1.3.x | | ✅ v1.3.x (r25b) |
| | **Windows (MSVC 2017)** | **Windows (MSVC 2019)** | **Windows (MSVC 2022)** | **Linux x86-64 (Native Toolchain)** | **Linux AArch64 (Native Toolchain)** | **Android (NDK)** |
|:--------:|:-----------------------:|:-----------------------:|:-----------------------:|:-----------------------------------:|:------------------------------------:|:-----------------:|
| **4.22** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.23** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.24** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.25** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.26** | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
| **4.27** | ✅ v1.4.x | ✅ v1.4.x | ✅ v1.4.x | ✅ v1.4.x | | ✅ v1.4.x (r21e) |
| **5.0** | ❌ | ✅ v1.4.x | ✅ v1.4.x | ✅ v1.4.x | | ✅ v1.4.x (r21e) |
| **5.1** | ❌ | ✅ v1.4.x | ✅ v1.4.x | ✅ v1.4.x | | ✅ v1.4.x (r25b) |
| **5.2** | ❌ | ✅ v1.4.x | ✅ v1.4.x | ✅ v1.4.x | ✅ v1.4.x | ✅ v1.4.x (r25b) |
* <code>✅</code> Supported
* <code>⚠️</code> Not supported by the latest release and might be lacking features
@@ -122,8 +122,7 @@ Please note that modules postfixed with **Impl** are intended for interal use an
│ │
│ ├── r21e (Android NDK r21e dependencies for UE 4.27 and 5.0)
│ │ │
│ │
│ │ ├── arm64 (64-bit Arm variant of Android)
│ │ ├── arm64 (64-bit ARM variant of Android)
│ │ │ │
│ │ │ ├── debug
│ │ │ │
@@ -149,8 +148,7 @@ Please note that modules postfixed with **Impl** are intended for interal use an
│ │
│ └── r25b (Android NDK r21b dependencies for UE 5.1)
│ │
│ ├── arm64 (64-bit Arm variant of Android)
├── arm64 (64-bit ARM variant of Android)
│ │ │
│ │ ├── debug
│ │ │
@@ -178,21 +176,45 @@ Please note that modules postfixed with **Impl** are intended for interal use an
│ │
│ ├── v19 (UE 4.27 Linux dependencies)
│ │ │
│ │ ├── debug
│ │ ├── aarch64 (dependencies targeting AArch64 Linux architecture)
│ │ │ │
│ │ │ ├── debug
│ │ │ │
│ │ │ └── release
│ │ │
│ │ └── release
│ │ └── x86-64 (dependencies targeting x86-64 Linux architecture)
│ │ │
│ │ ├── debug
│ │ │
│ │ └── release
│ │
│ ├── v20 (UE 5.0 and 5.1 Linux dependencies)
│ │ │
│ │ ├── debug
│ │ ├── aarch64 (dependencies targeting AArch64 Linux architecture)
│ │ │ │
│ │ │ ├── debug
│ │ │ │
│ │ │ └── release
│ │ │
│ │ └── release
│ │ └── x86-64 (dependencies targeting x86-64 Linux architecture)
│ │ │
│ │ ├── debug
│ │ │
│ │ └── release
│ │
│ └── v21 (UE 5.2 Linux dependencies)
│ │
│ ├── debug
│ ├── aarch64 (dependencies targeting AArch64 Linux architecture)
│ │ │
│ │ ├── debug
│ │ │
│ │ └── release
│ │
│ └── release
│ └── x86-64 (dependencies targeting x86-64 Linux architecture)
│ │
│ ├── debug
│ │
│ └── release
└── win64
@@ -223,4 +245,4 @@ The SenseGlove plug-in for Unreal Engine is licensed under the terms of the [MIT
### Third-Party Licenses
Please note that while the SenseGlove plug-in for Unreal Engine is made available under the [MIT License](LICENSE.md), it utilizes a few third-party libraries with permissive free licenses as well, in order to power various components. For a list of these libraries and their own respective open-source licenses take a look at [LICENSE-THIRD-PARTY.md](LICENSE-THIRD-PARTY.md), please.
Please note that while the SenseGlove plug-in for Unreal Engine is made available under the [MIT License](LICENSE.md), it utilizes a few third-party libraries with permissive free licenses as well, in order to power various components. For a list of these libraries and their own respective open-source licenses take a look at [LICENSE-THIRD-PARTY.md](LICENSE-THIRD-PARTY.md), please.
@@ -156,6 +156,23 @@ public class SenseGloveConnectImpl : ModuleRules
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
#if UE_5_2_OR_LATER
if (Target.Architecture == UnrealArch.Arm64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "aarch64"));
}
else if (Target.Architecture == UnrealArch.X64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
}
else
{
Debug.Assert(false, "Unsupported Linux architecture!");
}
#else
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
#endif
}
else if (Target.Platform == UnrealTargetPlatform.Win64)
{
@@ -287,6 +304,23 @@ public class SenseGloveConnectImpl : ModuleRules
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
#if UE_5_2_OR_LATER
if (Target.Architecture == UnrealArch.Arm64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "aarch64"));
}
else if (Target.Architecture == UnrealArch.X64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
}
else
{
Debug.Assert(false, "Unsupported Linux architecture!");
}
#else
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
#endif
}
else if (Target.Platform == UnrealTargetPlatform.Win64)
{
@@ -162,6 +162,23 @@ public class SenseGloveCoreImpl : ModuleRules
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
#if UE_5_2_OR_LATER
if (Target.Architecture == UnrealArch.Arm64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "aarch64"));
}
else if (Target.Architecture == UnrealArch.X64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
}
else
{
Debug.Assert(false, "Unsupported Linux architecture!");
}
#else
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
#endif
}
else if (Target.Platform == UnrealTargetPlatform.Win64)
{
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.