summaryrefslogtreecommitdiff
path: root/platform/macos
AgeCommit message (Collapse)Author
2022-10-11Cleanup unused defines in platform codeRémi Verschelde
2022-10-10[macOS] Fix window button position and title bar size when editor scale do ↵bruvzg
not match OS UI scale.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-04Merge pull request #66832 from bruvzg/cmd_p_fixRémi Verschelde
[macOS] Fix ⌘ + . + other modifier triggering twice.
2022-10-03[macOS] Fix ⌘ + . + other modifier triggering twice.bruvzg
2022-10-03Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_. - `NO_NETWORK` is also never defined. It probably isn't enough anyway to disable network APIs in the current codebase. - `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some other platforms, clarify that. - `NO_STATVFS` can be removed as Android supports it since API level 19, which is our current min SDK level. It's also only used for `DirAccessUnix::get_space_left()` which is anyway overridden by `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference. * Fixed documentation for `DirAccess.get_space_left()`. - `NO_FCNTL` is likely also a remnant of early Android days, in current NDK r23 it seems to be available. Also cleaned up unused `fcntl.h` includes. - `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-09-30ci: add Python static analysis check via mypyJiri Suchan
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-26Style: Cleanup header guards for consistencyRémi Verschelde
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-24[macOS] Process menu callback after event processing step to avoid event ↵bruvzg
queue corruption.
2022-09-23SCons: Remove redundant `-fomit-frame-pointer` and `-ftree-vectorize`Rémi Verschelde
- `-fomit-frame-pointer` is included automatically by both GCC and Clang in `-O1` and above. - `-ftree-vectorize` is included automatically by GCC in `-O2` and beyond, and seems always enabled by Clang. Closes #66296. See that issue for a detailed investigation.
2022-09-22[macOS extend-to-title] Add scene/project name to the editor title, fix ↵bruvzg
incorrect window button position/order when system primary language is RTL.
2022-09-21Merge pull request #65816 from bruvzg/proj_settings_missing_flagsRémi Verschelde
Add missing initial window flags and window mode to the project settings.
2022-09-21[macOS] Improve "extended to title" transition to / from fullscreen.bruvzg
2022-09-20[macOS] Add an option to align window buttons in "extend to title" mode.bruvzg
2022-09-19SCons: Refactor handling of `production` flag and per-platform LTO defaultsRémi Verschelde
Fixup to #63288. See #65583 for the bug report. Co-authored-by: Cyberrebell <chainsaw75@web.de>
2022-09-19Add missing initial window flags and window mode to the project settings.bruvzg
2022-09-16Add get_distribution_name() and get_version() to OSMJacred
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Co-authored-by: bruvzg
2022-09-16Merge pull request #65496 from MinusKube/popup-capture-mouse-bugRémi Verschelde
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-15[macOS] Remove tabs for "Quit" menu item.bruvzg
2022-09-15[macOS] Fix redraw lag at the edge of the resizing window.bruvzg
2022-09-14[macOS, 4.0] Fix unresponsive redraw during live resizing.bruvzg
2022-09-13Disable menus and functionality that are not relevant on the Android Editor portFredia Huya-Kouadio
2022-09-13Merge pull request #65509 from gotnospirit/master-os-get_datetimeRémi Verschelde
get_datetime_* functions can return wrong values
2022-09-12Fix multiwindow support in GLES3 for X11, Windows, and MacOS.clayjohn
Instead of updating all viewports, then blitting all viewports to the backbuffer, then swapping all buffers, we run through all viewports and render, blit, and swap backbuffer before going to the next viewport.
2022-09-10Fixes #65377: get_datetime_* functions can return wrong valuesJames
2022-09-08SCons: Refactor LTO options with `lto=<none|thin|full>`Rémi Verschelde
Adds support for LTO on macOS and Android. We don't have much experience with LTO on these platforms so for now we keep it disabled by default even when `production=yes` is set. Similarly for iOS where we ship object files for the user to link in Xcode so LTO makes builds extremely slow to link. `production=yes` defaults to full LTO. ThinLTO is much faster for LLVM-based compilers but seems to produce bigger binaries (at least for the Web platform).
2022-09-07Fix MOUSE_MODE_CAPTURED not working correctly with popupsMinusKube
2022-09-07Fix key mapping changes when moving from macOS to other platformbruvzg
Removes separate `Command` key (use `Meta` instead). Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-06Rename `range_lerp` to `remap`Micky
2022-09-04fix: graceful exit on macOS missing VulkanJiri Suchan
2022-09-02Merge pull request #65242 from bruvzg/menu_event_multiwindowRémi Verschelde
2022-09-02Merge pull request #65026 from bruvzg/dark_modeRémi Verschelde
2022-09-02[macOS] Simplify handling of menu accelerators, and send event to the ↵bruvzg
focused window instead of main.
2022-09-01[macOS] Handle accelerator and click events of the global menu items separately.bruvzg
2022-08-31Add support for system dark mode and accent color detection (macOS and ↵bruvzg
Windows). Add support for dark mode title bar on Windows.
2022-08-29Rename String `plus_file` to `path_join`Aaron Franke
2022-08-27Merge pull request #64507 from RandomShaper/remove_unusedRémi Verschelde
Remove unused `force_quit` variable from many OS abstractions
2022-08-27Remove unused force_quit variable from many OS abstractionsPedro J. Estébanez
2022-08-26Merge pull request #64777 from bruvzg/extend_to_titleRémi Verschelde
[macOS] Extend editor contents to the window title bar for better space usage.
2022-08-26[macOS] Extend editor contents to the window titlebar for better space usage.bruvzg
2022-08-26[macOS export] Simplify code signing options, add support for rcodesign tool ↵bruvzg
for signing and notarization.
2022-08-26Merge pull request #64562 from bruvzg/fix_dup_localesRémi Verschelde
[macOS / iOS Export] Fix generation of duplicate locale property list files.
2022-08-25Improve platform-specific READMEs to add useful linksHugo Locurcio
This also adds READMEs for all platforms.
2022-08-25Unify bits, arch, and android_arch into env["arch"]Aaron Franke
Fully removes the `bits` option and adapts the code that relied on it. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-08-22Replace Array return types with TypedArraykobewi
2022-08-18Implement `MenuBar` control to wrap `PopupMenu`s or native menu, use native ↵bruvzg
menu for editor.
2022-08-18[macOS / iOS Export] Fix generation of duplicate locale property list files.bruvzg
2022-08-14Refactor the export checking logic to improve separation of concernsFredia Huya-Kouadio
2022-08-06Only define `keep_screen_on` project setting onceRedMser