diff --git a/.idea/.idea.SDL3-CS.Android/.idea/.name b/.idea/.idea.SDL3-CS.Android/.idea/.name
new file mode 100644
index 0000000..104344e
--- /dev/null
+++ b/.idea/.idea.SDL3-CS.Android/.idea/.name
@@ -0,0 +1 @@
+SDL3-CS.Android
\ No newline at end of file
diff --git a/.idea/.idea.SDL3-CS.Android/.idea/indexLayout.xml b/.idea/.idea.SDL3-CS.Android/.idea/indexLayout.xml
new file mode 100644
index 0000000..7b08163
--- /dev/null
+++ b/.idea/.idea.SDL3-CS.Android/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.SDL3-CS.Android/.idea/projectSettingsUpdater.xml b/.idea/.idea.SDL3-CS.Android/.idea/projectSettingsUpdater.xml
new file mode 100644
index 0000000..4bb9f4d
--- /dev/null
+++ b/.idea/.idea.SDL3-CS.Android/.idea/projectSettingsUpdater.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/Android.run.xml b/.run/Android.run.xml
new file mode 100644
index 0000000..05d66da
--- /dev/null
+++ b/.run/Android.run.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/SDL3-CS.Tests.run.xml b/.run/Desktop.run.xml
similarity index 72%
rename from .run/SDL3-CS.Tests.run.xml
rename to .run/Desktop.run.xml
index ea7aa8f..3c74768 100644
--- a/.run/SDL3-CS.Tests.run.xml
+++ b/.run/Desktop.run.xml
@@ -1,13 +1,13 @@
-
-
+
+
-
+
-
+
diff --git a/.run/iOS.run.xml b/.run/iOS.run.xml
new file mode 100644
index 0000000..aec0722
--- /dev/null
+++ b/.run/iOS.run.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SDL3-CS.Android.slnf b/SDL3-CS.Android.slnf
index 1ea4e97..061ae2f 100644
--- a/SDL3-CS.Android.slnf
+++ b/SDL3-CS.Android.slnf
@@ -4,8 +4,8 @@
"projects": [
"SDL3-CS\\SDL3-CS.csproj",
"SDL3-CS.SourceGeneration\\SDL3-CS.SourceGeneration.csproj",
- "SDL3-CS.Tests\\SDL3-CS.Tests.csproj",
"SDL3-CS.Android\\SDL3-CS.Android.csproj",
+ "SDL3-CS.Tests\\SDL3-CS.Tests.csproj",
"SDL3-CS.Tests.Android\\SDL3-CS.Tests.Android.csproj"
]
}
diff --git a/SDL3-CS.Desktop.slnf b/SDL3-CS.Desktop.slnf
index e163357..dba27f4 100644
--- a/SDL3-CS.Desktop.slnf
+++ b/SDL3-CS.Desktop.slnf
@@ -4,7 +4,8 @@
"projects": [
"SDL3-CS\\SDL3-CS.csproj",
"SDL3-CS.SourceGeneration\\SDL3-CS.SourceGeneration.csproj",
- "SDL3-CS.Tests\\SDL3-CS.Tests.csproj"
+ "SDL3-CS.Tests\\SDL3-CS.Tests.csproj",
+ "SDL3-CS.Tests.Desktop\\SDL3-CS.Tests.Desktop.csproj"
]
}
}
diff --git a/SDL3-CS.Tests.Android/SDL3-CS.Tests.Android.csproj b/SDL3-CS.Tests.Android/SDL3-CS.Tests.Android.csproj
index fe721f3..4ce67fa 100644
--- a/SDL3-CS.Tests.Android/SDL3-CS.Tests.Android.csproj
+++ b/SDL3-CS.Tests.Android/SDL3-CS.Tests.Android.csproj
@@ -12,7 +12,6 @@
-
diff --git a/SDL3-CS.Tests.Desktop/Program.cs b/SDL3-CS.Tests.Desktop/Program.cs
new file mode 100644
index 0000000..96f04a3
--- /dev/null
+++ b/SDL3-CS.Tests.Desktop/Program.cs
@@ -0,0 +1,7 @@
+internal class Program
+{
+ public static void Main(string[] args)
+ {
+ SDL.Tests.Program.Main();
+ }
+}
diff --git a/SDL3-CS.Tests.Desktop/SDL3-CS.Tests.Desktop.csproj b/SDL3-CS.Tests.Desktop/SDL3-CS.Tests.Desktop.csproj
new file mode 100644
index 0000000..0118545
--- /dev/null
+++ b/SDL3-CS.Tests.Desktop/SDL3-CS.Tests.Desktop.csproj
@@ -0,0 +1,35 @@
+
+
+
+ Exe
+ net8.0
+ SDL3.Tests.Desktop
+ enable
+ enable
+
+
+
+
+
+
+
+ $([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)
+
+
+ $(RuntimeIdentifier)\SDL3.dll
+ $(RuntimeIdentifier)\libSDL3.so
+ $(RuntimeIdentifier)\libSDL3.dylib
+
+
+ win-$(SDLArch.ToLower())\SDL3.dll
+ linux-$(SDLArch.ToLower())\libSDL3.so
+ osx-$(SDLArch.ToLower())\libSDL3.dylib
+
+
+
+
+ PreserveNewest
+
+
+
+
diff --git a/SDL3-CS.Tests.iOS/Entitlements.plist b/SDL3-CS.Tests.iOS/Entitlements.plist
new file mode 100644
index 0000000..36a8706
--- /dev/null
+++ b/SDL3-CS.Tests.iOS/Entitlements.plist
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/SDL3-CS.Tests.iOS/Info.plist b/SDL3-CS.Tests.iOS/Info.plist
new file mode 100644
index 0000000..94ccb54
--- /dev/null
+++ b/SDL3-CS.Tests.iOS/Info.plist
@@ -0,0 +1,40 @@
+
+
+
+
+ CFBundleDisplayName
+ SDL.Tests.iOS
+ CFBundleIdentifier
+ SDL.Tests.iOS
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1.0
+ LSRequiresIPhoneOS
+
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+
+
diff --git a/SDL3-CS.Tests.iOS/Main.cs b/SDL3-CS.Tests.iOS/Main.cs
new file mode 100644
index 0000000..a1a8eb1
--- /dev/null
+++ b/SDL3-CS.Tests.iOS/Main.cs
@@ -0,0 +1,20 @@
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using SDL;
+
+public class Program
+{
+ public static unsafe void Main(string[] args)
+ {
+ NativeLibrary.SetDllImportResolver(typeof(SDL3).Assembly, (_, assembly, path) => NativeLibrary.Load("@rpath/SDL3.framework/SDL3", assembly, path));
+
+ SDL3.SDL_RunApp(0, null, &main, IntPtr.Zero);
+ }
+
+ [UnmanagedCallersOnly(CallConvs = new[] { typeof(CallConvCdecl) })]
+ private static unsafe int main(int argc, byte** argv)
+ {
+ SDL.Tests.Program.Main();
+ return 0;
+ }
+}
diff --git a/SDL3-CS.Tests.iOS/SDL3-CS.Tests.iOS.csproj b/SDL3-CS.Tests.iOS/SDL3-CS.Tests.iOS.csproj
new file mode 100644
index 0000000..0c37ee9
--- /dev/null
+++ b/SDL3-CS.Tests.iOS/SDL3-CS.Tests.iOS.csproj
@@ -0,0 +1,21 @@
+
+
+
+ net8.0-ios
+ SDL3.Tests.iOS
+ Exe
+ enable
+ true
+ 13.0
+ true
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SDL3-CS.Tests/SDL3-CS.Tests.csproj b/SDL3-CS.Tests/SDL3-CS.Tests.csproj
index 129e3d4..a789eb7 100644
--- a/SDL3-CS.Tests/SDL3-CS.Tests.csproj
+++ b/SDL3-CS.Tests/SDL3-CS.Tests.csproj
@@ -1,7 +1,7 @@
- Exe
+ Library
net8.0
SDL.Tests
enable
diff --git a/SDL3-CS.iOS.slnf b/SDL3-CS.iOS.slnf
new file mode 100644
index 0000000..321cc23
--- /dev/null
+++ b/SDL3-CS.iOS.slnf
@@ -0,0 +1,11 @@
+{
+ "solution": {
+ "path": "SDL3-CS.sln",
+ "projects": [
+ "SDL3-CS\\SDL3-CS.csproj",
+ "SDL3-CS.SourceGeneration\\SDL3-CS.SourceGeneration.csproj",
+ "SDL3-CS.Tests\\SDL3-CS.Tests.csproj",
+ "SDL3-CS.Tests.iOS\\SDL3-CS.Tests.iOS.csproj"
+ ]
+ }
+}
diff --git a/SDL3-CS.sln b/SDL3-CS.sln
index 6d94d0b..a7f2209 100644
--- a/SDL3-CS.sln
+++ b/SDL3-CS.sln
@@ -23,6 +23,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL3-CS.Android", "SDL3-CS.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL3-CS.Tests.Android", "SDL3-CS.Tests.Android\SDL3-CS.Tests.Android.csproj", "{E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL3-CS.Tests.iOS", "SDL3-CS.Tests.iOS\SDL3-CS.Tests.iOS.csproj", "{CCDD11EE-D552-4925-8B68-351AC9317589}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL3-CS.Tests.Desktop", "SDL3-CS.Tests.Desktop\SDL3-CS.Tests.Desktop.csproj", "{7E8D719A-5B69-43B7-A9D5-385B6FE7F411}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -49,6 +53,14 @@ Global
{E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CCDD11EE-D552-4925-8B68-351AC9317589}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CCDD11EE-D552-4925-8B68-351AC9317589}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CCDD11EE-D552-4925-8B68-351AC9317589}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CCDD11EE-D552-4925-8B68-351AC9317589}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E8D719A-5B69-43B7-A9D5-385B6FE7F411}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E8D719A-5B69-43B7-A9D5-385B6FE7F411}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E8D719A-5B69-43B7-A9D5-385B6FE7F411}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E8D719A-5B69-43B7-A9D5-385B6FE7F411}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/SDL3-CS/SDL3-CS.csproj b/SDL3-CS/SDL3-CS.csproj
index 99238b6..29c8286 100644
--- a/SDL3-CS/SDL3-CS.csproj
+++ b/SDL3-CS/SDL3-CS.csproj
@@ -29,46 +29,38 @@
-
- PreserveNewest
+
runtimes/win-x64/native
true
-
-
- PreserveNewest
+
+
runtimes/win-arm64/native
true
-
-
- PreserveNewest
+
+
runtimes/win-x86/native
true
-
-
- PreserveNewest
+
+
runtimes/osx-x64/native
true
-
-
- PreserveNewest
+
+
runtimes/osx-arm64/native
true
-
-
- PreserveNewest
+
+
runtimes/linux-x64/native
true
-
-
- PreserveNewest
+
+
runtimes/linux-x86/native
true
-
-
- PreserveNewest
+
+
runtimes/ios/native
true
-
+