-
-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Swift 6, SwiftUnicodeDataTables, Other Improvements #106
Conversation
STREGA
commented
Nov 22, 2024
•
edited
Loading
edited
- Reworked PDCPlugin so PlaydateKit and CPlaydate are built as part of the product dependencies
- Added simple support for C/C++ modules. Since the PDCPlugin cannot access the Package cSettings/cxxSettings this will not be that useful, but simple C/C++ code modules should work
- Added the libSwiftUnicodeDataTables source files, directly from the SwiftLang repository, as a source target.
- Bumped the package to Swift Language Mode v6 and the Package tools version to swift 6.
- Fixed all Swift 6 deprecations
- Moves helper variables in Package.swift to the bottom of the file. This change will help reduce build errors when users copy the variables from PlaydateKit to their own package.
@finnvoor sorry for so many changes in 1 PR, mostly all related stuff. Confirmed to work on device. |
|
||
func pdc(_ arguments: [String]) throws { | ||
let process = Process() | ||
process.executableURL = URL(filePath: "\(playdateSDK)/bin/pdc") | ||
process.arguments = ["--skip-unknown"] + arguments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any reason why this was removed? Without it the debug symbols are copied into the pix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With that flag on, users can't have their own custom file types or any files the pdc doesn't compile. For example 3D models wouldn't be copied.
I'll add an extra step to delete the debug symbols from the finished pdx.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks excellent, thanks for working on this. Seems like this also adds support for more than 1 level of dependencies which is great.
Ideally we'll be able to remove the unicode table target once the Swift team builds them without exceptions. Some people might also want a flag to opt out of linking them to reduce code size, but it seems like code size isn't a huge issue on Playdate.
Yup! Specifically I wanted to make sure PlaydateKit could be in a package (game engine) that users can import and use easily. It'll allow people to make and share "RPGKit" and stuff like that. And yes I agree. This method could possibly cause problems if the toolchain changes anything. Definitely will be ideal to have the official static library available. |
Flags were being ignored by the pdc cli
URL takes care of this. The previous Path type did not
Added a step to remove the copied debug symbols. |