summaryrefslogtreecommitdiffstats
path: root/platform/macos/detect.py
Commit message (Collapse)AuthorAgeFilesLines
* Disable FP contraction.bruvzg2024-07-231-0/+2
|
* SCons: Convert platform `get_flags` to dictionaryThaddeus Crews2024-05-221-5/+5
|
* Update pre-commit hooks configuration to use `ruff` instead of `black`Jakub Marcowski2024-05-211-4/+4
|
* SCons: Colorize warnings/errors during generationThaddeus Crews2024-04-281-4/+4
|
* Fix MoltenVK detectionpohy2024-03-091-2/+9
|
* Migrate macos controller API to GameController.hJezer Mejía2024-02-201-1/+3
| | | | | | | | | | This should fix a lot of issues regarding to old controller API, such as vibration Haptics (vibrations) are only available in macOS 11+, so haptics are now processed in macOS 11+ only. Also, this doesn't interfere with controller's input as controller support is available in macOS 10.9+. Added a Note for macOS regarding vibration support
* Merge pull request #88245 from shana/simplify-mono-support-detectionRémi Verschelde2024-02-191-0/+1
|\ | | | | | | C#: Let platforms signal if they support the mono module or not
| * C#: Let platforms signal if they support it or notAndreia Gaita2024-02-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Instead of hardcoding platform names that support C#, let platforms set a flag indicating if they support it. All public platforms except web already support it, and it's a pain to maintain a patch for this list just to add additional names of proprietary console platforms. This makes adding new platforms or variants or existing platforms much easier, as the platform can signal what it supports/doesn't support directly, and we can avoid harcoding platform names.
* | SCons: "Environment" to "SConsEnvironment"Thaddeus Crews2024-02-141-2/+2
| |
* | [iOS/macOS] Add option to automatically build (and sign / archive) bundles.bruvzg2024-02-131-67/+11
| |
* | [macOS] Check Vulkan SDK version when looking for MoltenVK libs.bruvzg2024-02-041-1/+2
| |
* | Merge pull request #85206 from bruvzg/mac_clang_version_check_updateRémi Verschelde2024-01-181-3/+3
|\ \ | | | | | | | | | [macOS] Check Apple specific version instead of generic clang version.
| * | [macOS] Check Apple specific version instead of generic clang version.bruvzg2023-11-221-3/+3
| |/
* | [macOS] Fix MoltenVK SDK detection after file location changes in 1.3.275.0.bruvzg2024-01-171-10/+25
| |
* | Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is addedjsjtxietian2023-12-251-1/+1
|/
* Updated compiler version detectionMario Liebisch2023-09-251-10/+3
| | | | | | | | | | | This fixes multiple issues/inconsistencies around `get_compiler_version()`: * With no shell allocated, launching the compiler could fail even with proper paths being set. * The return value was described as "an array of version numbers as ints", but the function actually returned a `Dictionary` (or `None`). * Not all calls were properly handling a `None` return value in case of errors. On Windows this broke compiling for me since #81869 with default settings. * Some calls defined inconsistent defaults/fallbacks (`0` or `-1`).
* [macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add ↵bruvzg2023-09-211-1/+8
| | | | | | EGL_ANDROID_blob_cache caching. Co-authored-by: Riteo <riteo@posteo.net>
* [macOS] Workaround Xcode 15 linker bug.bruvzg2023-09-201-1/+17
|
* SCons: Move platform logo/run icon to `export` folderRémi Verschelde2023-06-201-4/+0
| | | | | | | | | | | | Follow-up to #75932. Since these icons are only used by the export plugin, it makes sense to move them and generate the headers there. The whole `detect.is_active()` logic seems to be a leftover from before times, as far back as 1.0-stable it already wasn't used for anything. So I'm removing it and moving the export icon generation to `platform_methods`, where it makes more sense.
* [TLS] Add support for platform-specific CA bundles.Fabio Alessandrelli2023-05-121-0/+2
| | | | | | | | | | | | | | | | | Adds a new OS::get_system_ca_certs method which can be implemented by platforms to retrieve the list of trusted CA certificates using OS specific APIs. The function should return the certificates in PEM format, and is currently implemented for Windows/macOS/LinuxBSD(*)/Android. mbedTLS will fall back to bundled certificates when the OS returns no certificates. (*) LinuxBSD does not have a standardized certificates store location. The current implementation will test for common locations and may return an empty string on some distributions (falling back to the bundled certificates).
* [macOS] Bump min. version to 10.13, and remove deprecated code.bruvzg2023-04-241-4/+4
|
* [Export docs] Move docs to platform folders.bruvzg2023-04-201-0/+10
|
* Corrected capitalisation of macOSJohn Veness2023-03-121-1/+1
| | | | In documentation and comments, ignoring thirdparty code
* Rename mkv_list to mvk_list (MoltenVK path list).Ron B. Yeh2023-03-061-4/+4
|
* [iOS] Restore OpenGLES3 renderer support.bruvzg2023-01-221-1/+1
|
* [macOS] Move `Wno-deprecated-declarations` to pragmas in the OpenGL related ↵bruvzg2023-01-201-1/+0
| | | | files, update some deprecated code.
* [macOS] Automatically detect MoltenVK libs installed via homebrew and macports.bruvzg2022-11-151-7/+13
|
* Fix build with Vulkan disabled and no Vulkan headers installed.bruvzg2022-10-261-1/+3
|
* ci: add Python static analysis check via mypyJiri Suchan2022-09-301-1/+6
|
* SCons: Unify tools/target build type configurationRémi Verschelde2022-09-261-21/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* SCons: Remove redundant `-fomit-frame-pointer` and `-ftree-vectorize`Rémi Verschelde2022-09-231-2/+2
| | | | | | | | | - `-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.
* SCons: Refactor handling of `production` flag and per-platform LTO defaultsRémi Verschelde2022-09-191-3/+6
| | | | | | | Fixup to #63288. See #65583 for the bug report. Co-authored-by: Cyberrebell <chainsaw75@web.de>
* SCons: Refactor LTO options with `lto=<none|thin|full>`Rémi Verschelde2022-09-081-0/+12
| | | | | | | | | | | | | 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).
* Fix key mapping changes when moving from macOS to other platformbruvzg2022-09-071-3/+1
| | | | | Removes separate `Command` key (use `Meta` instead). Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
* fix: graceful exit on macOS missing VulkanJiri Suchan2022-09-041-3/+5
|
* Unify bits, arch, and android_arch into env["arch"]Aaron Franke2022-08-251-12/+17
| | | | | | Fully removes the `bits` option and adapts the code that relied on it. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Rename OSX to macOS and iPhoneOS to iOS.bruvzg2022-07-211-0/+253