summaryrefslogtreecommitdiff
path: root/platform/osx
AgeCommit message (Collapse)Author
2021-02-08SCons: Fix debug_symbols tests after switch to BoolVariableRémi Verschelde
Bug introduced in #45679. Fixes part of #45816.
2021-02-03SCons: Add `production=yes` option to use production defaultsRémi Verschelde
This is meant for users making custom builds to match the options used on optimized, official builds. This enables, on the platforms which support them: - `use_static_cpp=yes` (portable binaries for Linux and Windows) - `use_lto=yes` (link time optimizations - note: requires a lot of RAM!) - `debug_symbols=no` (no debug symbols, smaller binaries) Also abort when using MSVC with `production=yes`, as: - It cannot optimize the GDScript VM like GCC or Clang do, leading to significant performance drops. - Its LTO support is unreliable, at least used to trigger crashes last we tried it extensively. All options can still be overridden if specified, and the `dev=yes` option was changed to also support overrides.
2021-01-09Split OS::execute into two methodsMarcel Admiraal
1. execute(): Executes a command and returns the results. 2. create_process(): Creates a new process and returns the new process' id.
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-28Merge pull request #44593 from madmiraal/rename-mainloop-methodsRémi Verschelde
Rename MainLoop methods to match Node methods
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-23[4.0] Fix file drag-drop on M1 Macs.bruvzg
2020-12-22Rename MainLoop methods to match Node methodsMarcel Admiraal
2020-12-17Add override keywords to core/os.h derived classes.Marcel Admiraal
2020-12-16SCons: Add only selected platform's opts to envRémi Verschelde
Otherwise we can get situations where platform-specific opts with the same name can override each other depending on the order at which platforms are parsed, as was the case with `use_static_cpp` in Linux/Windows. Fixes #44304. This also has the added benefit that the `scons --help` output will now only include the options which are relevant for the selected (or detected) platform.
2020-12-10Merge pull request #40708 from bruvzg/improve_os_localeRémi Verschelde
Improve `OS::get_locale()` and documentation.
2020-12-08Merge pull request #43742 from qarmin/editor_modules_default_valuesRémi Verschelde
Initialize class/struct variables with default values in platform/ and editor/
2020-12-04RenderingServer reorganizationreduz
2020-12-04OSX: Fix tmp .app folder name after #44060Rémi Verschelde
2020-12-03OSX: Remove tmp .app folder instead of moving to trashRémi Verschelde
Fixes #42232. And fixes memory leak with use of DirAccess, and harmonize the use of the sanitized pkg name.
2020-12-02Initialize class/struct variables with default values in platform/ and editor/Rafał Mikrut
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-11-19Merge pull request #43692 from akien-mga/scons-leave-link-aloneRémi Verschelde
SCons: Remove unnecessary $LINK overrides
2020-11-19SCons: Remove unnecessary $LINK overridesRémi Verschelde
As of SCons 4.0.1, the default value for $LINK is $SMARTLINK, which itself is a function that will use $CXX as linker for C++: https://github.com/SCons/scons/blob/4.0.1/SCons/Tool/link.py#L327-L328 https://github.com/SCons/scons/blob/4.0.1/SCons/Tool/link.py#L54-L76 So we don't need to manually specify the same value as $CXX for $LINK.
2020-11-19OSX: Fix linking with osxcross for arm64Rémi Verschelde
For some reason the `-target` option on the `LINKFLAGS` was causing a weird issue where osxcross' clang wrapper would attempt using the system `/bin/ld` instead of the osxcross version (which is Apple's `ld64`). The error message would be: ``` /bin/ld: unrecognized option '-dynamic' ``` Also removed from `CCFLAGS` for consistency, it seems to work fine with only `-mmacosx-version-min`.
2020-11-09Remove `debug_symbols=full` in favor of `debug_symbols=yes`Hugo Locurcio
`debug_symbols=yes` will now behave like `debug_symbols=full` did before. The difference in compressed file sizes is not that large, which means there isn't much point in having two different values. This helps make the buildsystem easier to understand.
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-20Merge pull request #42772 from bruvzg/macos_inertiaRémi Verschelde
[macOS] Suppress momentum scrolling after key press.
2020-10-18Refactor MethodBind to use variadic templatesreduz
Removed make_binders and the old style generated binders.
2020-10-13[macOS] Suppress momentum scrolling after key press or modifier change to ↵bruvzg
prevent unexpected change of action.
2020-10-01Fix `screen_get_dpi` on macOS for non fractional display scales and restore ↵bruvzg
documentation.
2020-09-29Merge pull request #42381 from timothyqiu/osx-hiddenRémi Verschelde
Hide special folders in FileDialog for macOS
2020-09-28Hides special folders in FileDialog for macOSHaoyu Qiu
2020-09-25[macOS] Fix mouse position in captured mode.bruvzg
2020-09-17Add window click-through support.bruvzg
2020-09-10Remove unused Python imports.Marcel Admiraal
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-09-03Merge pull request #41456 from nekomatata/x11-fix-popupsRémi Verschelde
Popup fixes for X11 display server
2020-08-25[macOS] Fix heap use-after-free in DisplayServer.bruvzg
2020-08-22Re-apply "Fixes for windows in X11 tiling WMs"PouleyKetchoupp
From PR #38727 which was reverted in #41373 because of regressions in Ubuntu with Gnome. Co-authored-by: Lorenzo Cerqua <lorenzocerqua@tutanota.com>
2020-08-19Revert "Fixes for windows in X11 tiling WMs"Juan Linietsky
2020-08-16Port ClassDB tests to use doctestAndrii Doroshenko (Xrayez)
Extracted the most minimal core initialization functionality from `setup()` and `setup2()` so that `ClassDB` could be tested properly (input, audio, rendering, physics etc, are excluded). Display and rendering servers/singletons are not initialized at all. Due to the fact that most subsystems are disabled, fixed various crashes in the process (in order): - `AcceptDialog` OK/cancel swap behavior (used `DisplayServer` while `register_scene_types()`); - `make_default_theme` which depends on `RenderingServer`; - `XRServer` singleton access while calling `register_modules_types()`; - hidden bug in a way joypads are cleaned up (MacOS and Linux only). Removed manual `ClassDB` init/cleanup calls from `test_validate_testing.h`. ClassDB tests: Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2020-08-15Merge pull request #41285 from bruvzg/macos_on_top_4Rémi Verschelde
[macOS] Fix "on top" incorrectly set on init and resetting on window update.
2020-08-15Fix "on top" incorrectly set on init (all platforms).bruvzg
Fix "on top" reseting on window update. (macOS).
2020-08-15fixed linker being slow on OSXGordon MacPherson
2020-08-13Remove obsolete GLES2 backend codeRémi Verschelde
This code currently isn't compiled (and cannot compile). We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan (probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite different so it's not relevant to keep this old Godot 3.2 code. The `drivers/gles2` code from the `3.2` branch can be used as a reference for a potential new implementation.
2020-08-11Improve `OS::get_locale()` on macOS and Windows, replace "-" with "_" and ↵bruvzg
use system macros instead of bitwise AND. Add locale format info to the documentation.
2020-08-01platform: Update metadata for export platformsChristopher Davis
Updates the logos of for macOS, Android, and iOS; Also changes "Mac OSX" to "macOS" Addresses https://github.com/godotengine/godot-proposals/issues/1161
2020-07-26[macOS] Refocus last key window after `DisplayServer::alert` is closed.bruvzg
2020-07-26CI: Install master version of psf/blackRémi Verschelde
Until https://github.com/psf/black/pull/1328 makes it in a stable release, we have to use the latest from Git. Apply new style fixes done by latest black.
2020-07-26Merge pull request #38727 from Riteo/tiling-wm-issues-testsRémi Verschelde
Fixes for windows in X11 tiling WMs
2020-07-26[macOS] Prevent setting `BORDERLESS` flag and calling ↵bruvzg
`window_move_to_foreground` from giving focus to window with `NO_FOCUS` flag.
2020-07-24[macOS / ARM64] Remove "-msse2" flag from ARM64 release export template ↵bruvzg
build. Add ARM64 breakpoint inline assembly to "doctest".
2020-07-24t Add unit testing to Godot using DocTest and added to GitHub Actions CIRevoluPowered
Implements exit codes into the engine so tests can return their statuses. Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically. Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header. This lowers the complexity of running the unit tests and even for physics should be possible to implement such a fix.
2020-07-23SCons: Remove unused DEBUG_MEMORY_ENABLED defineRémi Verschelde
Its last use was removed in Godot 3.0, so it no longer makes sense to define. Also removed `D3D_DEBUG_INFO` for Windows as it's likely a left over from a long time ago pre-opensourcing when Godot had some form of Direct3D 9 support?