Conversation
Sources/Plasma/Apps/plClient/Mac-Cocoa/PLSLoginWindowController.mm
Outdated
Show resolved
Hide resolved
|
The Python integration is kind of tortured because of how we need to integrate:
I started working on a find package path for integration - but it was unclear how to handle the bundling of the Python framework. |
| CURL::libcurl | ||
| "$<$<PLATFORM_ID:Darwin>:-framework Cocoa>" | ||
| "$<$<PLATFORM_ID:Darwin>:-framework QuartzCore>" | ||
| "$<$<PLATFORM_ID:iOS>:-framework Accelerate>" |
There was a problem hiding this comment.
On macOS, Accelerate is pulled in via CoreLib (due to its use in hsMatrix44)
| @@ -241,7 +306,12 @@ target_link_libraries( | |||
| CURL::libcurl | |||
| "$<$<PLATFORM_ID:Darwin>:-framework Cocoa>" | |||
| "$<$<PLATFORM_ID:Darwin>:-framework QuartzCore>" | |||
There was a problem hiding this comment.
You can provide a list of platforms to PLATFORM_ID to cover both macOS and iOS:
$<$<PLATFORM_ID:Darwin,iOS>:-framework QuartzCore>
| "size" : "1024x1024" | ||
| }, | ||
| { | ||
| "filename" : "Icon-MacOS-16x16@1x 1.png", |
There was a problem hiding this comment.
Can we do the macOS icons without a 1 suffix?
| @@ -75,7 +75,7 @@ target_link_libraries(plPipeline | |||
| $<$<PLATFORM_ID:Windows>:plWinDpi> | |||
| freetype | |||
| "$<$<PLATFORM_ID:Darwin>:-framework CoreText>" | |||
ac8bd66 to
4f31177
Compare
|
My suggestion would be to split some of the more self-contained parts of this into a few PRs for easier review/merging head of the iOS client itself:
|
|
I'll start breaking this up. I'm going to leave this draft PR open (with apologies to @Hoikas) so I can track what's been merged in. Python for iOS links in a completely different manner than it does on any other platform. I'm not sure vcpkg supports it (or how it would support the very custom linking) but I'll look into that. It looks like the iOS version requires 3.13 so we may not be far enough ahead to merge in real support. |
6059b8f to
9f84ff6
Compare
|
FWIW, Python 3.14 should release next month (October 2025). Python 3.12 entered security-fixes-only status recently, so I will be looking into Python 3.14 support sooner than later. I think the work I did in #1752 should make it easier to stick closer to what upstream vcpkg does. |
b5427e3 to
fda75c5
Compare
bc80509 to
f4f08ed
Compare
Using real ENetError in SwiftUI client
f4f08ed to
8c98486
Compare
This PR is very much a draft - but is at that point I should probably start getting feedback. The Python integration is a pain point.
This PR enables Plasma to run on iPhone and iPad. This version supports mouse, keyboard, and stylus input.
The oldest device I have run this on is an A12X. This PR includes changes to manually decompress DX compressed textures on devices that don't support that in hardware. M series or A17 class hardware, or better, do not need this hack and can decompress in hardware just like the Mac.
Changes:
This version will not build entirely with vcpkg. The iOS build of Python does not align with how vcpkg includes files. Vcpkg integration would take some thought. iOS 15 is required - I've only tested on iOS 18.
There is no self patching available in this version.
To build:
cmake -G Xcode -DPLASMA_APPLE_DEVELOPMENT_TEAM_ID={Your team ID here} -DUSE_VCPKG=1 -DCMAKE_SYSTEM_NAME=iOS -DPLASMA_BUILD_TOOLS=OFF -DPLASMA_PIPELINE_GL=OFF -DVCPKG_CMAKE_SYSTEM_NAME=iOS -DVCPKG_DEBUG=1 -DVCPKG_TARGET_TRIPLET="arm64-ios-plasma" ../_6. In the device's Uru data, also copy the Python System folder into the Python directory, like you would on Windows and Linux. You must use the iOS version of System.