summaryrefslogtreecommitdiffstats
path: root/platform/iphone/detect.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary iOS linker flags.bruvzg2021-08-121-38/+0
|
* Use "volk" instead of statically linked Vulkan loader.bruvzg2021-08-121-7/+3
|
* Allow to not optimize release buildRafał Mikrut2021-03-141-1/+1
|
* Merge pull request #45252 from naithar/feature/plugins-migrationRémi Verschelde2021-01-261-32/+0
|\ | | | | [4.0] [iOS] iOS Plugins Migration
| * [iOS] Remove plugins from modules.Sergey Minakov2021-01-171-32/+0
| |
* | [WIP] Add separate `simulator` flag for iOS build, change main library to ↵bruvzg2021-01-181-9/+16
|/ | | | `xcframework` format.
* SCons: Add only selected platform's opts to envRémi Verschelde2020-12-161-3/+0
| | | | | | | | | | | 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.
* iOS Modules: separate main platform code from modulesSergey Minakov2020-11-101-15/+0
| | | | | | | | Moved previously builtin modules 'GameCenter', 'AppStore', 'iCloud' to separate modules to be represented as plugin. Modified 'ARKit' and 'Camera' to not be builtin into engine and work as plugin. Changed platform code so it's not affected by the move. Modified Xcode project file to remove parameters that doesn't make any effect. Added basic '.gdip' plugin config file.
* [iOS] Add missing ARC flag to the simulator build.bruvzg2020-10-301-1/+1
|
* iOS: RefactoringSergey Minakov2020-10-021-2/+2
| | | | | | | | | Enabled ARC for iOS. Weakify/Strongify macros for objc blocks. Removed old version checks. Specific types for ObjC++ modules to exclude unneeded bridging. Separate DeviceMetrics class for device specific data. Replaced old/deprecated functionality.
* Fix new black style check failures in various files.Marcel Admiraal2020-08-211-1/+4
|
* CI: Install master version of psf/blackRémi Verschelde2020-07-261-4/+18
| | | | | | | 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.
* iOS SCons: static Vulkan binary usageSergey Minakov2020-07-251-5/+4
| | | | | Add VMA to iphone platform Use linkflag for iphone building to enforce static linking. Works fine with dynamic '.framework' library Updated xcode project to use '.a' static library
* iOS: Vulkan supportSergey Minakov2020-07-251-0/+3
| | | | | | | | Implemented Vulkan Support. Use DisplayServer for rendering and input handling Use single view for rendering in both GLES2 (not supported yet) and Vulkan Use @available checks where it's required (otherwise compiler would fail compilation) Simulator checks
* iOS SCons: update iOS minimal versionSergey Minakov2020-07-251-6/+6
| | | | | iOS 11 for iOS device iOS 13 for iOS Simulator
* SCons: Remove unused DEBUG_MEMORY_ENABLED defineRémi Verschelde2020-07-231-1/+1
| | | | | | | 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?
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-301-105/+152
| | | | | | | | | | | | | | | | | | | | | Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
* Add use_static_mvk optionSam Green2020-02-211-0/+1
|
* Update detect.pySam Green2020-02-211-3/+10
|
* SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor definesRémi Verschelde2019-07-031-9/+9
| | | | | | | | It's the recommended way to set those, and is more portable (automatically prepends -D for GCC/Clang and /D for MSVC). We still use CPPFLAGS for some pre-processor flags which are not defines.
* ARKit for Godot 3.2BastiaanOlij2019-06-301-0/+1
| | | | | | | This PR introduces support for ARKit to the iOS version of Godot. ARKit is Apples Augmented Reality platform. This PR brings in support for ARKit 1.0 and implements a few ARKit 2.0 features. It requires iOS 11 to run but should not prevent Godot from running on older versions as long as ARKit remains unused.
* Adding a new Camera Server implementation to Godot.BastiaanOlij2019-06-151-0/+1
| | | | | | This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server. Other parts of Godot can interact with this to obtain images from the camera as textures. This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
* SCons: Keep exceptions and rtti on Android, iOS and HTML5 tools buildRémi Verschelde2019-05-201-4/+6
| | | | | | | | | | Those were disable to keep size small, and on Android avoid the dependency on the STL, but for tools build (editor) this is not really a concern. Note: as of today it's not possible to build tools=yes for those platforms, but this change is one of the necessary steps to enable it. Fixes #25262.
* SCons: Always use env.Prepend for CPPPATHRémi Verschelde2019-04-301-5/+5
| | | | | | Include paths are processed from left to right, so we use Prepend to ensure that paths to bundled thirdparty files will have precedence over system paths (e.g. `/usr/include` should have lowest priority).
* SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGSRémi Verschelde2019-04-241-7/+8
| | | | | | | | | | | | | | | | | | | | | | | Many contributors (me included) did not fully understand what CCFLAGS, CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them in the way they are intended to be. As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html - CCFLAGS: General options that are passed to the C and C++ compilers. - CFLAGS: General options that are passed to the C compiler (C only; not C++). - CXXFLAGS: General options that are passed to the C++ compiler. By default, this includes the value of $CCFLAGS, so that setting $CCFLAGS affects both C and C++ compilation. - CPPFLAGS: User-specified C preprocessor options. These will be included in any command that uses the C preprocessor, including not just compilation of C and C++ source files [...], but also [...] Fortran [...] and [...] assembly language source file[s]. TL;DR: Compiler options go to CCFLAGS, unless they must be restricted to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to CPPFLAGS.
* Remove unused importsHendrikto2019-04-061-1/+0
|
* SCons: Move platform-specific Opus config to its moduleRémi Verschelde2019-03-021-8/+0
|
* SCons: Drop unused MPC_FIXED_POINT defineRémi Verschelde2019-01-161-1/+1
|
* Don't use -ffast-math or other unsafe math optimizationsHein-Pieter van Braam2019-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Godot supports many different compilers and for production releases we have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers all do slightly different things with -ffast-math and it is causing issues now. See #24841, #24540, #10758, #10070. And probably other complaints about physics differences between release and release_debug builds. I've done some performance comparisons on Linux x86_64. All tests are ran 20 times. Bunnymark: (higher is better) (bunnies) min max stdev average fast-math 7332 7597 71 7432 this pr 7379 7779 108 7621 (102%) FPBench (gdscript port http://fpbench.org/) (lower is better) (ms) fast-math 15441 16127 192 15764 this pr 15671 16855 326 16001 (99%) Float_add (adding floats in a tight loop) (lower is better) (sec) fast-math 5.49 5.78 0.07 5.65 this pr 5.65 5.90 0.06 5.76 (98%) Float_div (dividing floats in a tight loop) (lower is better) (sec) fast-math 11.70 12.36 0.18 11.99 this pr 11.92 12.32 0.12 12.12 (99%) Float_mul (multiplying floats in a tight loop) (lower is better) (sec) fast-math 11.72 12.17 0.12 11.93 this pr 12.01 12.62 0.17 12.26 (97%) I have also looked at FPS numbers for tps-demo, 3d platformer, 2d platformer, and sponza and could not find any measurable difference. I believe that given the issues and oft-reported (physics) glitches on release builds I believe that the couple of percent of tight-loop floating point performance regression is well worth it. This fixes #24540 and fixes #24841
* Merge pull request #24545 from akien-mga/osxcross-monoRémi Verschelde2018-12-301-0/+4
|\ | | | | SCons: Allow building Mono module with OSXCross
| * SCons: Allow building Mono module with OSXCrossRémi Verschelde2018-12-221-0/+4
| | | | | | | | | | | | | | Improve the test logic to only assume that we're building for macOS if OSXCROSS_ROOT is defined *and* we requested p=osx. Supersedes #24480.
* | SCons: Drop ios_sim option forcing x86, simulator needs x86_64Rémi Verschelde2018-12-271-5/+1
|/
* Bump minimum iOS version to 10Sam Green2018-12-121-6/+6
|
* Merge pull request #21339 from Placinta/masterRémi Verschelde2018-11-201-4/+5
|\ | | | | Fix regular macOS build by passing -isysroot to compiler so correct system headers are found
| * Pass -isysroot to compiler / linker when doing a macOS buildAlexandru Croitor2018-08-271-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the compiler would use system headers located at /System/Library/Frameworks, which could result in compilation failures due to the headers not always being up-to-date in regards to the latest installed macOS SDK headers that come with Xcode. Fix the issue by passing the SDK path via the -isysroot option to the compiler and linker invocations. If no custom SDK path is given, the build system queries the SDK path via xcrun --show-sdk-path, which returns something similar to /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ /Developer/SDKs/MacOSX.sdk/ Querying via xcrun is now also done for iphone (and simulator) platforms as well. Here is an example of a compilation failure message due to outdated headers: platform/osx/os_osx.mm:1421:41: error: use of undeclared identifier 'NSAppKitVersionNumber10_12'; did you mean 'NSAppKitVersionNumber'? if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_12) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ NSAppKitVersionNumber /System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:26:28: note: 'NSAppKitVersionNumber' declared here
* | Dont use equality operators with None singleton in python fileslupoDharkael2018-10-271-1/+1
|/
* -Fix disable_3d flagJuan Linietsky2018-07-211-2/+6
| | | | -Add extra flag optimize=[size,speed] to be able to prioritize size
* Allow configuring iOS exportRuslan Mustakov2017-11-211-7/+12
| | | | | | | | | | | | | | | | | - EditorExportPlugin's _export_begin accepts all the arguments related to the current export (is_debug, path, flags). - EditorExportPlugin API is extended with methods allowing to configure iOS export: add_ios_framework, add_ios_plist_content, add_ios_linker_flags, add_ios_bundle_file. - iOS export template now contains Godot as a static library so that it can be linked with third-party Frameworks and GDNative static libraries. - Adds method to DirAccess for recursive copying of a directory. - Fixes iOS export to work with Xcode 9 (released recently).
* Cleanup old references to GLES2 rendererRémi Verschelde2017-11-191-1/+1
| | | | | | | | | There are still some left in the Android Java code, even stuff to swap between GLES1 and GLES2 support from early Godot days... would be good to see some cleanup there too one day. The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported. It can be readded when GLES 2.0 support comes back. Fixes #13004.
* change matrix and enable caching for Android, iOS and macOS (cross-compile)Rhody Lugo2017-11-131-5/+16
|
* SCons: make use_lto a global option and opt-in for iphoneRémi Verschelde2017-11-021-2/+6
| | | | Supersedes #12553, see discussion in #12552.
* Merged iphone and osx audio drivers into drivers/coreaudioMarcelo Fernandez2017-09-301-1/+1
|
* Use BoolVariable in platform-specific options.Elliott Sales de Andrade2017-09-251-11/+11
|
* Use BoolVariable for module options.Elliott Sales de Andrade2017-09-251-1/+1
|
* Use BoolVariable in target/component/advanced options.Elliott Sales de Andrade2017-09-251-1/+1
|
* Make build scripts Python3 compatibleMatthias Hoelzl2017-08-271-4/+4
| | | | | | | | - The Windows, UWP, Android (on Windows) and Linux builds are tested with Scons 3.0 alpha using Python 3. - OSX and iOS should hopefully work but are not tested since I don't have a Mac. - Builds using SCons 2.5 and Python 2 should not be impacted.
* Buildsystem: Improve detect.py readability and fix issuesRémi Verschelde2017-07-011-105/+75
| | | | | | | | | | | | | | | | | | | Tried to organize the configure(env) calls in sections, using the same order for all platforms whenever possible. Apart from cosmetic changes, the following issues were fixed: - Android: cleanup linkage, remove GLESv1_CM and GLESv2 - iPhone: Remove obsolete "ios_gles22_override" option - OSX: * Fix bits detection (default to 64) and remove obsolete "force_64_bits" option (closes #9449) * Make "fat" bits argument explicit - Server: sync with X11 - Windows: clean up old DirectX 9 stuff - X11: * Do not require system OpenSSL for building (closes #9443) * Fix typo'ed use_leak_sanitizer option * Fix .llvm suffix overriding custom extra_suffix
* Improve/harmonize mobile buildsPedro J. Estébanez2017-05-271-17/+14
|
* Allow custom CCFLAGS for iPhone buildsPedro J. Estébanez2017-05-271-4/+4
| | | | plus disable exceptions by default
* Make arm64 the default option and set minimum to iOS 9BastiaanOlij2017-05-231-8/+9
|