Commit Graph

114 Commits

Author SHA1 Message Date
6d9983e958 [apple embedded] Replace individual iOS/visionOS Xcode templates by Apple embedded template 2025-08-25 12:42:34 -07:00
939f29f6d5 Apple: Improve reliability of Apple Embedded build and deployment 2025-06-19 06:33:08 +10:00
42249bb659 Add @export_file_path to export raw paths (no UID) 2025-05-22 13:25:17 +02:00
47971c0a27 Introduce 'visionos' platform derived from 'apple_embedded' 2025-05-19 15:47:01 -07:00
457299449d Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
c6739f64df [Export] Use project settings overrides with the target preset features instead of current platform features. 2025-04-08 21:22:37 +03:00
23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
c937b6d180 Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
4187c48a15 [iOS export] Restore one-click deploy device enumeration using Xcode. 2025-03-04 21:37:47 +02:00
28d1dccf63 Android: Fix export and runtime logic to check if using Vulkan
Also fix iOS export logic that would force a min target of iOS 14.0 (for Metal)
even when targeting the Compatibility renderer.

Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
702eb39ab8 Revert "Workaround mingw-gcc LTO ICE by re-adding some dead code..."
This reverts commit e12a424bc5.
This is no longer needed after 26fd3458f9.
2025-02-20 17:47:37 +01:00
78f1918bd4 Merge pull request #102668 from jkirsteins/janiskirsteins/ios-aspect-fill-splash
[iOS] Sync the boot splash and the launch screen image scale modes
2025-02-12 12:56:26 -06:00
0e266b0099 [iOS] Sync the boot splash and the launch screen image scale modes 2025-02-12 17:41:18 +01:00
e34f1f504c Use std::size instead of sizeof(a) / sizeof(a[0]) pattern throughout the codebase. 2025-02-07 14:57:48 +01:00
e12a424bc5 Workaround mingw-gcc LTO ICE by re-adding some dead code...
Not my finest work, but without that code removed in #102179, mingw-gcc 14.2.1 on Fedora 41
(but also confirmed with versions on macOS and WSL) crashes when linking with LTO.

We need to dig deeper to understand the bug, report it upstream and work it around in a
cleaner way. But for now this unblocks building Windows binaries with LTO, and should be
harmless.
2025-02-07 01:16:38 +01:00
dfedfe7ac7 Merge pull request #102179 from bruvzg/remove_sim
Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter.
2025-02-03 08:16:14 -06:00
b3f7c8f5d3 [Export] Respect icon/splash screen import settings. 2025-01-31 07:45:16 +02:00
9310d2512f Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter. 2025-01-30 11:32:01 +02:00
f355c9ad37 [iOS] Fix provisioning profile specifier / UUID validation. 2025-01-17 19:20:17 +02:00
33e16435f5 Replace some problematic uses of String::num to String::num_int64 2025-01-15 12:51:51 -05:00
34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
2d3f6963b2 Update the visibility for the custom templates for all platforms
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 -08:00
00a791f04e Use temp dirs instead of cache dirs for export
Fixes #95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
2024-12-08 12:07:17 +00:00
d3e16c9ee2 [iOS] Add options to specify additional entitlements and capabilities in the export settings. 2024-12-02 17:38:19 +02:00
506930063a Merge pull request #98093 from zynga-jpetersen/jpetersen/ios_xcode_PROVISIONING_PROFILE_SPECIFIER_support
Support for XCode 8+ feature `PROVISIONING_PROFILE_SPECIFIER`
2024-11-29 22:46:29 +01:00
925b690c98 Core: Integrate Ref::instantiate where possible 2024-11-10 12:41:26 -06:00
4036270f8d Support for XCode 8+ feature PROVISIONING_PROFILE_SPECIFIER
https://developer.apple.com/documentation/xcode/build-settings-reference\#Provisioning-Profile

Used to allow for specific provisioning profile to be specified by name instead of UUID.

Needed to solve this problem where uuid wasn’t disambiguating: https://stackoverflow.com/questions/45051712/signing-app-with-xcodebuild-command-line-with-provisioning-profile-fails

Allows for specification for release and debug versions through environment variables or through export template attributes.

Debug:
EnvironmentVariable: GODOT_IOS_PROFILE_SPECIFIER_DEBUG
Export template: “application/provisioning_profile_specifier_debug”

Release:
EnvironmentalVariable: GODOT_IOS_PROFILE_SPECIFIER_RELEASE
Export Template: “application/provisioning_profile_specifier_release”
2024-10-28 11:37:55 -07:00
4c520e9400 [iOS] Add support for dark and tinted icon versions. 2024-10-04 14:00:27 +03:00
07e986f728 Allow adding custom export platforms using scripts / GDExtension. 2024-08-28 10:29:01 +03:00
2d0165574d Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
824324e7c4 [iOS] Fix dylib GDExtension convertion. 2024-08-09 12:44:48 +03:00
5b327aee96 Fix issue preventing enabling the remote button for Android
https://github.com/godotengine/godot/pull/92032 updated the logic to enable / disable the remote debug button, and in doing so added a `can_export` check.

However, no events / notifications are dispatched when the value of the `can_export` check changes, which in turn prevents the logic used to enable / disable the remote debug button from running again.

The fix consists then in removing the `can_export` check, so that the remote debug button shows as `enabled` when a preset is present and is runnable.
2024-07-16 00:25:16 -07:00
501c15c5f5 [iOS export] Automatically generate ARM64 simulator library from device library if it's missing. 2024-06-16 10:46:49 +03:00
84ee828b58 Fix iOS exports never embedding framework bundles 2024-06-02 18:02:01 +02:00
8ec272f288 Merge pull request #92519 from mihe/stop-xcframework-embed
Prevent static XCFramework bundles from being embedded on iOS
2024-05-30 11:48:12 +02:00
b6e5e16868 Prevent static XCFramework bundles from being embedded on iOS 2024-05-29 17:54:49 +02:00
c8ae9e9c76 [iOS] Change default iPad landscape orientation from "left" to "right". 2024-05-29 12:47:49 +03:00
a0dbdcc3ab Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
1f303e0019 Merge pull request #89790 from bruvzg/ios_safe_delete
[iOS Export] Check directory content before deleting old export leftovers.
2024-04-29 13:00:30 +02:00
7446826ab9 [iOS export] Add support for privacy manifest configuration. 2024-04-16 12:10:12 +03:00
a057158d75 Revert pack trimming introduced by #82084 2024-04-10 12:00:04 +02:00
bf558adcdd [.NET] Disable output embedding on macOS, move it to the advanced options on other platforms. 2024-04-09 17:47:39 +03:00
30babfc789 [iOS Export] Fix adding static libs to the Xcode project. 2024-04-08 11:55:59 +03:00
b3043674f6 [iOS Export] Check directory content before deleting old export leftovers. 2024-03-22 23:45:54 +02:00
0475011c66 Merge pull request #82084 from ogapo/pr/pck-cache-merge
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +01:00
2cd4a4e7e2 [iOS] Restore backward compatibility with old export templates. 2024-03-10 11:04:26 +02:00
5e6adb4a2d Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
fixes godotengine#82061
fixes godotengine#61556

Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
fc49964de4 Fix crash on documentation generation on macOS. 2024-02-19 13:42:27 +02:00
e697774f61 Merge pull request #87823 from KoBeWi/ban_adb
Don't invoke adb with no runnable Android preset
2024-02-17 15:54:49 +01:00